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

  1. 【Head First Servlets and JSP】笔记 27: web 应用安全

    典型的安全问题:假冒者.窃听者.非法升级者 认证方式: Base64 .摘要认证 .客户端证书.表单认证,重点熟悉摘要算法( HASH . MD5 等) 安全机制:授权.认证.数据完整性.机密性 80 ...

  2. 【Head First Servlets and JSP】笔记23:Expression Language(EL) 完全攻略

    基本上是<Head First Servlets and JSP>内容的整理.扩充.顺便推荐一个供参考的JSP教程:JSP Tutorial内容很全面,还有一些有趣的实例. 完整代码参考 ...

  3. 【Head First Servlets and JSP】笔记16:JSP隐式对象(内置对象)的映射关系

    接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元 ...

  4. 【Head First Servlets and JSP】笔记22:直接从请求到JSP & 获取Person的嵌套属性

    直接从请求到JSP,不经过servlet <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  5. 【Head First Servlets and JSP】笔记21:从有脚本到无脚本

    可以建立多态的bean引用吗 使用type,但没有class scope属性默认为“page” 从有脚本到无脚本 1.快速搭建一个测试环境:输入用户名,返回“Hello, 用户名” index.htm ...

  6. 【Head First Servlets and JSP】笔记2:MVC迷你教程

    1.采用MVC,不仅要求业务逻辑和表示分离.实际上,业务逻辑甚至根本不知道表示的存在.MVC的关键是,业务逻辑要与表示分离,而要求在中间放上别的东西,这样业务逻辑本身就可以作为一个可以重用的Java类 ...

  7. 【Head First Servlets and JSP】笔记1

    1.把Java放到HTML中,JSP应运而生. 2.Servlet本身并没有main()方法,所以必须要有其他Java程序去调用它,这个Java程序就是Web容器(Container).Tomcat就 ...

  8. 【Head First Servlets and JSP】笔记13:session & cookie

    session的接口 杀死会话 cookie的性质 cookie的接口 再总结——cookie.session.JSESSIONID的前世今生 简单的定制cookie示例 1.session的接口,配 ...

  9. 【Head First Servlets and JSP】笔记10:请求分派(RequestDispatcher)

    1.让其它组件接管全部请求. package com.example.web; import com.example.model.BeerExpert; import javax.servlet.*; ...

随机推荐

  1. MAC信息摘要

    MAC(Message Authentication Code ,消息认证码算法)是含有密钥散列函数算法,兼容MD和SHA算法的特性,并在此基础上加入了密钥.因此,MAC也称为HMAC.       ...

  2. flex初始化方法

    initalize是初始化,creationcomplete是创建完成,applicationComplete是应用程序中所有的实例都创建完成后才执行,三者的执行顺序是intalize creatio ...

  3. python django -6 常用的第三方包或工具

    常用的第三方包或工具 富文本编辑器 缓存 全文检索 celery 布署 富文本编辑器 借助富文本编辑器,管理员能够编辑出来一个包含html的页面,从而页面的显示效果,可以由管理员定义,而不用完全依赖于 ...

  4. 关于swift 单元测试的补充

    最近小弟在自己学习研究swift , 习惯于写一边写单元测试一边写逻辑的我来说,在xcode环境没有单元测试,写起来就是有个不是实在的感觉. 至于怎么创建单元测试.怎么写,不是这个文章的主题,因为看了 ...

  5. ApiDoc 和 Swagger 接口文档

    ApiDoc:https://blog.csdn.net/weixin_38682852/article/details/78812244 Swagger git: https://github.co ...

  6. Qt 静态编译后的exe太大, 能够这样压缩.

    1. 下载PECompact 下载地址:http://download.csdn.net/download/sniper_bing/7669247 ,  不行大家就去baidu搜索下载就能够了这个是绿 ...

  7. Notepad++ 64位 插件管理

    notepad++ 64bit 没有插件管理,如何添加呢? 1.访问https://github.com/bruderstein/nppPluginManager/releases,下载  Plugi ...

  8. ES6学习笔记之变量声明let,const

    最近用淘宝的weex做了个项目,最近稍微闲下来了.正好很久没有接触RN了,所以趁这个机会系统的学习一下ES6的相关知识. 孔子说:没有对比就没有伤害.所以我们要拿ES6和ES5好好对比的学习.这样才能 ...

  9. 安装mysql报错—解决方法:error while loading shared libraries: libssl.so.6

    for 32bit ln -sf /usr/lib/libssl.so.10 /usr/lib/libssl.so.6ln -sf /usr/lib/libcrypto.so.10 /usr/lib/ ...

  10. node.js 关于跨域和传递给前台参数

    /*为app添加中间件处理跨域请求*/ app.use(function(req, res, next) { res.header("Access-Control-Allow-Origin& ...