1. Servlet就是实现了javax.servlet包下servlet接口的程序,本质是一个java对象,这个对象拥有一系列方法来处理http请求。

2. servlet接口有下面几个方法,

public void init (ServletConfig config) throws ServletException

public void service(ServletRequest req,ServletRespone res) throws ServletException,java.io.IOException

public void destroy()

public ServletConfig getServletConfig()

public java.lang.String getServletinfo()

3. javax.servlet包中有一个抽象类GenericServlet实现了Servlet接口,javax.servlet.http包中抽象类HttpServlet继承了GenericServlet类,并实现了service方法。

4. Servlet执行就是容器如tomcat通过web.xml的配置反射出servlet对象后回调其service方法。

通常,我们自己写的Servlet类只需要继承HttpServlet类,重载DoGet,DoPost方法即可。

5. servlet运行过程:

  • web服务器接收到客户端的servlet请求后,首先检查是否已经装载该servlet的实例,如果没有,则创建该servlet的实例对象并装载。
  • 调用实例的init()方法。
  • 创建一个用于封装http请求的HttpServletRequest对象和用于封装http响应的HttpServletResponse对象,调用service方法,将请求和响应对象作为参数传递进去。
  • service方法体内根据不同请求调用DoGet、DoPost、doHead()、doPut()、doTrace()、doDelete()、doOptions()方法。
  • Servlet 只初始化一次(只有一个对象),当 Server 不再需要 Servlet 时(一般当 Server 关闭时),Server 调用 Servlet 的 destroy() 方法,卸载Servlet。

6. servlet配置中的load-on-startup,当load-on-startup 等于或大于0 的时候初始化时 就开始加载servlet 了!小于0 或不设置时才是第一次请求时加载。

优质内容筛选与推荐>>
1、C++关键字——register
2、UVA 3027 Corporative Network 带权并查集、
3、为什么输入法只能在浏览器上切换,不能在其他应用切换?
4、基于struts2的登录验证
5、TPL自定义模版如可处理if语句内变量不存在报错问题!


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号