Request内置对象

Request 内置对象

概述:
  所谓的内置对象就是已经创建好的对象(容器创建的), 我们可以直接使用的对象
  容器中如果收到一个用户的请求则会自动创建一个对象来处理客户端发送的一些信息,
  这个对象就是内置对象, 该对象的类型是"javax.servlet.http.HttpServletRequest",
  名称就是request, 在调用 service 方法的时候容器会自动传递该对象给方法.

可以使用对应的方法将这些信息获取:
  Cookie[ ] getcCookies( );
    获取客户端传递的 cookie 信息
  String getHeader(String var1);
    获取请求头信息,根据请求头名称获取对应的值
  Enumeration<String> getHeaderNames( );
    按照枚举的方式获取所有的请求头信息
  String getMethod( );
    获取请求的方式
  String getPathInfo( );
    获取额外路径
  String getContextPath( );
    获取当前项目的根路径
  String getQueryString( );
    获取 url 地址 ?后面的内容 (参数)
  String getRequestURI( );
    获取 uri 地址
  String getRequestURL( );
    获取 url 地址
  String getServletPath( );
    获取 Servlet 的 映射路径 (就是在web.xml 文件中配置的映射路径
  HttpSession getSession( );
    获取 session 内置对象
  String getHeader( );
    获取发送请求的页面对应的浏览器地址栏信息, 可以使用这种方式实现防盗链等操作
ex:

 1 @SuppressWarnings("serial")
 2 public class EmpServlet extends HttpServlet {
 3     @Override
 4     protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 5         //获取请求头信息,根据请求头名称获取对应的值
 6         System.out.println("浏览器信息: " + req.getHeader("User-Agent"));
 7         //获取额外路径
 8         System.out.println("额外路径: " + req.getPathInfo());
 9         //获取当前项目的根路径
10         System.out.println("请求的上下文路径: " + req.getContextPath());
11         //获取 url 地址 ?后面的内容 (参数)
12         System.out.println("传递的参数: " + req.getQueryString());
13         //获取 URI 的地址
14         System.out.println("URI 地址是: " + req.getRequestURI());
15         //获取 URL 的地址
16         System.out.println("URL 地址是: " + req.getRequestURL());
17         //获取 Servlet 的 映射路径 (就是在web.xml 文件中配置的映射路径
18         System.out.println("servlet 的映射路径: " + req.getServletPath());
19         //获取项目部署的真实路径
20         System.out.println("项目部署的真实路径: " + req.getRealPath("/"));
21         //获取主机名称
22         System.out.println("主机名称: " + req.getRemoteHost());
23     }
24 }

猜你喜欢

转载自www.cnblogs.com/yslf/p/10745392.html