Servlet
Servlet
是运行在Web服务器中的小型Java
程序。Servlet
通过HTTP(超文本传输协议)
接收和响应来自Web客户端的请求。
一、实现Servlet接口
实现接口,此接口定义了初始化
Servlet
的方法、为请求提供服务的方法和从服务器移除Servlet
的方法。
1. 生命周期方法
- 构造
Servlet
,然后使用init
方法将其初始化
public void init(ServletConfig servletConfig) throws ServletException { }
- 处理来自客户端对service方法的所有调用
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("hello servlet");
}
- 从服务中取出
Servlet
,然后使用destroy
方法销毁它,最后进行垃圾回收并终止它
public void destroy() { }
二、具体实现如下
1. 实现Servlet接口
package com.text.servletTest;
import javax.servlet.*;
import java.io.IOException;
// 实现相应的接口
public class ServletDemo1 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
// 由Servlet容器调用,以允许Servlet响应某个请求
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("hello servlet");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
2. Web.xml配置
<!--创建一个Servlet实例-->
<servlet>
<servlet-name>servletDemo1</servlet-name>
<servlet-class>com.text.servletTest.ServletDemo1</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<!--给Servlet提供(映射)一个可供客户端访问的URI-->
<servlet-mapping>
<servlet-name>servletDemo1</servlet-name>
<!--
http://localhost:8080/myApp/
-->
<url-pattern>/demo1</url-pattern>
</servlet-mapping>
三、Servlet通过继承GenericServlet实现抽象方法
import javax.servlet.GenericServlet;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import java.io.IOException;
public class ServletDemoTwo extends GenericServlet {
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
}
四、通过继承HttpServlet方法进行相应处理
public class ServletHttpDemoTwo extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
System.out.println("servlet isDo Get");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
System.out.println("servlet isDo Post");
}
}