|
@@ -0,0 +1,76 @@
|
|
|
+package com.sf.tomcatdemo.req_resp;
|
|
|
+
|
|
|
+import jakarta.servlet.ServletException;
|
|
|
+import jakarta.servlet.annotation.WebServlet;
|
|
|
+import jakarta.servlet.http.HttpServlet;
|
|
|
+import jakarta.servlet.http.HttpServletRequest;
|
|
|
+import jakarta.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.util.Enumeration;
|
|
|
+
|
|
|
+// 参数可以有多个 使用&&进行拼接
|
|
|
+// http://localhost:8080/req-servlet?param=123&¶m1=1&¶m2=2
|
|
|
+@WebServlet(
|
|
|
+ name = "reqServlet",
|
|
|
+ value = "/req-servlet"
|
|
|
+)
|
|
|
+public class ReqServlet extends HttpServlet {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
+ System.out.println("ReqServlet service");
|
|
|
+ // 请求方式
|
|
|
+ String method = req.getMethod();
|
|
|
+ System.out.println("method: " + method);
|
|
|
+ // 请求资源
|
|
|
+ String requestURI = req.getRequestURI();
|
|
|
+ System.out.println("requestURI: " + requestURI);
|
|
|
+ // 应用上下文 应用名称
|
|
|
+ String contextPath = req.getContextPath();
|
|
|
+ System.out.println("contextPath: " + contextPath);
|
|
|
+
|
|
|
+ // 请求url
|
|
|
+ StringBuffer requestURL = req.getRequestURL();
|
|
|
+ System.out.println("requestURL: " + requestURL);
|
|
|
+
|
|
|
+ // 客户端发送请求的端口号
|
|
|
+ int serverPort = req.getServerPort();
|
|
|
+ System.out.println("serverPort: " + serverPort);
|
|
|
+
|
|
|
+ // 容器的端口号
|
|
|
+ int localPort = req.getLocalPort();
|
|
|
+ System.out.println("localPort: " + localPort);
|
|
|
+
|
|
|
+ // 请求协议
|
|
|
+ String scheme = req.getScheme();
|
|
|
+ System.out.println("scheme: " + scheme);
|
|
|
+
|
|
|
+ // 协议和版本号
|
|
|
+ String protocol = req.getProtocol();
|
|
|
+ System.out.println("protocol: " + protocol);
|
|
|
+
|
|
|
+ // 处理参数
|
|
|
+ // 查询字符串
|
|
|
+ // http://localhost:8080/req-servlet?param=123 这里指param=123
|
|
|
+ String queryString = req.getQueryString();
|
|
|
+ System.out.println("queryString: " + queryString);
|
|
|
+
|
|
|
+ // 获取单个的参数值
|
|
|
+ String value = req.getParameter("param");
|
|
|
+ System.out.println("param: " + value);
|
|
|
+
|
|
|
+ // http://localhost:8080/req-servlet?param=123&¶m1=1&¶m2=2
|
|
|
+ Enumeration<String> parameterNames = req.getParameterNames();
|
|
|
+ // 遍历枚举
|
|
|
+ while (parameterNames.hasMoreElements()) {
|
|
|
+ // 获取下一个元素
|
|
|
+ String parameterName = parameterNames.nextElement();
|
|
|
+ String parameterValue = req.getParameter(parameterName);
|
|
|
+ System.out.println(parameterName + ": " + parameterValue);
|
|
|
+ }
|
|
|
+
|
|
|
+// req.getParameterMap()
|
|
|
+
|
|
|
+ }
|
|
|
+}
|