(7) HttpServletRequest
来源:互联网 发布:oracle数据库面试题 编辑:程序博客网 时间:2024/06/06 14:10
方法概述:
获取用户信息:
getResquestURL() 返回客户端发出请求的完整URLgetResquestURI() 返回客户端发出请求的资源名部分getQueryString() 获取请求头以GET方式提交的所有传递的参数和值getRemoteAddr() 获取请求方的 IPgetRemoteHost() 获取请求方的主机名(如果客户DNS没注册则返回 IP)
获取HTTP信息:
getHead(消息头) 获取HTTP的某个消息头内容 getHeaderNames() 获取HTTP的所有消息头,返回的是枚举 用 while(has) 方式遍历
获取表单内容:
getParameter()getParameterValues()
转发:
转发是在服务器端完成的,所以我们使用的是同一个 response 和 request,request.getRequestDispatcher(“/servlet”) 不用写应用名
注意:
1. forward 不可以请求该 web 应用外的资源
2. forward 是发生在 web 服务器的,所以使用的是同一个 response request
3. 使用 sendRedirect 方法不能通过 request.setAttr 把属性传给下个Servlet
因为,重定向后,request 对象是不同的
简言之:
一个 web 资源收到客户端请求后,通知服务器去调用另外一个web资源进行处理,称之为请求转发
一个web资源收到客户端请求后,通知浏览器去访问另一个web资源,称之为请求重定向
sendRedirect 和 forward 区别 ?
1. 叫法不同,第一个是 重定向、第二个是 转发
2. 实际发生的位置不一样
sendRedirect 发生在 浏览器客户端
forward 发生在 web 服务器
3. 用法不一样
request.getRequestDispatcher(“/ WEB应用下的页面”).forward( )
response.sendRedirect(“/ 指明 WEB应用 / 页面”);
4. 能够去的范围不一样
forward 方法只能转发给同一个 web 站点的资源,而 sendRedirect 方法还可以定位到同一个 web 站点的其他应用
5. 转发发生在服务器,是不会影响到浏览器上面的地址栏的。
重定向发生在客户端,浏览器的地址栏会发生改变
6. forward 方法在运行时 request 和 response 是相同的
sendRedirect 方法在运行时 request 和 response 是不同的
待补充.....
- (7) HttpServletRequest
- HttpServletRequest
- Httpservletrequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- httpservletrequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- HttpServletRequest
- poj2229
- hdu5339Untitled 暴搜
- android开发规范
- zoj1004 Anagrams by Stack
- Android 开发之 ---- bootloader (LK)
- (7) HttpServletRequest
- web应用的MVC模型中使用bean的注意事项
- 最小二乘法(自我理解+自我熟悉)(2)
- OPENCV笔记(三)截取部分区域显示
- Android中Activity四种启动模式和taskAffinity属性详解
- Codeforces 551 D. GukiZ and Binary Operations
- [web安全] 其他小众类型输入攻击
- 归并排序 java语言实现
- 拓扑排序简单题