JavaWeb chapter 4 Servlet处理HTTP请求
1、 GET/POST提交方法:
- 用户在网页上点击一个超链接;(get)
- 用户提交在网页上提交表单;(post或者get)
- 用户在浏览器地址栏输入URL地址并回车(get)
2、 默认情况下都是使用HTTP协议的GET方法提交请求。
3、 get方法:
提交数据类型:文本;
提交数据长度:不超过255个字符;
提交数据可见性:作为URL地址的一部分显示在浏览器地址栏;
提交数据缓存:缓存在浏览器URL历史状态中。
post方法:
提交数据类型:文本、二进制数据;
提交数据长度:没有限制;
提交数据可见性:作为请求的消息体,不可见;
提交数据缓存:不会被浏览器缓存。
4、
- 请求一个静态页面或图形文件时使用GET方法,因为仅仅需要发送文件名;
- 传送大数据、保密信息、上传文件等时候使用POST方法。
5、获取HTTP请求行和请求头:
getMethod():获取HTTP请求方法;
getRequestURI();获取请求的URL资源;
getProtocol();获取HTTP协议版本。
getHeader(name);返回指定的请求头的值
getHeaders();返回所有请求头的所有值
getHeaderNames();特定请求中接受到所有请求头的名称
6、获取请求消息体:
消息体可以是普通文本也可以是二进制数据;
getParameter(parameterName)通过表单参数名获得参数值,参数名区分大小写,只能获取文本数据(string)。
getInputStream()或者getReader()方法获取二进制数据。
HttpServletRequest对象中最常用的方法是获取请求参数的方法:getParameter()和getParameterValues()。
7、请求转发和重定向的区别:
- 重定向是客户端浏览器来完成,而请求转发是服务器完成;
- 重定向后浏览器URL地址会改变,而请求转发不会改变;
- 重定向有两次请求/响应,而请求转发只有一次请求/响应;
8、RequestDispatcher对象提供两种方法:forward(),include();
9、请求范围:变量可以保存在请求范围中,在请求范围之外就不能进行访问了。
forrward()方法意味着把请求和响应派发给别的资源后,就不会再去做任何处理了。
include()方法意味着请求别人帮助处理请求,但这并不是完全移交,只是暂时地把控制权交给别人。
HttpServletRequest可以把一个对象用名字绑定在请求范围内,并进行访问和删除。
JavaWeb chapter 4 Servlet处理HTTP请求的更多相关文章
- JavaWeb chapter 2 Servlet
1. 什么是Servlet: Servlet是运行于Web容器中,按照其自身规范编写的Java应用程序. Servlet是用Java语言编写的,它是一个Java类,因而Servlet遵守所有Java ...
- javaweb学习之Servlet开发(二)
javaweb学习总结(六)--Servlet开发(二) 一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个< ...
- JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...
- JavaWeb开发之Servlet
1. Servlet有关概念和前置知识 1.1 什么是动态网页 如果浏览器在不同时刻或不同条件下访问web服务器上的某个页面,浏览器所获得的页面内容可以发生变化,那么这个页面就称之为动态页面. 动态网 ...
- (转)JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...
- JavaWeb学习 (六)————Servlet(二)
一.ServletConfig讲解 1.1.配置Servlet初始化参数 在Servlet的配置文件web.xml中,可以使用一个或多个<init-param>标签为servlet配置一些 ...
- JavaWeb应用和Servlet
JavaWeb应用的生命周期是由Servlet容器来控制的.包括三个阶段: 1.启动阶段:加载Web应用的有关数据,创建ServletContest对象,对Filter(过滤器)和一些Servlet进 ...
- 超全面的JavaWeb笔记day09<Servlet&GenericServlet&HttpServlet&ServletContext>
1.Servlet概述 2.Servlet接口 3.GenericServlet 4.HttpServlet 5.Servlet细节 6.ServletContext(重要) Servlet概述 生命 ...
- JavaWeb学习——了解Servlet
JavaWeb学习——了解Servlet 摘要:本文主要学习了什么是Servlet,以及如何使用Servlet进行开发. 基础知识 背景 随着互联网技术的发展,基于HTTP和HTML的web应用急速增 ...
随机推荐
- APP-SQLAP-10771:Could not reserve record (匹配PO时候)
,) SID, substr(C.SERIAL#,,) SERIAL#, substr(B.,) OBJ_NAME, C.STATUS, C.USERNAME, c.action, C.USER#, ...
- 数位DP 求K进制下0~N的每个数每位上出现的数的总和
好久没写博客了,因为感觉时间比较紧,另一方面没有心思,做的题目比较浅也是另一方面. 热身赛第二场被血虐了好不好,于是决定看看数位DP吧. 进入正题: 如题是一道经(简)典(单)的数位dp. 第一步,对 ...
- Jenkins TcpSlaveAgentListener Config
http://wenku.baidu.com/link?url=wDbeRoqh8ERRvBKXsKVi7biWe8e369iZmYTfEFDz0aI1Sj5YjXq_AN1gFjFjiS0yBw0W ...
- jquery判断起止时间大小和非空
//时间判断 function CheckDate() { var startTime = $('#txtTime').val(); //获取当前日期 var start = new Date(sta ...
- Robotium自动化测试框架实用教程(图)
一.简介 Robotium是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击.长按.滑动等).查找和断言机制的API,能够对各 ...
- char类型的字节数
java为:两个字节,C语言中为:1个字节
- php浏览历史记录
/** * 商品历史浏览记录 * $data 商品记录信息 */ private function _history($data) { if(!$data || !is_array($data)) { ...
- 移动web前端之meta标签
最近这段时间忙着做web移动端,东西跟pc端还是有区别的.这个月也学到了不少东西,太多了就从头开始,先总结meta标签吧. 主要标签内容和注释如下: <meta charset="UT ...
- C++库汇总
C++库汇总 C++类库介绍再次体现了C++保持核心语言的效率同时大力发展应用库的发展趋势!!在C++中,库的地位是非常高的.C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功 ...
- MySQL修改表一次添加多个列(字段)和索引
MySQL修改表一次添加多个列(字段) ALTER TABLE table_name ADD func varchar(50), ADD gene varchar(50), ADD genedetai ...