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. C# 選擇本機檔案並上傳

    參考自:http://www.dotblogs.com.tw/puma/archive/2008/11/07/5910.aspxhttp://www.codeproject.com/Articles/ ...

  2. nginx 安装与反向代理测试 under MAC

    安装 在 Mac 下可以直接使用 homebrew 安装 nginx brew search nginx brew install nginx 启动 nginx: sudo nginx,访问 8080 ...

  3. 使用Aspose.Cells 设置chart的y坐标轴显示值

    目的:设置chart的y坐标轴显示值 用aspose.cell生成的chart生成的Y轴是默认生成的,自己要定义y轴坐标值1.把数据源写到excel里面,list里面2.y轴坐标自己定义 第一种:默认 ...

  4. 客户端配置文件tnsname.ora

    ARP2 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 182.168.1.173)(PORT = 1521) ...

  5. 优酷、YouTube、Twitter及JustinTV视频网站架构设计笔记

    本文是整理的关于优酷.YouTube.Twitter及JustinTV几个视频网站的架构或笔记,对于不管是视频网站.门户网站或者其它的网站,在架构上都有一定的参考意义,毕竟成功者的背后总有值得学习的地 ...

  6. 免费国内外"代码托管服务器"收集

      国内 开源中国  http://git.oschina.net/  支持git 淘宝code  http://code.taobao.org/  支持svn 京东code  https://cod ...

  7. Qt编写自定义控件插件路过的坑及注意事项

    在一日一控件的口号下,终于写好了五十几个自定义控件,包括各种仪表盘,各种温度计,各种进度条,各种按钮等,具体可参见(http://www.cnblogs.com/feiyangqingyun/p/61 ...

  8. 聊一聊google的Knowledge Graph

    什么是Knowledge Graph? 它是google用于增强它的搜索引擎的功能和提高搜索结果质量的一种技术.在2012年5月16日提出,除了提供基本的与主题相关的链接服务之外,它还能结构化与主题相 ...

  9. Django Push HTTP Response to users

    Django Push HTTP Response to users I currently have a very simple web application written in Django, ...

  10. 网络通信分享(二):外网ip和内网ip

    一.内网ip包括两类: 1:tcp/ip协议中,专门保留了三个IP地址区域作为私有地址,其地址范围如下: 10.0.0.0/8:10.0.0.0-10.255.255.255  172.16.0.0/ ...