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地址,可获得请求作用域存取对象
Servlet获得Http请求,GET/POST的更多相关文章
- servlet和http请求
1.servlet servlet是和平台无关的服务器组件,可以交互式的来浏览和修改数据,生成动态的web内容.它运行于 servlet容器中2.servlet容器 servlet容器负责servle ...
- Servlet处理get请求时的中文乱码问题
我们都知道,使用Servlet处理get请求时,如果get请求的参数中有中文,直接接收会是乱码,这个时候我们使用类似下面的语句来处理乱码: 12345 String name = request.ge ...
- web基础----->servlet中得到请求的数据
对tomcat的源码做一些分析,今天我们就开始servlet中的请求分析. form表单中的默认类型 一.在index.jsp中get请求: <form action="Paramet ...
- Servlet和HTTP请求协议
Servlet和HTTP请求协议 Servlet和HTTP请求协议 Servlet和HTTP请求协议 有待补充... servlet servlet applet 概念 servlet是运行在服务器上 ...
- Java Servlet学习笔记(四)Servlet客户端Http请求
Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的.您可以查看 HTTP ...
- servlet 如何处理多请求访问以及线程讲解
servlet 如何处理多请求访问以及线程讲解 场景:js循环500次请求同一个后台接口,接口内部逻辑:1.查询商品数量,2.扣减商品数量 ,那么该接口是否需要考虑多线程并发安全问题? 分析: 1.先 ...
- javaweb servlet中使用请求转发乱码
乱码的方式有很多,这里指出一种不容易想到的 *请确保您的页面单独访问正常,经过servlet请求转发时,有PrintWriter out = response.getWriter()不正常,没有正常 ...
- servlet容器处理请求过程
下图是关于tomcat服务器接收客户请求并作出响应的图例. tomcat不仅仅只是一个servlet容器,也是一个web服务器,servlet容器在web服务器之内或者说servlet容器托管于web ...
- Servlet中的请求转发和重定向
跳转和重定向 有的时候客户端请求到达服务端后需要对请求重新转发到其它Servlet甚至别的服务器,这就需要跳转和重定向. 区别 一般来说,跳转是服务器内部跳转,例如将请求从一个Servlet转发给另外 ...
随机推荐
- Android网络访问库 - Retrofit学习(1)基础
Retrofit是什么 Retrofit是一个类型安全的HTTP客户端,支持Android和Java.它是Square公司开源的项目,当前版本2.0. 在实际开发中,我们Retrofit配合OKHTT ...
- Scala spark mongodb
最好的参考是Mongo官网的地址 https://docs.mongodb.com/spark-connector/getting-started/ 需要截图所示的包 代码地址 https://git ...
- Eplan中电缆源和目标的确定规则
使用过Eplan的都知道,生成电缆总览时会有源和目标,电缆是怎么定义源和目标的呢,下面给大家讲解.确定源和目标按照下列规则确定电缆的源和目标: 首先考虑结构标识符中标识性的层结构说明.如果两端都是端子 ...
- 【原】SQL ROW_NUMBER() OVER
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) SELECT ROW_NUMBER() OVER(ORDER BY CASE Col ...
- ux.form.field.Verify 验证码控件
//验证码控件 Ext.define('ux.form.field.Verify', { extend: 'Ext.container.Container', alias: ['widget.fiel ...
- [原创]AHA大会回顾
AHA大会回顾 缘起 AHA之前参加了Daniel的培训,了解到AHA大会,觉得很高大上,开始有些心动.考虑到是工作时间,而且是外地,所以也就停留在心动层面了.之后与伯薇和四正吃饭,听说他们要去参加这 ...
- 指定的参数已超出有效值的范围 参数名: utcDate WebResource异常
指定的参数已超出有效值的范围.参数名: utcDate 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息 ...
- CyanogenMod wiki reading tips | Android tips
To Enable the Developer and Performance settings on CyanogenMod 10.1 In the Settings app, choose the ...
- 进阶学习js中的执行上下文
在js中的执行上下文,菜鸟入门基础 这篇文章中我们简单的讲解了js中的上下文,今天我们就更进一步的讲解js中的执行上下文. 1.当遇到变量名和函数名相同的问题. var a = 10; functio ...
- java中String byte HexString的转换
原文:http://blog.sina.com.cn/s/blog_62e9ec530101ebv6.html HexString——>byte public static byte[] hex ...