Servlet介绍
Servlet是JavaWeb的三大组件之一,它属于动态资源。Servlet的作用是处理请求,服务器会把接收到的请求交给Servlet来处理,在Servlet中通常需
接收请求数据;
处理请求;
完成响应。
servlet 生命周期方法
void init(ServletConfig):出生之后(1次);
void service(ServletRequest request, ServletResponse response):每次处理请求时都会被调用;
void destroy():临死之前(1次);
实现Servlet的方式
实现javax.servlet.Servlet接口;
继承javax.servlet.GenericServlet类;
继承javax.servlet.http.HttpServlet类;
通常我们会去继承HttpServlet类来完成我们的Servlet
Servlet 一个标准
GenericServlet 是Servlet接口子类
HttpServlet 是GenericServlet子类,一个专门处理Http请求的Servlet
HttpServlet类
两个Service方法
* 父类service 调用子类service 使用子类service方法就可以
* 子类中service 根据请求方式不同 调用不同的方法
只需要重写doGet和doPost就行.
写一个Servlet 继承HttpServlet 重写doGet和doPost 方法.
Servlet中的方法大多数不由我们来调用,而是由Tomcat来调用。并且Servlet的对象也不由我们来创建,由Tomcat来创建!
复制Javapublic interface Servlet {
public void init(ServletConfig
public ServletConfig getServletCconfig) throws ServletException;onfig();
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException;
public String getServletInfo();
public void destroy();
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
创建HelloServlet应用
使用Servlet接口
复制Javapublic class HelloServlet implements Servlet {
public void init(ServletConfig config) throws ServletException {}
public ServletConfig getServletConfig() {return null;}
public void destroy() {}
public String getServletInfo() {return null;}
public void service(ServletRequest req, ServletResponse res)
throws ServletException, IOException {
System.out.println("Hello Servlet!");
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
或者
使用 HttpServlet类
复制Javapublic class HelloServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("Hello Servlet HttpServlet!");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
其中web.xml一样的配置
把访问路径与一个Servlet绑定到一起。下面配置是把访问路径:“/hello”与“HelloServlet”绑定到一起。
web.xml
复制XML<servlet>
<servlet-name>helloServlet</servlet-name>
<servlet-class>com.lx.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8