Servlet总结

一、Servlet介绍
  Servlet是sun公司提供的一门用于开发动态web资源的技术。
  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:
  1、编写一个Java类,实现servlet接口。(实际开发中,继承HttpServlet,因为HttpServlet已经实现了GenericServlet,GennericServlet实现了Servlet接口)
  2、把开发好的Java类部署到web服务器中。
  按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet
  
二、Serlet开发中涉及的父类、接口和方法
继承关系:
 Servlet–>GenericServlet–>HttpServlet
 (HttpServlet继承GenericServlet,GenericServlet继承Servlet)
实际开发中涉及到的方法:
 实际开发中,Servlet继承HttpServlet来处理基于Http协议的请求。每个Servlet可以相应不同的客户端请求。
1、doGet():响应get
2、doPost():响应post
3、doPut():响应put
4、doDelete():响应delete

除了以上四个方法外这些方法外(这些方法),还需要注意的有init()方法、destroy()方法和service()方法,init()是第一次加载Servlet实例的时候执行的,destroy()方法是当销毁Servlet的时候执行的(什么时候会销毁?当Web容器被停止或重启的时候),Service()方法是客户端浏览器访问Servlet的时候执行的,Service()方法内部根据请求不同调用了doXXX()方法,编写继承HttpServlet的Servlet类时,不必理会Service()方法,只需要编写doXXX()方法即可。

三、web.xml配置Servlet注意的东西
 如何配置Servlet?在使用Eclipse开发是,右键New出的项目如果不是选Class而是选Servlet,Eclipse自动帮我们在web.xml配置好Servlet,如下:

   <servlet>
    <servlet-name>AServlet</servlet-name>
    <servlet-class>AServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AServlet</servlet-name>
    <url-pattern>/servlet/AServlet</url-pattern>
  </servlet-mapping>

注意两点:
(1)一个Servlet可以有多个映射地址
(2)注意通配符

四、Servlet生命周期及运行过程
当一个Servlet第一次被客户端浏览器访问时,它会被加载到Web容器,一直驻留在内存中,直到这个Web容器被停止,此时,Servlet也就结束了生命。它的init()方法和destroy()方法都是只执行一次

Servlet由Web容器调用:
浏览器向Web服务器发出一个请求,比如http://localhost:8080/aaa/AServlet
(1)TCP/IP连接到Web服务器
(2)发送http请求
(3)web服务器接收到请求,解析请求参数中的Web应用、解析请求参数中的Web资源
(4)若发现请求的Servlet是第一次访问,则加载Servlet类
(5)Web服务器调用Servlet的init()方法
(6)Web服务器封装请求为HttpServletRequest,封装响应为HttpServletResponse,调用Servlet的Service()方法的时候传递HttpServletRequest和HttpServletResponse过去
(7)Servlet接收到了HttpServletRequest和HttpServletResponse后,在Service方法对HttpServletRequest进行分析处理,对HttpServletResponse进行包装响应结果
(8)Servlet将相应结果响应给Web服务器
(9)Web服务器将相应结果响应给客户端浏览器

七、Servlet线程问题
待续…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值