欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JavaWeb笔记--JSP内置对象

程序员文章站 2022-07-03 20:07:55
...

1. request对象的常见方法

(1) String getParameter(String name):
     根据请求的字段名(input标签的name属性值),返回字段值(input标签的value属性值)

(2) String[] getParameterValues(String name):
	根据请求的字段名,返回多个字段值

(3) void setCharacterEncoding("utf-8"):
	设置post方式的请求编码

(4) getRequestDispatcher("b.jsp").forward(request,response):
	请求转发 的方式跳转页面   A - > B

(5) ServletContext getServerContext():
	获取项目的ServletContext对象

2.解决乱码问题

 get方式请求 解决乱码:修改server.xml中 URIEncoding=“UTF-8”

 post方式请求解决乱码:request.setCharacterEncoding(“utf-8”);

3.请求转发与重定向

							请求转发				重定向

地址栏是否改变	  			  不变				 改变

是否保留第一次请求时的数据	  	  保留				不保留 		--4种范围对象

请求次数						  1次				  2次
   						(客->服->服->客)      	(客->服->客->服->客)

跳转发生的位置			  	 服务端			     客户端

 请求转发 : request.getRequestDispatcher("testRequest.jsp").forwar(request,response);
 重定向 : response.sendRedirect("testRequest.jsp");

4.Cookie(客户端)

 客户端:不是内置对象,Cookie由服务端产生。由服务端发送给客户端保存,相当于本地缓存

 4.1 方法、属性

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

 4.2 使用过程

(1) 服务端准备Cookie : response.addCookie(Cookie cookie)
(2) 页面跳转(转发重定向)
(3) 客户端获取cookie :request.getCookies()  
注:
	a.服务端增加cookie:response对象  
  	   客户端获取对象:  request对象
	b.获取cookie时,只能一次获取全部cookie,不能单独获取某一个

5. session(服务端)

 5.1 session的产生及实现

(1) session 存储在服务端
(2) session 是在同一个客户请求时共享
(3) 实现机制: a. 第一次客户请求时,产生一个sessionid并赋值给cookie的jsessionid然后发给客户端
		      b. 客户端在第一次请求服务端时,如果服务端发现,此请求没有 JSESSIONID,
		        则会创建一个拥有一个 name= JSESSIONID 的Cookie,并返回给客户端

 5.2 cookie和session的区别

			   session		cookie

保存的位置		服务端		客户端

安全性			较安全		较不安全

保存的内容		Object		String

 5.3 session的常用方法

String getId():	获取sessionId  
boolean isNew():	判断是否是 新用户(第一次访问)
void invalidate():	使session失效  (退出登录、注销)

void setAttribute()
Object getAttribute();

void setMaxInactiveInterval(秒):设置最大有效 非活动时间 
int getMaxInactiveInterval():	 获取最大有效 非活动时间 

6. 四种范围对象

 6.1 范围对象的范围

范围对象(小-->大)						   范围
1.pageContext	 	JSP页面容器			当前页面有效
2.request			请求对象				同一次请求有效(请求转发有效,重定向无效)
3.session			会话对象				同一次会话有效
4.appliation		全局对象				全局有效(整个项目有效,关闭服务器或其他项目无效)

 6.2 共有的方法

(1) Object getAttribute(String name) : 根据属性名,获得属性值
(2) void setAttribute(String name , Object obj) : 设置属性值(新增,修改)
(3) void removeAttribute(String name) : 根据属性名,删除对象

 6.3 注意

 (1) 有时也称pageContext对象为page对象
 (2) 以上4个范围对象通过setAttribute()赋值,通过getAttribute()取值
 (3) 以上范围对象,尽量使用最小的范围。(范围越大,开销越大)