servlet

来源:互联网 发布:bad air sponge 知乎 编辑:程序博客网 时间:2024/06/05 13:48

servlet简介

1、java servlet 是和平台无关的服务器端组件,它运行在servlet容器中。servlet容器负责servlet和客户
的通信以及调用servlet的方法,servlet和客户的通信采用请求/响应的模式
将servlet放进servlet容器中,运行.
创建servlet,掌管servlet的生命周期


2、servlet可完成如下功能:
-创建并返回基于客户请求的动态html页面
-创建可嵌入到先用html页面中的部分页面(html片段)
-与其他服务器资源(如数据库或基于java的应用程序)进行通讯。



servlet 是运行在服务器端的java组件。因此需要在web.xml中配置这个servlet。

http://localhost:9092/day_29/hello     通过这个浏览器就可以访问一个java类。看上去是不可思议的。因此需要在web.xml中配置和映射。


Tomcat服务器就是servlet容器:

1).对于以前是我们的类我们自己创建类,创建实例,调用方法。现在是servlet容器做这些事情。在关闭Tomcat服务器的时候,调用         destroy方法。调用servlet的使命周期的方法。

2).JSP,Filter,Listener,Tag...运行在容器中,容器调用一些方法。

3)Servlet.生命周期的方法:以下方法用servlet容器调用。

1、void destroy():

只被调用,在当前servlet所在的WEB应用被卸载前调用,用于释放当前servlet所占用的资源。/2ServletConfig getServletConfig() :

2、String getServletInfo() :

3、void init(ServletConfig arg0) :

只调用一次,在创建好实例后立即被调用,用于初始化当前的Servlet。

4、void service(ServletRequest arg0, ServletResponse arg1):

被多次调用,每次请求都会调用service方法。实际用于相应请求的。

5、HelloServlet():

构造器:只有第一次请求Servlet时,创建Servlet的实例,调用构造方法。这说明servlet是单实例的。

<!-- 可以指定Servlet被创建的时机 -->
<load-on-startup>1</load-on-startup>


论证的方法:创建两个servlet,同时启动Tomcat服务器。

结论是:值越小,越先被创建。若为负值时,则在第一次请求(就是刷新http://localhost:9092/day_29/hello才被创建,当启动服务器的时候是不会被创建的)时被创建。若为0或正数,则在当前的WEB应用被servlet容器加载(启动Tomcat服务器)时创建实例,其数值越小越早被创建。
   


项目必须在服务器上跑起来。


servlet映射的细节:

1、同一个servlet可以被映射到多个URL上,即多个<srvlert-mapping>

http://localhost:9092/day_29/hello2

http://localhost:9092/day_29/hello

2、<url-pattern>*.html</url-pattern> 只要是html为后缀的都能响应请求。


执行的过程:第一次执行:

HelloServlet的构造器
init
service

之后执行:
service
service
service
service
service
service
service
service
九月 29, 2015 1:10:34 下午 org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-1234
九月 29, 2015 1:10:35 下午 org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina

关掉tomcat服务器
destory...

九月 29, 2015 1:10:35 下午 org.apache.catalina.core.ApplicationContext log
INFO: Destroying Spring FrameworkServlet 'springDispatcherServlet'
九月 29, 2015 1:10:36 下午 org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing WebApplicat




0 0
原创粉丝点击