1.HttpServletRequest对象: 主要作用是用来接收客户端发送过来的请求信息,例如: 请求的参数,发送的头信息等都属于客户端发来的信息,service()方法中形参接收的是HttpServletRequest接口的实例化对象,表示该对象主要应用在HTTP协议上,该对象由Tomcat封装好传递过来。
2.HttpServletRequest是ServletRequest的子接口,ServletRequest只有一个子接口,不将两个接口合并的原因是,ServletRequest接口目前支持的是http协议,未来若想支持其他新的协议,该协议再继承ServletRequest接口就行了,面向接口编程,一个接口尽量完成一种功能,提高颗粒度,减少系统的冗余度。
3.接收请求常用的方法:
-getRequestURL(): 获取客户端发出请求时的完整URL
-getRequestURI(): 获取请求行中的资源名称部分(项目名称开始)
-getQueryString(): 获取请求行中的参数部分
-getMethod(): 获取客户端请求方式
-getProtocal(): 获取HTTP版本号
-getContextapp(): 获取webapp名字
-getParameter(name) : 获取指定名称的参数!!!
-getParametervalues(String): 获取指定名称参数的所有值
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* @author Vodka
* @date 2021/08//17:42
*/
//@WebServlet(name="web",urlPatterns={"/One","/Two"})
@WebServlet(urlPatterns = {
"/One","/Two"})
public class HSR extends HttpServlet {
@Override
public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
res.getWriter().write("恭喜你已连接!");
//获取请求时的完整路径,从http开始,到“?”前结束
StringBuffer url = req.getRequestURL() ;
System.out.println("请求时的完整路径:" + url);
//获取部分路径 (从项目的站点名开始,到“?”结束)
String uri = req.getRequestURI() ;
System.out.println("获取请求时的部分路径:" + uri);
//获取请求时的参数字符串(从?后面开始,直至最后)
String QueryContent = req.getQueryString() ;
System.out.println("获取请求信息携带的参数:" + QueryContent);
//获取请求方式(get和post)
String GM = req.getMethod() ;
System.out.println("获取请求方式:" + GM);
//获取当前协议版本
String Edition = req.getProtocol();
System.out.println("当前协议版本为:" + Edition);
//获取项目站点名(项目对外访问路径,即上下文路径)
String webapp = req.getContextPath();
System.out.println("项目站点名为:"+ webapp);
// -getParameter(name) : 获取指定名称的参数
String Age = req.getParameter("Age");
System.out.println("年龄是:" + Age +"岁");
// -getParametervalues(String): 获取指定名称参数的所有值