1,什么是servlet:
sun公司提供的一个动态web资源开发技术,本质上是一段java小程序,可以将servlet添加到servlet容器中运行(servlet容器指的是能够运行servlet的环境,tomcat就是一个servlet容器)。
2,如何写一个servlet:
@1,写一个类实现sun公司定义的servlet接口。
@2,将写好的这个类配置到tomcat中。
3,它是由WEB服务器调用的,web服务器接受到客户端的servlet请求后:
(1):web服务器首先先判断是否已经创建或装载了该servlet对象,如果是执行第四步,否执行第二步。
(2):装载并创建一个servlet对象。
(3):调用init方法。
(4):创建一个用于封装http请求消息的httpservletrequst对象和用于封装http响应消息的httpservletrespond对象,然后调用servlet的servlet方法,并将请求和相应对象作为参数传进去。
(5):web程序在被重新启动或停止之前,servlet引擎将卸载servlet,并在卸载之前调用destroy方法。
4,servlet生命周期:
Servlet的生命周期:通常情况下,servlet第一次被访问的时候在内存中创建对象,在创建后立即调用init()方法进行初始化。对于每一次请求都调用service(req,resp)方法处理请求,此时会用Request对象封装请求信息,并用Response对象(最初是空的)代表响应消息,传入到service方法里供使用。当service方法处理完成后,返回服务器服务器根据Response中的信息组织称响应消息返回给浏览器。响应结束后servlet并不销毁,一直驻留在内存中等待下一次请求。直到服务器关闭或web应用被移除出虚拟主机,servlet对象销毁并在销毁前调用destroy()方法做一些善后的事情。
5,servlet继承结构:Genericservlet接口对servlet接口进行了默认实现,是一个抽象类,其中servlet接口大部分方法都进行了默认实现,只有servlet方法设置为抽象方法,需要对其进行实现。HttpServlet接口对http协议进行了优化了的servlet。它继承了Genericservlet,在通用Servlet的基础上基于HTTP协议进行了进一步的强化:实现了GenericServlet中的Service方法,判断当前的请求方式,调用对应到doXXX方法,这样一来我们开发Servlet的过程中只需继承HttpServlet ,覆盖具体要处理的doXXX方法就可以根据不同的请求方式实现不同的处理.一般不要覆盖父类中的Service方法只要覆盖doGet/doPost就可以了.
6,servlet访问:由于客户端需要通过url地址来访问web资源的,所以外界如果需要被外界访问,就要把servlet映射到一个url地址上,这个工作在web.xml中的<servlet>和<servlet-mapping>标签中完成。<servlet>元素包含两个子元素,<servlet-name>和<servlet-class>分别定义servlet注册名,servlet完整类名。<servlet-mapping>标签包括<servlet-name>和<url-parttern>,用于定义对外访问路径。
@1,<url-parttern>可以使用匹配符,以/开头以/结尾和.两种方式进行匹配。
由于号的引入,造成多个路径被一个url—parttern匹配,要记住一句话*.后缀永远匹配符最低。
@2,serlvet>可以配置<load-on-startup>可以用来指定启动顺序。
@3,缺省servlet,当在url—parttern中配置一个/时称这个servlet为缺省servlet,当其它servlet都不去处理的请求,由缺省servlet来处理。其实如果在servlet中存放了静态资源它的访问也是tomcat中web.xml的缺省servlet配置的。还有如404页面500等页面也是由缺省web应用来配置的。
servlet--动态web资源开发技术--简单入门
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 0 系列目录# WEB请求处理 WEB请求处理一:浏览器请求发起处理 WEB请求处理二:Nginx请求反向代理 本...