Jsp的内置对象之Reques
程序员文章站
2022-06-11 16:55:52
...
jsp内置对象
一、Request
Request对象封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的响应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。
常用方法:
getRequestURL方法返回客户端发出请求时的完整URL。
getRequestURI方法返回请求行中的资源名部分。
getQueryString方法返回请求行的参数部分。
getRemoteAddr方法返回发出请求的客户机的IP地址。
getRemoteHost方法返回发出请求的客户机的完整主机名。
getRemotePort方法返回客户机所使用的网络端口号。
getLocalAddr方法返回WEB服务器的IP地址。
getLocalName方法返回WEB服务器的主机名。
getMethod得到客户机请求方式。
getParameter(name)根据请求name获取值(重要)
getParameterValues(String name)方法 根据请求name获取多个值,如:多选框(重要)
getContentType() 获取上下文路径(重要)
部分代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// 获取上下文路径(重要)
out.print("上下文路径:" + request.getContentType() + "<br/>");
// 获取协议
out.print("协议: " + request.getProtocol() + "<br/>");
// 获取客户端ip
out.print("客户端ip: " + request.getRemoteAddr() + "<br/>");
// 客户端主机名
out.print("主机名:" + request.getRemoteHost() + "<br/>");
// 编码
out.print("编码:" + request.getCharacterEncoding() + "<br/>");
// 请求类型
out.print("请求类型:" + request.getMethod() + "<br/>");
// URL中的附加路径信息
out.print("URL中的附加信息 :" + request.getPathInfo() + "<br/>");
// 映射到服务器实际路径之后的路径信息
out.print("映射到服务器实际路径之后的路径信息:" + request.getPathTranslated() + "<br/>");
// 请求URL
out.print("请求URL" + request.getRequestURL() + "<br/>");
// 获取request头
out.print(request.getHeader("Host") + "<br/>");
out.print(request.getHeader("Referer") + "<br/>");
out.print(request.getHeader("Accept-Language") + "<br/>");
out.print(request.getHeader("Accept-Encoding") + "<br/>");
out.print(request.getHeader("User-Agent") + "<br/>");
out.print(request.getHeader("Connection") + "<br/>");
out.print(request.getHeader("Cookie") + "<br/>");
out.print(request.getScheme() + "<br/>");
}
补充:request的转发
request.getRequestDispatcher("跳转地址").forward(Request, Response);
用于将请求在服务器端重定向至另一个页面,它会保留request里面的参数、状态等,而且客户端并不知道请求被重定向。