一.Servlet

1)首先Servlet是单例的,构造方法,初始化方法,销毁方法只执行一次。每次访问都要执行service方法。

2)Servlet是一个接口,由tomcat容器负责管理。

3)几个重要的类或接口:GenericServlet,HttpServlet,Servlet,ServletConfig,ServletContext.

      3.1)ServletConfig接口主要用于获取web应用的相关配置信息,即web.xml文件中的内容。由容器负责传入其实例对象。

      3.2)  ServletContext代表着整个web应用,同时也是最大的域对象,可由servletConfig的getServletContext方法获取。它也能获取web.xml文件的配置信息,但与servletConfig的不同是,ServletContext获取的是全局的,ServletConfig获取的是局部的。

如下图。

JavaWeb学习总结—Servlet

      3.3)  GenericServlet实现了Servlet和ServletConfig接口,大部分方法只是空实现,其中最重要的一点是利用有参数的init方法把ServletConfig作为类的成员变量保存下来。这样就可以调用ServletConfig中的成员方法。在这里要注意,GenericServlet中自定义了无参数的init方法,这是为了防止开发人员想做一些初始化工作而覆盖掉了带参数的init方法,造成servletConfig实例对象没有被保存,最终造成空指针异常,所以想做初始化工作的话推荐覆盖掉无参数的init方法。这里附上其实现图:

JavaWeb学习总结—Servlet

JavaWeb学习总结—Servlet

        3.4)HttpServlet,最常用的Servlet的实现类,他直接继承GenericServlet,重写了GenericServlet没有实现的service方法。在service方法中,将ServletRequest和ServletResponse强转为功能更强大的HttpServletRequest和HttpServletResponse,并调用自己定义的私有service方法,根据request的getMethod方法的不同返回值调用不同的doXXX方法,从而细化了不同请求的解决方法。如下图:

JavaWeb学习总结—Servlet

JavaWeb学习总结—Servlet

4)Servlet的配置细节:url-pattern的三种写法:

JavaWeb学习总结—Servlet

JavaWeb学习总结—Servlet

JavaWeb学习总结—Servlet

JavaWeb学习总结—Servlet

5)HttpServletRequest的应用

JavaWeb学习总结—Servlet

JavaWeb学习总结—Servlet

6)ServletContext的应用

常用方法有getResourceAsStream,不但可以获取类路径下的资源,还可以获取WebContent路径下的资源。而使用类加载器只能加载类路径下的资源。还有一个方法是getRealPath能获取项目部署后真正在服务器上的路径。如下图:

JavaWeb学习总结—Servlet

目录结构如下:

JavaWeb学习总结—Servlet

7)HttpServletResponse的应用

        7.1)内容压缩

JavaWeb学习总结—Servlet

      7.2)页面跳转

JavaWeb学习总结—Servlet

     7.3)控制缓存

JavaWeb学习总结—Servlet

     7.4)转发与重定向

JavaWeb学习总结—Servlet

   7.5)设置以下载方式打开文件

JavaWeb学习总结—Servlet

 

相关文章:

  • 2021-10-10
  • 2021-11-30
  • 2021-12-09
  • 2021-09-30
  • 2021-08-07
  • 2021-10-26
  • 2021-11-04
  • 2021-12-15
猜你喜欢
  • 2018-03-15
  • 2021-12-31
  • 2021-12-31
  • 2021-08-02
  • 2021-10-25
  • 2021-11-07
  • 2021-12-03
  • 2021-10-25
相关资源
相似解决方案