JavaWeb 11_jsp九大内置对象
1. out: 输出对象,向客户端输出内容
2. request: 请求对象;存储“客户端向服务端发送的请求信息”
request对象的常见方法:
String getParameter (String name) :根据请求的字段名key.,返回字段值value.
String[] getParameterValues (String name): 根据请求的字段名key,返回多个字段值value ( checkbox)
void setCharacterEncoding (”编码格式utf-8") :设置请求编码 ( tomcat7以前默认iso- 8859-1, tomcat8以后默认UTF-8)
tomcat7以下版本要设置编码为utf-8:
1)单个设置(不推荐)
2)修改server. xml ,一次性的更改tomcat默认get提交方式的编码(针对get提交方式)
针对post提交方式:
getRequestDi spatcher("B. jsp"). forward (request, response) ; :请求转发的方式跳转页面 A -> B
页面跳转:请求转发,可以获取到B数据,并且地址栏没有改变(仍然保持转发时的页面地址A)
getServerContext () :获取项目的ServletContext对象
3. response :响应对象
提供的方法:
void addCookie( Cookie cookie ) ;服务端向客户端增加cookie对象
void sendRedirect (String location ) throws IOException; :页面跳转的一种方式(重定向)
void setContetType (String type) :设置服务端响应的编码(设置服务端的contentType类型)
请求转发与重定向的区别:
4. session (服务端,是内置对象)
客户端和服务端是通过cookie和session对应起来的
客户端第一次向服务端发出请求时,服务端会生成一个session,这个session会自带一个sessionID(唯一的),并附值到JSESSIONID,然后保存到Cookie,响应时发送(JSESSIONID)给客户端
Cookie (客户端,不是内置对象) : Cookie是由服务端生成的,再发送给客户端保存:
相当于本地缓存的作用: 客户端(hellc. 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) ;最大有效期 (秒)
1)服务端准备Cookie:
response. addCookie (Cookie cookie)
2)页面跳转(转发,重定向)
3)客户端获取cookie: request. getCookies() ;
注意:
a.服务端增加cookie. :response对象; 客户端获取对象: request对象
b.不能直接获取某- -个单独对象,只能一次性将全部的cookie拿到
通过F12可以发现 除了自己设置的Cookie对象外,还有一个自带的name为JSESS IONID的cookie
实例:
response_addCookie.jsp (服务端)
result.jsp (客户端)
运行response_addCookie.jsp 结果:
login.jsp (登录)
此代码解决原用户名默认填null 的问题
结果:(此在新的浏览器运行jsp)
check.jsp (检查登录)
增加延时失效功能:代码更改如下
第二次登录zc: (原)
10s后:(此为浏览器设置了自动保存填写,所以显示了zc)
5. applicaton
6. config .
7. page
8. exception
9. pageContext