Servlet 是一个服务器端的组件,运行在Web容器中(例如Tomcat)。
Servlet 是一个 java 类,不过这个类遵守一定的规范,必须继承Servlet API 中指定的类。
大多数情况下,自定义的 Servlet 类都继承 javax.servlet.http.Http.HttpServlet 类,并覆盖其中的方法。
Serlvet 能够接受客户端请求,并通过响应生成动态页面,返回给客户端。
1. 编写 Servlet
编写一个简易的Servlet :
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/helloServlet")
public class helloServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public void init() {
System.out.println("初始化时第一次调用!");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<HTML>");
out.println(" <HEAD><TITLE>HelloServlet</TITLE></HEAD>");
out.println(" <BODY>");
out.println("你好!ACCP "+new Date());
out.println(" </BODY></HTML>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
public void destroy() {
System.out.println("销毁。。。。");
}
}
2. 配置 Servlet 信息
要运行 Servlet,必须在WEB-INF/web.xml 文件中对 Servlet 进行配置。
<web-app>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.wei.helloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
<servlet-name> 为了方便使用 Servlet ,取个别名。不能重复。
<servlet-class> 指定 Servlet 类的全名。
<url-pattern>的值 是访问一个Servlet的唯一路径,url-pattern的值必须以字符 / 开头。
3. 访问Servlet的三种方式
1. 在地址栏通过 url 直接访问:地址栏直接输入 servlet 的 url-pattern 访问 Servlet,
这种方法将调用 Servlet 的 doGet 方法;
2. 通过超级链接访问:通过 JSP 或 HTML 中的超级链接发出请求,可以将 href 值
直接指定为 servlet 的 url-pattern 来请求 Servlet,这种方法调用Servlet的doGet方法;
3. 通过表单提交访问:表单元素 from 的属性 method,
如果值为get,调用Servlet的doGet方法;如果值为post,调用servlet的doPost方法.
写于2021-1-3