Servlet获得Http请求,GET/POST

 

Servlet获得Http请求
Http请求信息格式
请求行(方法提交方式,URI,Http协议版本)
GET方式提交:URI会包含查询字符串
POST方式提交:URI不会包含查询字符串




请求头
Host:IP地址:端口号
User-Agent:用户网页浏览器类型
Accept:请求提交的文件包含类型
Keep-Alive:保持连接时间
空行(空格)
消息体
POST提交方式特有,包含查询字符串
get与post的区别
提交数据类型
get:文本信息
post:文本信息,二进制文件
提交数据长度
get:不超过255个字符
post:无限制
提交数据可见性
get:作为URL地址的一部分,显示在浏览器地址栏
post:作为请求的消息体,不可见
提交数据缓存
get:缓存在浏览器URL历史状态中
post:不会被浏览器缓存
获得请求信息
请求头
getMethod():获得请求提交方法
getRequestURI():获得URI资源(仅端口号后面的部分内容,不包括协议名、主机名、端口号)
getRequestURL():获得URL资源
getQueryString():获得请求URL后面的查询字符串
getContextPath():获得请求URI资源上下文路径
getServletPath():获得Servlet的映射路径(如/ccb.do)
请求行
getHeader("参数"):获取请求行消息类型
User-Agent:浏览器版本
Host:访问IP地址
Keep-Alive:连接时间(生存时间)
消息体
getParameter(parameterName)获得表单参数的值
getParameterValues(parameterName)获得同名表单参数的值
文件上传
原理:将文件在表单中以二进制流方式装入提交信息传送至Web服务器
操作步骤
将表单传输方式设置为二进制流enctype="multipart/form-data"
HttpServletRequest对象调用getInputStream()获得请求输入流
Servlet解析流,通过HttpServletResponse的对象调用getOutputStream(),持久化为对应类型文件
请求转发
原理:客户端只发一次请求,服务器自动将新连接转接到用户想要的位置,最后断开连接
request.getRequestDispatcher("文件路径或URL")获得对话
转发
response.forward(ServletRequest,ServletResponse)转发完成服务器关闭连接,仅包含转接后内容
response.include(ServletRequest,ServletResponse)转发完成保持服务器连接,包含转接前和转接后内容
可使用request.setAttribute()和request.getAttribute()获得请求作用域
与请求重定向的区别
请求重定向使用HttpServletResponse的方法;内部转发使用HttpServletRequest的方法
请求重定向客户端向服务器发送了2次请求,由客户端实现; 内部转发客户端只发送1次请求,转发过程由服务器端实现
请求重定向URL地址显示的是第二次请求的地址,无法获得请求作用域;内部转发URL地址显示的是服务器URL地址,可获得请求作用域存取对象

转载于:https://www.cnblogs.com/zengmiaogen/archive/2012/04/15/2450409.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值