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转发给另外 ...
随机推荐
- 自动化测试管理平台ATMS(V2.0.3_8.28)下载
自动化测试管理平台ATMS(V2.0.3_8.28)下载http://automationqa.com/forum.php?mod=viewthread&tid=2845
- debian+apache+acme_tiny+lets-encrypt配置笔记
需要预先将需要申请ssl的域名指向到服务器,此方法完全通过api实现,好处是绿色无污染,不需要注册账号,不会泄露私人信息环境为 debian7+apache apt-get install apach ...
- linux samba 服务配置及日志管理
2012-01-16 安装samba共需3个rpm包 samba-common-3.0.23c-2.i386.rpm samba-3.0.23c-2.i386.rpm samba-cli ...
- easyui menubutton combobox 被遮盖问题
如图一所示,menubutton 中的 combobox 被遮盖 z-Index 不够.这是作者给出的解决方案 <a href="#" class="easyui- ...
- MDX 占比同比环比
http://blog.csdn.net/hero_hegang/article/details/9072889
- SEO优化之Title 和 Meta 标签
对搜索引擎最友好(Search Engine Friendly)的网页是静态网页,但大部分内容丰富或互动型网站都不可避免采用到相关技术语言来实现内容管理和交互功能.SEO 思想指导下的技术支持,主要是 ...
- 浅析.NET泛型
泛型是.NET Framework 2.0最强大的功能,通过泛型可以定义类型安全的数据结构,而没有必要使用实际的数据类型,这将显著提高性能并得到更高质量的代码.在.NET Framework 2.0之 ...
- html5 自定义数据属性 ,也就是 data-* 自定义属性---笔记。
html5 自定义数据属性 ,也就是 data-* 自定义属性. 例如 <div data-last-value="43" data-hidden="true& ...
- specify a file path to store the seed
此问题是由于你的php没有开启open-ssl模块功能引起的. 所以解决方案为开启php的open_ssl模块功能. 开启open_ssl的方式很简单,打开php.ini文件,将行头的分号删除即可. ...
- 使用 IntelliJ IDEA 2016和Maven创建Java Web项目的详细步骤及相关问题解决办法
Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工作,其 ...