早期的服务器(服务器本质是一个软件,和浏览器是属于同级的)只能处理静态资源的请求,如果想要我们的浏览器的内容是动态生成的,比如股票网站,资讯网站,视频网站等等,在java中就需要运行一个叫servlet的组件(组件:满足规范的对象),servlet的定义是sun公司为了web服务器扩展功能的组件规范,而servlet组件想要运行在服务器上,就得需要一个容器来承载servlet。常见的servlet容器有TomCat。TomCat是Apache公司开发的开源软件,其实也是一个服务器,但是开发中我们有更加专业的服务器,比如apache, iis, nginx等,所以我们一般只用TomCat来做容器。
既然servlet是sun公司制定的规范,我们在写servlet时,需要满足以下条件:
1写一个java类,继承HttpServlet重写service方法,或者实现servlet接口
2编译,把第一步的java对象转成字节码文件,开发工具软件可以直接帮我们编译,或者调用javac。
3打包,创建具有如下结构的文件夹:
appname--------
WEB.INF-----------
字节码文件(.class对象)
lib
web.xml(该文件描述servlet)
4将上面文件夹拷贝到Servlet容器指定的位置,也可以将文件夹打包成war后缀的压缩包再拷贝
启动容器,访问http://ip:port/appname/url-pattern
在eclipse中开发一个servlet可按照下列步骤:
1创建一个maven工程,注:打包方式选择war!!!
2工程建完之后,要做两个工作:
a添加web.xml.右键Deployment Descriptor:serclet.选择generate DD stub
B指定server.右键项目名,选properties,选Targeted Runtimes,选Apache TomCat
3添加Servlet类
A继承HttpServlet
B重写service方法.我们就是根据方法里面的request和response参数进行业务逻辑
4在web.xml中,添加servlet的配置信息
- <servlet>和<servlet-mapping>里的<servlet-name>要一致
- <servlet-class>里面必须要写完整的类名,因为是通过反射机制来加载类的
- <url-pattern>必须以右斜杠”/”开头
5运行
6在浏览器地址栏输入http://ip:port/url-pattern给服务器发送请求
下图是servlet运行的流程