package TestHttpServletRequest;
import java.io.IOException;
import java.io.PrintWriter;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
@WebServlet(name = "RequestLineServlet", urlPatterns = "/RequestLineServlet")
public class RequestLineServlet extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
// 用于获取HTTP请求消息中的请求方式(例Get,Post)
out.println("getMethod:" + request.getMethod() + "
");
// 用于获取请求行中资源名称部分,即位于URL的主机和端口之后、参数部分之前的数据
out.println("getRequestURI:" + request.getRequestURI() + "
");
// 用于获取请求行中的参数部分,也就是资源路径后面(?)以后的所以内容
out.println("getQueryString:" + request.getQueryString() + "
");
// 用于获取请求行中的协议名和版本,(例HTTP/1.0,HTTP/1.1)
out.println("getProtocol:" + request.getProtocol() + "
");
// 用于获取请求URL中属于Web应用程序的路径
out.println("getContextPath:" + request.getContextPath() + "
");
//用于返回请求的实际URL相对于请求的serlvet的url的路径
out.println("getPathInfo:" + request.getPathInfo() + "
");
//用于返回servlet名字之后,查询之前的路径信息
out.println("getPathTranslated:" + request.getPathTranslated() + "
");
// 用于获取请求Servlet的名称或Servlet所映射的路径
out.println("getServletPath:" + request.getServletPath() + "
");
// 用于获取请求客户端的IP地址
out.println("getRemoteAddr:" + request.getRemoteAddr() + "
");
// 用于获取请求客户端的完整主机名,如果无法解析出客户机的完整主机名,将返回客户端的IP地址
out.println("getRemoteHost:" + request.getRemoteHost() + "
");
// 用于获取请求客户端网络连接的端口号
out.println("getRemotePort:" + request.getRemotePort() + "
");
// 用于获取Web服务器上接受当前请求网络连接的IP地址
out.println("getLocalAddr:" + request.getLocalAddr() + "
");
// 用于获取Web服务器上接收当前网络连接IP所对应的主机名
out.println("getLocalName:" + request.getLocalName() + "
");
// 用于获取Web服务器上接收当前网络连接的端口号
out.println("getLocalPort:" + request.getLocalPort() + "
");
// 用于获取当前请求所指的主机名,即HTTP请求中Host头字段所对应的主机部分
out.println("getServerName:" + request.getServerName() + "
");
// 用于获取当前请求所连接的服务器端口号,即HTTP请求中Host头字段所对应的端口号部分
out.println("getServerPort:" + request.getServerPort() + "
");
// 用于获取请求协议名(例HTTP,HTTPS,FTP)
out.println("getScheme:" + request.getScheme() + "
");
// 用于获取客户端发出请求时的完整URL,返回结果为StringBuffer类型
out.println("getRequestURL:" + request.getRequestURL() + "
");
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}