javaweb-request



request 对象
              获取请求消息
1.获取请求行: GET     /MyServlet/index.jsp?name=zhangsan&age=23  HTTP/1.1

request.getMethod();//获取请求方式
request.getContextPath();//获取项目名称
request.getRequestURI();//获取URI
request.getRequestURL();//获取URL
request.getRemoteAddr();//获取IP地址
request.getQueryString();//获取请求参数
request.getProtocol();//获取协议版本
2.获取请求头:


request.getHeader("user-agent");//获取请求头的值
request.getDateHeader(name);//获取日期头
request.getIntHeader(name)//获取数字头
3.获取请求体: 请求体:专门用于封装Post请求的 请求参数


获取字符数据: getReader(); 返回一个高效的字符流 我们通过一次读取一行的 方法来获取请求参数数据  然后 拆分字符串获取我们想要的数据




获取字节数据:getInputStream(); 后期上传文件时讲解


4. 通用的方式来获取 请求参数
request.getParameter(name);  通过请求参数的名称来获取值
request.getParameterValues("hobby"); 通过请求参数的名称,来获取值的数组 一般用于复选框
request.getParameterMap();  获取所有参数的map集合
request.getParameterNames(); 获取所有参数的名称 枚举 不常用 了解




5. 处理中文乱码问题
               
//通用处理方式:处理get post 请求提交中文数据乱码问题
String username = request.getParameter("username");
byte[] bytes = username.getBytes("ISO-8859-1");//将字符串还原成字节 相当于解码
username=new String(bytes,"utf-8");//将字节重新编码

post 请求特有的方式 处理中文乱码
request.setCharacterEncoding("utf-8");
6.请求转发:
转发的特点:
1.一次请求一次响应
2.地址栏不发生变化
3.只能访问内部站点资源
代码:
request.getRequestDispatcher("/myservlet2").forward(request, response);


7.域对象: 请求域的范围中共享数据
在一次请求的多个资源之间共享数据
request.setAttribute("name","zhangsan");
request.getAttribute("name");
request.removeAttribute("name");
什么时候使用重定向?什么时候使用转发?
1.如果需要在请求的多个资源中共享数据,则使用转发
2.如一次性的数据存入请求域中


8.路径的书写: 
建议以/开头
服务器内部跳转路径 不需要加项目名称  request.getRequestDispatcher("/myservlet2").forward(request, response);


页面上的路径和重定向 需要加上 项目名称
<img src="/MyServlet/mydemo4" id="img1"></img>


一般来说我们写相对路径
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值