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. mailx发送邮件

    cent6.5自带mailx   这是个第三方的邮件发送 比如用自己的126给其他账户发邮件 cent6.5还自带了postfix 可以停掉  sendmail(cent5才自带6是postfix)也 ...

  2. VNC连接桌面

    1.#yum -y install vnc *vnc-server* 2.修改VNCServer主配置文件 #vim /etc/sysconfig/vncservers 复制最后两行并去掉行首注释符, ...

  3. JAVA字节码文件之第四篇(方法分析)

    一.Methods 方法字节码结构 Methods 字节码结构: Methods num:占两byte,Methods 的具体内存占n个byte 方法中每个属性都是Attribute_info,Att ...

  4. C#里的async和await的使用

    1. await指令调起线程执行异步方法和方法内后面的代码 2. await指令会阻塞当前方法后面的代码,但是不会阻塞外部调用 3. await必须搭配async使用,而async不一定需要有awai ...

  5. Vue.js(2)- 过滤器

    概念:过滤器本质上就是一个函数,可被用作一些常见的文本格式化. 过滤器只可以用在两个地方:mustache 插值表达式和 v-bind 表达式. 过滤器应该被添加在 JavaScript 表达式的尾部 ...

  6. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring目录结构和基础JAR包介绍

    可以通过网址 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 下载名称为 springframe ...

  7. 201771010123汪慧和《面向对象程序设计Java》第十六周实验总结

    一.理论部分 1.程序与进程的概念 ‐程序是一段静态的代码,它是应用程序执行的蓝本. ‐进程是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程. ‐操作系统为每个进程分配一段独立的 ...

  8. Cracking Digital VLSI Verification Interview 第一章

    目录 Digital Logic Design Number Systems, Arithmetic and Codes Basic Gates Combinational Logic Circuit ...

  9. 使用idea出现的错误

    错误:打开maven项目时出现"程序包 com.sun.org.apache.xpath.internal 不可见 "的错误 这个问题出现的原因是: jdk版本的问题.可能是因为有 ...

  10. Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字符串类型(string)

    关于Python的字符串处理也如其他语言一样属于重点中的重点,主要是牵扯到的函数和内容较为多和乱一些.关于什么是字符串,Python中的定义是:以单引号或者双引号括起来的任意文本. 1.   字符串的 ...