1.Servlet获取请求参数
  获取请求参数依靠的是表单元素的name属性,广泛意义来说id属性是给客户端使用的,name属性是服务器使用的.
  a.获取Name-Value的方法:
    - getParameter();
    获取单值表单元素提交的.例如:文本框,密码框;
  b.获取Name-Values的方法:
    - getParameterValues();
    获取一组表单元素提交的.例如:复选框.

2.Get请求与Post请求的区别:
  Get请求:
    a.在URL中传值;
    b.只能提交少量的数据;
    c.明文显示,不够安全.
  Post请求:
    a.在请求数据的实体内容中传值;
    b.可以提交大量的数据;
    c.不明文显示,相对安全.但是可以被抓包(所以相对安全)

    请求方式的存在是客户端对话服务器时的意向说明,是区分请求种类的关键.

3.常用的请求方式:
  GET请求:访问指定的资源(常用);
  POST请求:向指定资源提交需要处理的数据(常用);
  HEAD请求:与GET类似,但是没有返回响应体内容;
  PUT请求:上传指定资源;
  DELETE请求:删除指定资源.

4.表单出现中文乱码:
  当表单提交时,浏览器会对中文参数值进行编码(会使用打开表单所在的页面时的字符集进行编码).WEB服务器默认情况下使用iso-8859-1进行解码.

  POST请求:
    1.在web页面使用<meat>标签设置浏览器提交参数的编码字符集;
      <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    2.在Servlet.clss中设置解码的字符集格式:
      request.setCharacterEncoding("utf-8");
  GET请求:
    注意:这里虽然可以这么解决,但是不建议这么做.毕竟GET的设计初衷不是用来提交数据的.
    a.由于URI后面的参数部分使用的ISO-8859-1字符集进行编码,所以可以将参数部分先获取成byte,
      String string = new String(par.getBytes(),"utf-8")
    b.使用tomcat也可以追加tomcat的配置文档,将URI的字符集进行更改,追加位置在端口号的标记处.
      URIEncoding="utf-8"

5.工程文件和部署文件
  工程文件:
    本地Eclipse等IDE编辑的源代码文档,用于程序开发;
  部署文件:
    Tomcat等Web容器中部署的文件,属于工程文件的一部分,用于客户端访问.

6.重定向
  服务器向浏览器发送一个302状态码以及一个Location消息头(是一个重定向地址),浏览器接收后会立即向重定向地址发出请求.
  302:临时反回后跳转.

  a.重定向跳转的地址是可以使任意的地址;
  b.重定向之后,浏览器地址栏会发生改变;
  c.重定向之后的对象是不同的对象,不共享同一个request和response对象.

7.Servlet容器处理请求资源路径:
  在浏览器中统一资源路径,如(URL): http://127.0.0.1:8967/ServletProject/Hello.html
  请求资源路径(URI): ServletProject/Hello.html

  a.浏览器根据ip和port建立与Servlet容器之间的连接,然后将请求的资源路径发送给容器;
  b.容器根据应用名找到应用所在的文件夹,容器默认请求是一个Servlet,查找web.xml文件中的Servlet配置,看是否有匹配的Servlet,如果没有则查找静态资源.

8.匹配Servlet规则
  精确匹配:
    通过将请求资源路径中的具体资源名称与web.xml文件中的"url-pattern'进行对比,严格匹配相等后找到对应资源并执行.
  通配符匹配:
    使用"*"来匹配0个或多个字符,代表输入任何不同的url地址都将匹配成功.
  后缀匹配:
    不能使用斜杠开头,使用"*.开头的任意多字符.
  无匹配的Servlet处理:
    a.如果在精确,通配符,后缀匹配都没有成功,容器会查找相关的文件;
    b.如果查找有相关的静态文件则返回;
    b.没有则返回404.

  注意:优先级最高的是精确匹配.

附录:
  1.确认<>取消按钮:
    <a onclick="return confirm('真的要进行跳转吗?')" href="http://www.baidu.com">121212</a>
  2.表单隐藏域可以用于修改时的唯一值.

