什么是Servlet
- Servlet是Java接口之一
- Servlet是Javaweb三大组件之一
- Servlet是运行在服务器上的一个java小程序;它接受客户端发送过来的请求,并响应数据返回给客户端
如何实现Servlet程序?
方式一:手动实现Servlet程序
步骤:
- 编写一个类去实现Servlet接口
- 实现service方法,处理请求,并响应数据
- 在web.xml中配置Servlet程序的访问地址
import javax.servlet.*;
import java.io.IOException;
public class Servlet01 implements Servlet {//1.实现Servlet接口
//重写方法
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
//2.实现service方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
//3.在web.xml中配置Servlet程序的访问地址
//servlet标签给tomcat配置servlet程序
<servlet>
//servlet-name:给servlet程序起别名,但一般是类名
<servlet-name>Servlet1</servlet-name>
//servlet-class:给servlet程序的全类名
<servlet-class>Servlet.Servlet01</servlet-class>
</servlet>
//servlet-mapping:给servlet程序配置访问地址
<servlet-mapping>
//servlet-name:告诉服务器,当前配置的地址给哪一个servlet程序使用
<servlet-name>Servlet1</servlet-name>
//url-pattern:配置访问地址
/*
/Setvlet01中 / 斜杠表示在服务器解析时,地址为http://ip:port/工程路径
/Servlet01 表示地址为http://ip:port/工程路径/Servlet01
*/
<url-pattern>/Servlet01</url-pattern>
</servlet-mapping>
方式二:继承HttpServlet实现Servlet程序
步骤:
- 创建一个类继承HttpServlet类
- 重写doGet和doPost方法
- 在web.xml中配置Servlet程序的访问地址
package Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class Servlet02 extends HttpServlet { //1.继承HttpServlet类
@Override //2.重写doGet方法
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
@Override //2.重写doPost方法
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
//3.在在web.xml中配置Servlet程序的访问地址
<servlet>
<servlet-name>Servlet02</servlet-name>
<servlet-class>Servlet.Servlet02</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet02</servlet-name>
<url-pattern>/Servlet02</url-pattern>
</servlet-mapping>