在 Serlvet 中获取请求信息

1). Servlet 的 service() 方法用于应答请求: 因为每次请求都会调用 service() 方法

 

public void service(ServletRequest request, ServletResponse response)
   throws ServletException, IOException
   
ServletRequest: 封装了请求信息. 可以从中获取到任何的请求信息.
ServletResponse: 封装了响应信息, 如果想给用户什么响应, 具体可以使用该接口的方法实现.

 

这两个接口的实现类都是服务器给予实现的, 并在服务器调用 service 方法时传入.

 

2). ServletRequest: 封装了请求信息. 可以从中获取到任何的请求信息.

 

①. 获取请求参数:

 

 > String getParameter(String name): 根据请求参数的名字, 返回参数值.
 若请求参数有多个值(例如 checkbox), 该方法只能获取到第一个提交的值.

 

 > String[] getParameterValues(String name): 根据请求参数的名字, 返回请求参数对应的字符串数组.
 
 > Enumeration getParameterNames(): 返回参数名对应的 Enumeration 对象,
 类似于 ServletConfig(或 ServletContext) 的 getInitParameterNames() 方法.

 

 > Map getParameterMap(): 返回请求参数的键值对: key: 参数名,  value: 参数值, String 数组类型.

 

②. 获取请求的 URI:

 

 HttpServletRequest httpServletRequest = (HttpServletRequest) request;
  
 String requestURI = httpServletRequest.getRequestURI();
 System.out.println(requestURI);

 

③. 获取请求方式:

 

 String method = httpServletRequest.getMethod();
 System.out.println(method); 
 
④. 若是一个 GET 请求, 获取请求参数对应的那个字符串, 即 ? 后的那个字符串.

 

 String queryString = httpServletRequest.getQueryString();
 System.out.println(queryString);

 

⑤. 获取请求的 Serlvet 的映射路径
 
   String servletPath = httpServletRequest.getServletPath();
   System.out.println(servletPath);  
  
⑥. 和 attribute 相关的几个方法:    

 

3). HttpServletRequest: 是 SerlvetRequest 的子接口. 针对于 HTTP 请求所定义. 里边包含了大量获取 HTTP 请求相关的方法.
 
4). ServletResponse: 封装了响应信息, 如果想给用户什么响应, 具体可以使用该接口的方法实现.

 

①. *getWriter(): 返回 PrintWriter 对象. 调用该对象的 print() 方法, 将把 print() 中的参数直接打印
到客户的浏览器上.

 

②. 设置响应的内容类型: response.setContentType("application/msword");

 

③. void sendRedirect(String location): 请求的重定向. (此方法为 HttpServletResponse 中定义.)

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值