zoukankan      html  css  js  c++  java
  • 【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则是指“请求最后发到的那个端口”(服务器会为每一个线程分配端口,这样才能应对多个用户)

  • 相关阅读:
    MongoDB安装与启动
    Mac node.js express-generator脚手架安装
    AJAX状态值与状态码
    博客园 Markdown编辑器简要教程
    高效、可维护、组件化的CSS
    如何在mac上运行vue项目
    前端chrome调试
    Light of future-冲刺集合
    团队作业第六次—事后诸葛亮
    Light of future-冲刺总结
  • 原文地址:https://www.cnblogs.com/xkxf/p/6854135.html
Copyright © 2011-2022 走看看