JSP九大内置对象、四种范围对象

JSP九大内置对象

1、out :输出对象

向客户端输出内容

2、pageContext:JSP页面容器

3、request :请求对象

请求对象,存储客户端向服务端发送的请求信息。

常见方法:
String getParameter(String name):根据请求的字段名key,返回字段值value;
String[] getParameterValues(String name):根据请求的字段名key,返回多个字段值value (checkbox);
void setCharacterEncoding(“编码格式utf-8”):设置请求编码
getRequestDispatcher(“b.jsp”).forward(request,response):请求转发的方式跳转页面
getServerContext():获取项目的ServletContext对象

4、response:响应对象

提供的方法:
void addCookie():服务端向客户端增加cookie对象。
void sendRedirect(String location) throws IOEexception:页面跳转的一种方式。
void setContentType(String type):设置服务端响应的编码(设置服务端的contentType类型)。

请求转发和重定向的区别:

请求转发重定向
地址栏是否改变不变改变
是否保留第一次请求时数据保留不保留
请求次数12
跳转发生的位置服务端客户端发出的第二次跳转

5、session(服务端):会话对象

Cookie(客户端,不是内置对象):Cookie是由服务端生成的,再发送给客户端保存。相当于本地缓存,可提高服务端的效率,但安全性较差。
Cookie: key = value,由javax.servlet.http.Cookie类产生。
Cookie方法:
public Cookie(String name,String value)
String getName():获取name
String getValue():获取value
void setMaxAge(int expiry):最大有效期(秒)

客户端在第一次请求服务端时,如果服务端发现此请求没有JESESSIONID,会创建一个name=JESESSIONID的cookie,并返回给客户端。

注cookie:
1、不是内对象,要使用必须new。
2、但是服务端会生成一个(服务端自动new一个cookie)name=JSESSIONID的cookie,并返回给客户端

服务端准备发送给客户端:
response.addCookie(Cookie cookie);
页面跳转(转发,重定向)
客户端获取cookie:request.getCookies();
服务端增加cookie:response对象;客户端获取对象:request对象,不能直接获取某一个单独对象,只能一次性将全部cookie拿到。

session:会话
session机制:
客户端第一次请求服务端时,服务端会产生一个session对象(用于保存该客户的信息);并且每个session对象都会有一个唯一的sessionId(用于区分其他session);服务端由会产生一个cookie,并且该cookie=JSESSIONID,value=服务端sessionId的值;然后服务端会在响应客户端的同时,将该cookie发送给客户端,至此客户端就有了一个cookie(JSESSIONID);因此客户端的cookie就可以和服务端的session一一对应(JSESSION-sessionID)。
客户端第二次或第n次请求服务端时,服务端会先用客户端cookie中的JSESSIONID去服务端的session中匹配sessionid,如果匹配成功(cookie jssessionid和sessionid),说明此用户不是第一次访问,就无需再次登录;

session方法:
String getId():获取sessionId
boolean isNew():判断是否是 新用户(第一次访问)
void invalidate():使session失效(退出登录,注销)
void setAttribute()
Object getAttribute()
void setMaxInactiveInterval(秒):设置最大有效非活动时间(重新登录)
int getMaxInactiveInterval():获取最大有效非活动时间

cookie和session的区别:

-sessioncookie
保存的位置服务端客户端
安全性较安全较不安全
保存的内容ObjectString

6、application:全局对象

String getContextPath():获取虚拟路径
String getRealPath(String name):获取绝对路径(虚拟路径相对的绝对路径)

7、config:配置对象(服务器配置信息)

8、page:当前JSP页面对象

相当于java中的this

9、exception:异常对象

四种范围对象(小->大)

pageContext(page对象)
request
session
application

pageContextJSP页面容器当前页面有效页面跳转后无效
request请求对象同一次请求有效请求转发后有效;重定向后无效
session会话对象同一次会话有效切换浏览器后无效(登录->退出)
application全局对象全局有效(整个项目有效)切换浏览器仍然有效;关闭服务、其他项目无效

以上四个对象共有的方法:
Object getAttribute(String name):根据属性名,获取属性值
void setAttribute(String name,Object obj):设置属性值(新增,修改)
例:setAttribute(“a”,“b”);//若a对象之前不存在,则新建一个a对象;若a之前已存在,则将a 的值改为b

void removeAttribute(String name):根据属性名,删除对象

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值