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的更多相关文章

  1. servlet和http请求

    1.servlet servlet是和平台无关的服务器组件,可以交互式的来浏览和修改数据,生成动态的web内容.它运行于 servlet容器中2.servlet容器 servlet容器负责servle ...

  2. Servlet处理get请求时的中文乱码问题

    我们都知道,使用Servlet处理get请求时,如果get请求的参数中有中文,直接接收会是乱码,这个时候我们使用类似下面的语句来处理乱码: 12345 String name = request.ge ...

  3. web基础----->servlet中得到请求的数据

    对tomcat的源码做一些分析,今天我们就开始servlet中的请求分析. form表单中的默认类型 一.在index.jsp中get请求: <form action="Paramet ...

  4. Servlet和HTTP请求协议

    Servlet和HTTP请求协议 Servlet和HTTP请求协议 Servlet和HTTP请求协议 有待补充... servlet servlet applet 概念 servlet是运行在服务器上 ...

  5. Java Servlet学习笔记(四)Servlet客户端Http请求

    Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的.您可以查看 HTTP ...

  6. servlet 如何处理多请求访问以及线程讲解

    servlet 如何处理多请求访问以及线程讲解 场景:js循环500次请求同一个后台接口,接口内部逻辑:1.查询商品数量,2.扣减商品数量 ,那么该接口是否需要考虑多线程并发安全问题? 分析: 1.先 ...

  7. javaweb servlet中使用请求转发乱码

    乱码的方式有很多,这里指出一种不容易想到的 *请确保您的页面单独访问正常,经过servlet请求转发时,有PrintWriter out = response.getWriter()不正常,没有正常 ...

  8. servlet容器处理请求过程

    下图是关于tomcat服务器接收客户请求并作出响应的图例. tomcat不仅仅只是一个servlet容器,也是一个web服务器,servlet容器在web服务器之内或者说servlet容器托管于web ...

  9. Servlet中的请求转发和重定向

    跳转和重定向 有的时候客户端请求到达服务端后需要对请求重新转发到其它Servlet甚至别的服务器,这就需要跳转和重定向. 区别 一般来说,跳转是服务器内部跳转,例如将请求从一个Servlet转发给另外 ...

随机推荐

  1. Android网络访问库 - Retrofit学习(1)基础

    Retrofit是什么 Retrofit是一个类型安全的HTTP客户端,支持Android和Java.它是Square公司开源的项目,当前版本2.0. 在实际开发中,我们Retrofit配合OKHTT ...

  2. Scala spark mongodb

    最好的参考是Mongo官网的地址 https://docs.mongodb.com/spark-connector/getting-started/ 需要截图所示的包 代码地址 https://git ...

  3. Eplan中电缆源和目标的确定规则

    使用过Eplan的都知道,生成电缆总览时会有源和目标,电缆是怎么定义源和目标的呢,下面给大家讲解.确定源和目标按照下列规则确定电缆的源和目标: 首先考虑结构标识符中标识性的层结构说明.如果两端都是端子 ...

  4. 【原】SQL ROW_NUMBER() OVER

    语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) SELECT ROW_NUMBER() OVER(ORDER BY CASE Col ...

  5. ux.form.field.Verify 验证码控件

    //验证码控件 Ext.define('ux.form.field.Verify', { extend: 'Ext.container.Container', alias: ['widget.fiel ...

  6. [原创]AHA大会回顾

    AHA大会回顾 缘起 AHA之前参加了Daniel的培训,了解到AHA大会,觉得很高大上,开始有些心动.考虑到是工作时间,而且是外地,所以也就停留在心动层面了.之后与伯薇和四正吃饭,听说他们要去参加这 ...

  7. 指定的参数已超出有效值的范围 参数名: utcDate WebResource异常

    指定的参数已超出有效值的范围.参数名: utcDate 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.  异常详细信息 ...

  8. CyanogenMod wiki reading tips | Android tips

    To Enable the Developer and Performance settings on CyanogenMod 10.1 In the Settings app, choose the ...

  9. 进阶学习js中的执行上下文

    在js中的执行上下文,菜鸟入门基础 这篇文章中我们简单的讲解了js中的上下文,今天我们就更进一步的讲解js中的执行上下文. 1.当遇到变量名和函数名相同的问题. var a = 10; functio ...

  10. java中String byte HexString的转换

    原文:http://blog.sina.com.cn/s/blog_62e9ec530101ebv6.html HexString——>byte public static byte[] hex ...