request

1.什么是request

在Servlet API中,定义了一个HttpServletRequest接口,它继承自ServletRequest接口,专门用来封装HTTP请求消息。由于HTTP请求消息分为请求行、请求头和请求体三部分,因此,在HttpServletRequest接口中定义了获取请求行、请求头和请求消息体的相关方法.

2.操作请求行和请求头

  1. 操作请求行(获得客户机信息)
    • getMethod(); 获得请求方式
    • getRemoteAddr(); 获得客户机的IP地址
    • getContextPath(); 获得项目的部署的路径
    • getRequestURI(); 获得URI(不带http,主机,端口)
    • getRequestURL(); 获得URL(带http,主机,端口)
  2. 操作请求头
    • getHeader(String name);
      • User-Agent: 浏览器信息
      • Referer:来自哪个网站(防盗链)

3.操作请求体

获取请求参数的方法

  1. getParameter(name),根据参数名获取一个参数值

  2. getParameterValues(name),根据参数名获取多个参数值

  3. getParameterMap(),获取所有的请求参数封装到map中

  4. 使用BeanUtils封装

    • 如果请求参数有多个需要封装到JavaBean里面, 建议先获得Map, 再使用BeanUtils封装到JavaBean对象

    注意: JavaBean属性需要和Map的key一致 说白了也就是JavaBean属性需要和表单的name一致

  5. 解决请求参数的中文乱码问题

    1. Tomcat8之后,使用get方式提交的请求参数不会发生中文乱码
    2. 解决post请求中的中文参数乱码问题:在获取请求参数之前添加一句代码:request.setCharacterEncoding(“UTF-8”)

4.请求转发

  • 请求转发的作用:跳转页面,比如说添加完数据之后跳转到数据的展示页面,删除完数据之后跳转到展示页面

  • 请求转发的代码

request.getRequestDispatcher("转发的路径").forward(request,response); 

请求转发的特征

  • 跳转操作是由服务器执行的,所以客户端地址栏不会发生变化
  • 跳转操作不会发起新的请求
  • 可以跳转到WEB-INF中的资源,但是不能跳转到其它项目的资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值