细说Servlet之 详解HttpServletRequest对象
来源:互联网 发布:怎么创建数据透视表 编辑:程序博客网 时间:2024/04/28 07:42
HttpServletRequest对象代表客户端的请求,当客户端通过http协议访问服务器时,http请求头中的所有信息都封装在这个对象中,可以通过HttpServletRequest的方法获得信息。
获得客户机信息常用方法
补充:服务器端口号不变,而客户机的端口号随机,过了长连接的30秒后随机产生。
HttpServletRequest常用方法:
1.获得客户机请求头:
getHeader() 通过消息头获取信息
getHeaders()
getHeaderNames() 返回所有消息头的名字,返回Enumeration<String>
2.获得客户机请求参数:
getParameter() 根据名字获取值
getParameterValues() 得到根据名字返回多个值,返回String数组,常用于复选框
getParameterNames() 得到所有请求参数的名字
3.请求转发:指一个web资源受到客户端请求后,通知服务器去调用另一个web资源进行处理。
request对象同时也是一个域对象,开发人员通过request对象带给其它web资源处理。
forward(request,response)详解:把request和response对象传递给下一个Servlet,因为两个Servlet用的是同一个 请求和响应对象,所以能共享数据。
setAttribute()存放一个属性到请求对象里,request的attribute在一次http请求中有效,只要没回到浏览 器就算一次请求。
注意:
1.转向是在web服务器发生的,使用forward()不能转发到该web应用外的url。
2.因为forward()是发生在web服务器,所以两个Servlet使用同一个request和response对象。
3.使用sendRedirect()方法不能通过setAttribute()把属性传递给下一个Servlet,因为重定向后就不在一次请求中。
面试题:
sendRedirect()和forward()的区别是什么?
答:1.实际发生的位置不一样。
sendRedirect()发生在浏览器
forward()发生在web服务器
2.用法不一样
request.getRequestDispatcher("/资源url").forward(request,response)
response.sendRedirect("/web应用/资源url") 需要加上应用名,因为是在浏览器端进行定位
3.能够去的url范围不一样
sendRedirect()能够去任何url
forward()只能去当web应用的资源
什么是一次http请求?
答:只要没有停止,也没有回到浏览器重定向,就算走了100个Servlet,只要没有回到浏览器(重定向会回到浏览器再次请求),就还算一次http请求。
http请求时序图
- 细说Servlet之 详解HttpServletRequest对象
- 细说Servlet之 详解HttpServletRequest对象
- Servlet——HttpServletRequest对象详解
- Servlet——HttpServletRequest对象详解
- Servlet——HttpServletRequest对象详解
- servlet-------HttpServletRequest对象
- servlet中的HttpServletRequest对象
- 【复习】servlet之HttpServletRequest
- HttpServletRequest,对象,的详解
- httpservletrequest 对象详解
- HttpServletRequest对象的详解
- HttpServletRequest对象详解
- JavaWeb之HttpServletRequest对象
- 温故知新--Servlet(五)--HttpServletRequest对象
- servlet学习六--HttpServletRequest对象学习
- Servlet学习笔记(HttpServletRequest对象)
- Servlet总结(4)--HttpServletRequest对象
- JavaWeb学习心得之HttpServletRequest对象
- SVN服务器搭建和使用(一)
- 写给自己的话
- 让你对sizeof()另眼想看
- SVN服务器搭建和使用(三)
- hdu2048 全错位排序问题
- 细说Servlet之 详解HttpServletRequest对象
- Java连接数据库示例
- 全面理解面向对象的 JavaScript
- eval函数就是JavaScript用来解释JSON字符串的,把字符串转化为对象、数组、函数或者其它。
- Hyperfill 3.0发布
- 以后看的文章
- poj1300
- hdu2639
- C#高级编程读书笔记 - 第三章对象和类型