Servlet&JSP复习笔记 02
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的更多相关文章
- Servlet&JSP复习笔记 03
1.Servlet的声明周期 容器如何创建Servlet对象,如何为Servlet对象分配资源,如何调用Servlet对象的方法来处理请求,以及如何销毁Servlet对象的过程. a.实例化 容器调用 ...
- Servlet&JSP复习笔记 01
1. Servlet 含义:服务器端的小程序,它只是服务器中的一部分. Servlet Little 标准:Sun公司制定的一种用来扩展Web服务器功能的组件规范. a. 扩展web服务器功能:扩展w ...
- Servlet&JSP复习笔记 04
1.状态管理 因为HTTP协议是无状态协议,但很多时候需要将客户端和服务端的多次请求当做一个来对待.将多次交互中设计的数据进行保存. 状态:数据 管理:对数据的维护 2.Cookie 客户端向服务器发 ...
- Spring MVC 复习笔记02
1. 非注解的处理器映射器和适配器 1.1 非注解的处理器映射器 处理器映射器:org.springframework.web.servlet.handler.BeanNameUrlHandlerMa ...
- javaweb servlet jsp简单笔记
第二章: 1: web 俗称 : 万维网 www 2: web开发 的三大核心: HTML(网页) ,URL(定位),HTTP:(协议) 页面的分类: 静态页面: html+css 动态页面:jsp ...
- JSP复习笔记
1.注释 <!--这个注释会显示在HTML源码中--> <%--隐藏注释,不会显示在HTML源码中--%> 2.声明 <%! java声明 声明变量,方法等 %> ...
- mybatis 复习笔记02
1. 一对一查询: 1). 实体类: 2). 定义resultMap <!-- 订单查询关联用户的resultMap 将整个查询的结果映射到cn.itcast.mybatis.po.Orders ...
- 算是学完了《Servlet&JSP学习笔记》,立此存照
我感觉从构架上来说,算是入门了, 终于可以正式进入SPRING的学习啦...爽 代码就不弄了,真的太多了...花了差不多两周呢..
- JAVA复习笔记02
16.interface中的成员变量默认为public static final类型,方法只能是public(默认为public) 17.内部类访问外部类成员: Outer.this.num; 18. ...
随机推荐
- mailx发送邮件
cent6.5自带mailx 这是个第三方的邮件发送 比如用自己的126给其他账户发邮件 cent6.5还自带了postfix 可以停掉 sendmail(cent5才自带6是postfix)也 ...
- VNC连接桌面
1.#yum -y install vnc *vnc-server* 2.修改VNCServer主配置文件 #vim /etc/sysconfig/vncservers 复制最后两行并去掉行首注释符, ...
- JAVA字节码文件之第四篇(方法分析)
一.Methods 方法字节码结构 Methods 字节码结构: Methods num:占两byte,Methods 的具体内存占n个byte 方法中每个属性都是Attribute_info,Att ...
- C#里的async和await的使用
1. await指令调起线程执行异步方法和方法内后面的代码 2. await指令会阻塞当前方法后面的代码,但是不会阻塞外部调用 3. await必须搭配async使用,而async不一定需要有awai ...
- Vue.js(2)- 过滤器
概念:过滤器本质上就是一个函数,可被用作一些常见的文本格式化. 过滤器只可以用在两个地方:mustache 插值表达式和 v-bind 表达式. 过滤器应该被添加在 JavaScript 表达式的尾部 ...
- 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring目录结构和基础JAR包介绍
可以通过网址 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 下载名称为 springframe ...
- 201771010123汪慧和《面向对象程序设计Java》第十六周实验总结
一.理论部分 1.程序与进程的概念 ‐程序是一段静态的代码,它是应用程序执行的蓝本. ‐进程是程序的一次动态执行,它对应了从代码加载.执行至执行完毕的一个完整过程. ‐操作系统为每个进程分配一段独立的 ...
- Cracking Digital VLSI Verification Interview 第一章
目录 Digital Logic Design Number Systems, Arithmetic and Codes Basic Gates Combinational Logic Circuit ...
- 使用idea出现的错误
错误:打开maven项目时出现"程序包 com.sun.org.apache.xpath.internal 不可见 "的错误 这个问题出现的原因是: jdk版本的问题.可能是因为有 ...
- Python笔记_第一篇_面向过程_第一部分_5.Python数据类型之字符串类型(string)
关于Python的字符串处理也如其他语言一样属于重点中的重点,主要是牵扯到的函数和内容较为多和乱一些.关于什么是字符串,Python中的定义是:以单引号或者双引号括起来的任意文本. 1. 字符串的 ...