Servlet&JSP复习笔记 02的更多相关文章

  1. Servlet&JSP复习笔记 03

    1.Servlet的声明周期 容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的过程. a.实例化 容器调用 ...

  2. Servlet&JSP复习笔记 01

    1. Servlet 含义:服务器端的小程序,它只是服务器中的一部分. Servlet Little 标准:Sun公司制定的一种用来扩展Web服务器功能的组件规范. a. 扩展web服务器功能:扩展w ...

  3. Servlet&JSP复习笔记 04

    1.状态管理 因为HTTP协议是无状态协议,但很多时候需要将客户端和服务端的多次请求当做一个来对待.将多次交互中设计的数据进行保存. 状态:数据 管理:对数据的维护 2.Cookie 客户端向服务器发 ...

  4. Spring MVC 复习笔记02

    1. 非注解的处理器映射器和适配器 1.1 非注解的处理器映射器 处理器映射器:org.springframework.web.servlet.handler.BeanNameUrlHandlerMa ...

  5. javaweb servlet jsp简单笔记

    第二章: 1: web 俗称 : 万维网  www 2: web开发 的三大核心: HTML(网页) ,URL(定位),HTTP:(协议) 页面的分类: 静态页面: html+css 动态页面:jsp ...

  6. JSP复习笔记

    1.注释 <!--这个注释会显示在HTML源码中--> <%--隐藏注释,不会显示在HTML源码中--%> 2.声明 <%! java声明 声明变量,方法等 %> ...

  7. mybatis 复习笔记02

    1. 一对一查询: 1). 实体类: 2). 定义resultMap <!-- 订单查询关联用户的resultMap 将整个查询的结果映射到cn.itcast.mybatis.po.Orders ...

  8. 算是学完了《Servlet&JSP学习笔记》,立此存照

    我感觉从构架上来说,算是入门了, 终于可以正式进入SPRING的学习啦...爽 代码就不弄了,真的太多了...花了差不多两周呢..

  9. JAVA复习笔记02

    16.interface中的成员变量默认为public static final类型,方法只能是public(默认为public) 17.内部类访问外部类成员: Outer.this.num; 18. ...

随机推荐

  1. Day3-T2

    原题目 奶牛Bessie的电脑总是无缘无故地被 FJ 关掉,奶牛 Bessie 非常苦恼,也非常生气.FJ 却发现了 一个很神奇的规律(别问是怎么知道的),发现 Bessie 每吃一次草,她的生气值会 ...

  2. 线性数据结构案例1 —— 单向链表中获取倒数k个节点

    一.介绍  先遍历整个链表获取链表长度length,然后通过 (length-index) 方式得到我们想要节点在链表中的位置. 二.代码 public Node findLastIndexNode( ...

  3. swiper实现匀速无缝滚动

    设置属性 speed:2500,//匀速时间 autoplay: { delay: 0, stopOnLastSlide: false, disableOnInteraction: true, }, ...

  4. UVA 11235 RMQ算法

    上次的湘潭赛的C题,用线段树敲了下还是WA,不知道为何,我已经注意了处理相同数据,然后他们当时用的RMQ. 所以学了下RMQ,感觉算法思想是一样的,RMQ用了DP或者是递推,由单个数到2^k往上推,虽 ...

  5. 实验吧Web-难-头有点大(http头伪造:浏览器、国家、.Net framework版本)

    进去网站显示: 此处告诉我们要干三件事: (1).net framework 版本为9.9 (2)告诉服务器我们的地址为英国 (3)我们访问站点用的是IE 下面我们就抓的包中伪造. 1:.net fr ...

  6. 安装postgresql后找不到服务 postgresql service

    问题再现 环境: postgresql: 11.5 windows 10 企业版LTSC 64位 使用postgresql-11.5-1-windows-x64.exe安装后,让重新启动,但是重启后, ...

  7. 移动端主页内容 part4 axios

    ajax  可以动态获取数据内容 vue中发送ajax有很多工具可用 浏览器自带的fetch 现在推荐: axios第三方模块(vue中发送ajax) 特点: 跨平台的数据请求 浏览器中xhr请求 n ...

  8. Centos7 死循环登录问题

    问题:用户名和密码输入正确,登录后屏幕闪一下又回到初始的登录界面.不知道具体什么原因引起的,先记录下不知道是否正确的解决方案,网上找了些相关的方案有的也实现不了,可能这个问题跟装的虚拟机的版本也有关系 ...

  9. Java:面向对象的理解

    面向对象 一切皆对象.程序是对象的集合,它们通过发送消息来告知彼此所要做的.也就是说:以对象为中心,以消息(发送消息即为函数调用)为驱动.对象具有状态,行为和标识. 状态:指类的数据成员,即属性: 行 ...

  10. Anaconda: "WinError 127 找不到指定程序"

    Ref: https://blog.csdn.net/mengmengz07/article/details/103629693 问题: Windows系统,使用Anaconda,conda crea ...