6、转发与重定向
forward(请求转发):发送一次请求,将表单数据或封装到url中的数据一并转发到新页面。
redirect(重定向):发送两次请求,一次请求会收到302状态码,第二次请求收到新地址。
1)response.setStatus(302);response.addHeader("Location","URL");
2)response.sendRedirect("URL");
1)从地址栏显示看:
forward是服务器请求资源,服务器直接访问目标中的URI获取响应,经响应发送给浏览器。
redirect服务器发送一个状态码302,告诉浏览器去请求地址(location),url可以是其他应用。
2)从数据共享来说:
forward转发页面和转发到的页面可以共享request中的内容。redirect不能共享。
3)从运用应用方面:
forward用于登录注册页面
redirect用于注销登录返回主页面或跳转其他网站,不再使用response输出数据,否则会异常。
4)从效率看
forward效率高
redirect效率低
7、参数传递

基本类型传递值,引用类型传递地址,在方法中,可根据地址改变引用类型的成员变量值。
值传递不可以改变原变量的内容和地址(仅副本做局部变量)。
引用传递不可以改变原变量地址,但可通过引用改变值。
一个方法不能修改一个基本数据类型的参数(数值、布尔),===>值传递
一个方法可以改变一个对象(引用)的值,一个方法不可改变对象的原引用。==>引用类型
若将一个变量(常量)赋值给一个引用类型,则等于new一次引用类型对象,与方法外没有关系。????
8、会话跟踪的四种实现方式
1)表单域:<input type=”hidden”>,非常适合需要大量数据存储的会话应用
2)URL重写:URL可以在后面附加参数,和服务器的请求一起发送,url&name=value
3)Cookie:Cookie是一个小的,已命名的数据元素,服务器使用set-Cookie头标记它为HTTP响应的一部分,发送给客户端,客户端保存cookie的值,在对同一服务器的后续请求中使用cookie将内容返回给服务器,cookie保存在客户端,可设置保存时间。(session的Id存储在cookie中)。
4)session:使用setAttribute(String str,Object obj)方法将对象捆绑到一个会话上。
每个session对象有一个唯一的Id,保存在客户端的Cookie中,关闭浏览器SessionId消失。
如果客户端禁用cookie,可以使用url重写的方法实现会话跟踪。
session用来表示用户会话,session对象在服务端维护。
cookie存放在客户端,可以分为内存cookie和磁盘cookie,超时消失。
隐藏域在页面中对于用户是不可见的,在表单中插入的目的是收集和发送消息。
9、cookie
10、session
11、表单域
12、URL重写
13、Servlet

14、Filter
servlet中的过滤器格式:
<filter>
<filter-name> xxxx</filter-name>
<filter-class> xxxx.aaaa</filter-class>
</filter>
<init-param>(可选)
<parma-name>charset</param-name>
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-66099-6.html
打倒美帝国主义