response,请求转发和重定向,cookie

1.response :响应对象

response,请求转发和重定向,cookie
提供的方法:
void addCookie( Cookie cookie ); 服务端向客户端增加cookie对象
void sendRedirect(String location ) throws IOException; :页面跳转的一种方式(重定向)
void setContetType(String type):设置服务端响应的编码(设置服务端的contentType类型)

示例:登陆
login.jsp  -> check.jsp  ->success.jsp

response,请求转发和重定向,cookie

response,请求转发和重定向,cookie

response,请求转发和重定向,cookie

response,请求转发和重定向,cookie

重定向跳转页面出现了获取不到值的情况,做以下修改:

response,请求转发和重定向,cookie

response,请求转发和重定向,cookie

请求转发和重定向区别
  请求转发 重定向
地址栏是否改变 不变(check.jsp) 改变(success.jsp)
是否保留第一次请求时的数据 保留 不保留        --4种范围对象
请求的次数 1 2
跳转发生的位置 服务端 客户端发出的第二次跳转

 

请求转发与重定向:

response,请求转发和重定向,cookie

请求次数问题:

response,请求转发和重定向,cookie

请求跳转客服端发起一次请求,地址栏不改变。重定向客户端发起两次请求,地址栏改变。

转发、重定向:

转发:  
    张三(客户端)     ->    【 服务窗口 A (服务端 )    ->  服务窗口B  】


重定向:
    张三(客户端)       ->     服务窗口 A (服务端 ) ->去找B

    张三(客户端)    ->     服务窗口 B (服务端 ) ->结束
 

2.    session(服务端)


Cookie(客户端,不是内置对象):Cookie是由 服务端生成的 ,再发送给客户端保存。
相当于 本地缓存的作用: 客户端(hello.mp4,zs/abc)->服务端(hello.mp4;zs/abc)
作用:提高访问服务端的效率,但是安全性较差。

Cookie:    name=value   
javax.servlet.http.Cookie
public Cookie(String name,String value)
String getName():获取name
String getValue():获取value
void setMaxAge(int expiry);最大有效期 (秒)

服务端准备Cookie:
    response.addCookie(Cookie cookie)
页面跳转(转发,重定向)
客户端获取cookie:  request.getCookies();

a.服务端增加cookie :response对象;客户端获取对象:request对象
b.不能直接获取某一个单独对象,只能一次性将 全部的cookie拿到

通过F12可以发现  除了自己设置的Cookie对象外,还有一个name为 JSESSIONID的cookie

建议 cookie只保存  英文数字,否则需要进行编码、解码

response,请求转发和重定向,cookie

response,请求转发和重定向,cookie

response,请求转发和重定向,cookie