【Head First Servlets and JSP】笔记4:HttpServletRequest req
api:https://tomcat.apache.org/tomcat-5.5-doc/servletapi/
1、GET和POST除去数据大小之外的区别。
- 安全性问题。使用GET的话,参数数据会出现在浏览器的输入栏之中。
- 书签问题。GET请求可以建立书签,而POST不能。典型的例子为http://docs.oracle.com/javase/8/docs/api/,对于用户访问的每一个子页面,都没有书签(URL相同)。
- GET不会对服务器产生任何改变,只是“访问”,而POST类似于UPDATE操作。
- 非幂等(non-idempotent)请求。GET、PUT、HEAD是幂等的,执行很多次,不会有不好的副作用,POST是非幂等的,POST提交的数据可能造成不可逆转的后果。虽然GET在HTTP中是幂等的,但是可以人为的在servlet中实现一个非幂等的doGet方法。
2、确定浏览器发送的是GET还是POST。
- 简单的超链接意味着GET。
- 明确地写出method="post",那这就是一个POST,没有写出的话,默认为HTTP GET
3、如果想让一个servlet同时支持GET和POST,如果POST不提交任何东西,可以把doPost()实现委托给doGet()。
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
【HttpServletRequest req】
4、从客户端发送一个参数并在服务端获取:
html表单 --> HTTPPOST: color=dark --> servlet: req.getParameter("color");
从客户端发送两个个参数并在服务端获取:
双选html表单 --> HTTPPOST: color=dark&body=heavy --> servlet: req.getParameter("color");servlet: req.getParameter("body");
5、除此之外还能从Request获取什么?
6、
getRemotePort()是相对于服务端而言的,所以获取的是客户端的端口。
getServerPort()获取的是接收请求的那个端口,getLocalPort则是指“请求最后发到的那个端口”(服务器会为每一个线程分配端口,这样才能应对多个用户)
【Head First Servlets and JSP】笔记4:HttpServletRequest req的更多相关文章
- 【Head First Servlets and JSP】笔记 27: web 应用安全
典型的安全问题:假冒者.窃听者.非法升级者 认证方式: Base64 .摘要认证 .客户端证书.表单认证,重点熟悉摘要算法( HASH . MD5 等) 安全机制:授权.认证.数据完整性.机密性 80 ...
- 【Head First Servlets and JSP】笔记23:Expression Language(EL) 完全攻略
基本上是<Head First Servlets and JSP>内容的整理.扩充.顺便推荐一个供参考的JSP教程:JSP Tutorial内容很全面,还有一些有趣的实例. 完整代码参考 ...
- 【Head First Servlets and JSP】笔记16:JSP隐式对象(内置对象)的映射关系
接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元 ...
- 【Head First Servlets and JSP】笔记22:直接从请求到JSP & 获取Person的嵌套属性
直接从请求到JSP,不经过servlet <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- 【Head First Servlets and JSP】笔记21:从有脚本到无脚本
可以建立多态的bean引用吗 使用type,但没有class scope属性默认为“page” 从有脚本到无脚本 1.快速搭建一个测试环境:输入用户名,返回“Hello, 用户名” index.htm ...
- 【Head First Servlets and JSP】笔记2:MVC迷你教程
1.采用MVC,不仅要求业务逻辑和表示分离.实际上,业务逻辑甚至根本不知道表示的存在.MVC的关键是,业务逻辑要与表示分离,而要求在中间放上别的东西,这样业务逻辑本身就可以作为一个可以重用的Java类 ...
- 【Head First Servlets and JSP】笔记1
1.把Java放到HTML中,JSP应运而生. 2.Servlet本身并没有main()方法,所以必须要有其他Java程序去调用它,这个Java程序就是Web容器(Container).Tomcat就 ...
- 【Head First Servlets and JSP】笔记13:session & cookie
session的接口 杀死会话 cookie的性质 cookie的接口 再总结——cookie.session.JSESSIONID的前世今生 简单的定制cookie示例 1.session的接口,配 ...
- 【Head First Servlets and JSP】笔记10:请求分派(RequestDispatcher)
1.让其它组件接管全部请求. package com.example.web; import com.example.model.BeerExpert; import javax.servlet.*; ...
随机推荐
- golang解析json
解析json,在很多语言都是很常用的,go提供了相应的包"encoding/json"来处理.直接上代码,如下: package main import ( "encod ...
- 【EasyUI】Tabs常用操作及href和content的异同
说明:EasyUI版本1.3.4 ,jQuery版本1.8.3 EasyUI Tabs常见使用方式 按照官方文档的说法,创建Tabs的方式有两种: 静态页面标签 动态JS代码 静态方式主要用于创建一些 ...
- Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成
Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成,它们的细节如下: Web 模块提供面向web的基本功能和面向web的应用上下文,比如多部分(multipa ...
- hadoop之WordCount源代码分析
//近期在研究hadoop.第一个想要要開始研究的必然是wordcount程序了.看了<hadoop应用开发实战解说>结合自己的理解,对wordcount的源代码进行分析. <pre ...
- Unity3D学习笔记——Android重力感应控制小球
一:准备资源 两张贴图:地图和小球贴图. 二:导入资源 在Assets下建立resources文件夹,然后将贴图导入. 三:建立场景游戏对象 1.建立灯光: 2.创建一个相机,配置默认. 3.建立一个 ...
- php的下载
前言:你的坚持,终将美好! 今天给大家说一下,php的下载,由于php的下载本身就是一个压缩包,解压缩后即可使用.所以,解压缩的过程不再赘述. 第一步:在浏览器的地址栏输入:http://www.ph ...
- android实现卸载提示
这篇文章是整理的以前用过的一个功能,由于多种原因现在停用了,也希望这篇文章能帮助一些android入门的小童鞋.android是不提供监控卸载自己的功能的,这里使用了监控android日志的功能,an ...
- Java类的加载、链接和初始化(个人笔记)
这里看到一篇比较好的文章:http://www.infoq.com/cn/articles/cf-Java-class-loader 这里只是针对什么时候会触发java类的初始化(注意:这里不是说的实 ...
- 使用RestTemplate post方式提交表单数据
HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_FORM_URLENCODE ...
- coursera 《现代操作系统》 -- 第五周 同步机制(2)
分清紧急等待队列与条件等待队列(c 链) 条件等待队列:但是进入管程的这个进程可能由于对资源的操作的过程中发现条件不成熟, 那么它就不能够继续对资源进行相应的操作. 我们以生产者. 消费者为例. 如果 ...