1.Servlet概述
- Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。Servlet是Java语言实现的一个接口。
2.Servlet实现步骤
-
创建Web项目,导入Servlet依赖坐标
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <scope>provided</scope> </dependency>
-
定义一个类实现Servlet接口,重写所有方法
public class ServletDemo implements Servlet { }
-
使用注解配置访问类的路径
//添加访问路径 @WebServlet("/demo") public class ServletDemo implements Servlet { }
-
启动Tomcat,在浏览器输入访问路径
http://localhost:端口号/demo
3.Servlet 方法
-
初始化方法,在Servlet被创建时执行,只执行一次
public void init(ServletConfig servletConfig) throws ServletException { }
-
提供服务方法
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { }
-
销毁方法
public void destroy() { }
-
获取ServletConfig对象
public ServletConfig getServletConfig() { }
-
获取Servlet信息
public String getServletInfo() { }
4.Request 获取请求数据
方法 | 说明 |
---|---|
String getMethod() | 获取请求方式 |
String getConTextPath() | 获取虚拟目录,项目访问路径 |
StringBuffer getRequestURL() | 获取URL |
String getRequestURI() | 获取URI |
String QueryString() | 获取请求参数 |
String getHeader(String name) | 根据请求头名称获取值 |
ServletInputStream getInputStream() | 获取字节输入流 |
BufferedReader getReader() | 获取字符输入流 |
5.Request获取请求参数
方法 | 说明 |
---|---|
Map<String,String[ ]> getParameterMap() | 获取所有参数集合 |
String[] getParameterValues(String name) | 根据名称获取参数值(数组) |
String getParameter(String name) | 根据名称获取参数值(某一个值) |
6.请求转发
方法 | 说明 |
---|---|
void setAttribute(String name,Object o) | 将数据存储到request域中 |
Object getAttribute(String name) | 根据键获取值 |
void removeAttribute(String name) | 根据键删除键值对 |
实现方式(“/request2”:另一个资源路径)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/request2").forward(request,response);
}