必胜高考网 > 计算机类 > 计算机等级 > 资讯 >

2014年计算机二级《WEB》程序考点:ServletAPI

时间: 家辉2 资讯

  javax.servlet.GenericServlet实现了Servlet接口

  javax.servlet.http.HttpServlet继承自javax.servlet.GenericServlet类

  所以编写Servlet继承HttpServlet或GenericServlet即可。

  如何编写自定义的Servlet代码

  1、追加环境变量servlet-api.jar,编写自定义servlet继承HttpServlet,并重写doGet方法,生成class文件待用(访问控制符应该是public)

  2、在webapps目录下找到example中的WEB-INF,copy其中的web.xml

  3.在webapps目录下生成自己的文件夹,copyWEB-INF/web.xml

   如何部署Servlet(web.xml)、ServletUrl映射路径(注意*的使用)

  servlet

  !--servlet的名字,随便起个名,但和下面的servlet-name名一致--

  servlet-namemgc/servlet-name

  !--WEB-INF中文件路径--

  servlet-classAnyDirectory.ServletClassName/servlet-class

  !--或者可以用servletclass:jsp-file/WEB-INF/hello.jsp/jsp-file--

  /servlet

  servlet-mapping

  !--servlet的名字,随便起个名,但和上面的servlet-name名一致--

  servlet-namemgc/servlet-name

  !--访问映射路径--

  url-pattern/hello/url-pattern

  /servlet-mapping

  Servlet生命周期:

  类加载、实例化、初始化、服务、销毁

  service(HttpServletRequestrequest,HttpServletResponseresponse)方法的作用:

  根据不同的请求,进行分发工作(Http协议)

  init(ServletConfigconfig)与init()方法

  当容器(tomcat)帮忙调用init(ServletConfigconfig)并且给传过来一个参数config,这个方法把参数对象的引用指向类的成员变量this.config,并且调用类的this.init()方法。如果我们在写Servlet类时只要重写init(ServletConfigconfig)就可以了,但是init()不就成了多余的了吗?实际上init()方法是为了防止程序员在写Servlet类重写init(ServletConfigconfig)时忘记写super.init(ServletConfigconfig),这样就容易造成出现空指针异常。而这就要求我们最好不要重写init(ServletConfigconfig)。

  配置Servlet初始化参数:

  init-paramparam-nameparam-value

  ServletContext上下文是什么?和Servlet、ServletConfig的关系

  ServletContext:

  servletContext接口是Servlet中最大的一个接口,呈现了web应用的Servlet视图。ServletContext实例是通过getServletContext()方法获得的,由于HttpServlet继承Servlet的关系GenericServlet类和HttpServlet类同时具有该方法。

55893