HttpServletRequest是一个接口,全限定名称:jakarta.servlet.http.HttpServletRequest
HttpServletRequest接口是Servlet规范中的一员。
HttpServletRequest接口的父接口:ServletRequest
Tomcat服务器(WEB服务器、WEB容器)实现了HttpServletRequest接口。
实际上用户发送请求的时候,遵循了HTTP协议,发送的是HTTP的请求协议,Tomcat服务器将HTTP协议中的信息以及数据全部解析出来,Tomcat服务器把这些信息封装到HttpServletRequest对象当中,传给了我们javaweb程序员。
现在模拟前端输入注册信息,后端进行获取解析html代码如下:
requestServlet
Java类编写:
package cn.edu.uestc.javaweb;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import java.util.Set;
public class RequestServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//super.doPost(req, resp);
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
//1、测试request接口中的getParameterMap()
Map parameterMap = req.getParameterMap();
Set keySet = parameterMap.keySet();
//也可以用迭代器,foreach最经常用于set集合与数组
for (String data : keySet){
String[] value = parameterMap.get(data);
System.out.println(data + "=" + value);
}
System.out.println("-------------------");
for (String data : keySet){
String[] values = parameterMap.get(data);
System.out.print(data + "=");
//遍历数组
StringBuilder v = new StringBuilder();
v.append("[");
for (int i = 0; i < values.length; i++){
v.append(values[i]);
if (i < values.length - 1){
v.append(",");
}
}
v.append("]");
System.out.println(v);
}
}
}
xml文件的配置:
request cn.edu.uestc.javaweb.RequestServlet request /request



