AServlet
Servlet是JavaWeb的组件之一,它属于动态资源。Servlet的作用是处理请求。
服务器会把接收到的数据交给Servlet来处理,所以在Servlet中需要:
- 接收数据请求
- 处理请求
- 完成响应
Servlet需要我们自己编写,但是在编写时需要实现javax.servlet.Servlet接口,实现Servlet有三种方式: - 实现javax.servlet.Servlet接口
- 继承javax.servlet.GenericServlet类
- 继承javax.servlet.http.HTTPServlet类
Servlet接口
Servlet接口中有五个方法,其中三个方法是生命周期方法。它们的具体信息如下:
- init
这个方法的完整写法是init(ServletConfig servletConfig)。这个方法只会被调用一次,是当Servlet被创建时调用。方法的参数ServletConfig对象是服务器servlet配置的对象,对应了web.xml文件中元素。 - service
这个方法的完整写法service(ServletRequest request,ServletResponse response),这个方法会在响应请求时被调用,每次处理请求都会调用一次service()方法。 - destroy
这个方法时在Servlet对象快被销毁时调用,这个方法也只会被调用一次。 - getServletConfig
这个方法是用于获取配置信息、无参,返回一个ServletConfig对象 - getServletInfo
这个方法如名所示,具体为String getServletInfo()。
GenericServlet类
它是Servlet接口的实现类,添加了成员变量ServletConfig config;用于保存init(ServletConfig config)方法中的参数。也就是说在这个方法中完成类config变量的赋值。故为了保证赋值的完成,它提供了一个无参的init方法。
同时,GenericServlet还实现了ServletConfig接口,,可以直接调用getInitParameter()、getServletContext()、等servletConfig的方法。
HTTPServlet类
这个类是GenericeServlet类的子类,它提供了对HTTP请求的特殊支持。
HTTPServlet类的方法service(HttpServletRequest request,HttpServletResponse response)是自己的方法,该方法的参数是由service方法的参数强转来的。但是我们在使用时也不用去重写这个方法,我们只需要去重写doGet或者doPost方法就可以。如果浏览器使用了你为重写的方法发送请求,则会返回405。
web.xml配置
这个文件是指项目目录下的web文件,具体位置是Pname/WEB——INF/web.xml.每个servlet类都需要在web.xml中配置一个servlet和servlet-mapping。格式如下:
1 | <servlet> |