简介
Request
Request继承体系
Request获取请求数据
请求行
首先启动项目
然后在浏览器里输入如下
然后会发现后台已获取数据
此时我们能发现这些数据和上面写的方法一一对应,而后我们就可以对
问号后的username
与password
等数据进行字符串切割,得到相应的数据了
请求头
请求体
当需要传输的数据为字符(如用户名密码文字文本)时,使用 BufferedReader getReader()
获取字符输入流
当需要传输的数据为字节(如表格文件图片)时,使用ServletInputStream getInputStream()
获取字节输入流
首先,在webapp里写个表单,到时后访问一下它
然后重启下后台,在浏览器里访问这个文件名字
然后随便提交一点东西
这些数据就提交到req4这个servlet里去了
因为在表单里的action就是设置为req4
然后回到req4的servlet,我们设置了对提交参数的解析
然后能发现控制台上输出了刚刚的信息
Request使用通用方式获取请求参数
使用Map集合将获取到的参数一对一对地装到里面
由于许多表单由单选与多选,因此值有可能是好几个,因此
为Map<String,String[]>
因此可以使用
Map<Sting,String[]> getParameterMap()
来获取所有参数集合
String[] getParameterValues(String name)
根据名称获取参数值(数组)
String getParameter(String name)
根据名称获取参数值(单个值)
将html页面设为req2的servlet来接收
req2下面编写处理提交的参数的句子
结果如图
IDEA创建Servlet模板
然后就自动覆写好了
然后用通用方式,doPost直接调用doGet方法,就不用自己手写了
在doPost里面加入this.doGet(request,response);
Request请求转发
指浏览器请求资源A,资源A处理了一部分,然后给资源B处理,资源B处理完再转发给浏览器,从而实现浏览器内部跳转
代码req.getRequestDispatcher("资源B路径").forward(req,resp)
这句话写在资源A里头
所以我们去访问一下demo5,按理来说控制台会出现deom5和demo6
感谢黑马!