Servlet学习总结,为理解SpringMVC底层做准备

Servlet 一句话概括 :处理web浏览器,其他HTTP客户端与服务器上数据库或其他应用交互的中间层

 

Servlet 生命周期 : 1.类加载,

         2.实例化并调用init()方法初始化该 Servlet,(只调用一次)

         3.service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有doHead()、doPut()、doTrace()、doDelete()、doOptions()、destroy())

         4.销毁

 

HelloWord 级别的使用:

首先配置web.xmi

<servlet>
    <servlet-name>HelloWorldDemo</servlet-name>
    <servlet-class>com.runoob.test.HelloWorld</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>HelloWorldDemo</servlet-name>
    <url-pattern>/helloWorld</url-pattern>
  </servlet-mapping>

 

运行过程:

    1.浏览器输入对应的地址 例:http://localhost:8080/helloWorld,此时servlet-mapping中的url-pattern会识别到对应的请求,然后根据servlet-mapping中的servlet-name去到<servlet>标签中找到同名的servlet-name(所以名称要一致),然后找到对应的servlet-class

    2.如果初次调用,先会调用Servlet中的init()方法,之后是Service,前后端相互交互

    3 当识别到容器长久不用时就会自动销毁

 

过滤器:

  Filter,在使用之前同样的要配置web.xml,规则与servlet类似

<filter>
   <filter-name>LogFilter</filter-name>
   <filter-class>com.runoob.test.LogFilter</filter-class>
   <init-param>
      <param-name>test-param</param-name>
      <param-value>Initialization Paramter</param-value>
   </init-param>
</filter>
<filter-mapping>
   <filter-name>LogFilter</filter-name>
   <url-pattern>/*</url-pattern>
</filter-mapping>

init-param 标签可以给init()方法赋值

其中需要掌握的方法是 doFilter,其余方法与servlet类似

public void doFilter (ServletRequest, ServletResponse, FilterChain)
该方法完成实际的过滤操作,当客户端请求方法与过滤器设置匹配的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain用户访问后续过滤器
 
posted @ 2018-07-12 11:08  我要变肥  阅读(951)  评论(0编辑  收藏  举报