jsp九大内置对象

JSP隐式对象:

JSP隐式对象是可以直接在jsp页面使用的对象,不用使用"new"来获取实例

JSP九大内置对象:

1对象名称类型中文名称
1requestHttpServletRequest请求对象
2responseHttpServletResponse响应对象
3sessionHttpSession会话对象
4applicationServletcContext全局对象
5configServletConfig配置对象
6exception异常对象
7pagethis本JSP页面
8outJspWriter输出对象
9pageContextJSP页面容器

常用的有五个内置对象
request ,response, session,application,out (在这里只说4个)

request(请求对象)

request里重要的方法是setAttributegetAttribute

	<%	
    	//存储request对象
    	request.setAttribute("name","这里是名字");
    	//返回name属性的值
		String name = (String)request.getAttribute("name");    
     %>
     <%= name %>

页面效果
在这里插入图片描述

response(响应对象)

response对象的转发和重定向

转发:  
	张三(客户端)  到   ->    【窗口 A (服务端 )    ->  窗口B  】
	比如张三去问A借某个东西,A没有,于是A问B借。B把东西给A,A又把东西给张三。张三和B之间没有任何交集

重定向:
	张三(客户端) 	  -> 	窗口 A (服务端 ) ->去找B
	张三(客户端)    -> 	窗口 B (服务端 ) ->结束
	例:张三问A借东西,A没有,A给张三说:你去问B借。然后张三就又去问B借,借到之后结束
// 转发,地址栏不会改变
request.getRequestDispatcher("two.jsp").forward(request,response);

//重定向,地址栏会发生改变
response.sendRedirect("MyJsp2.jsp");

在这里插入图片描述

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

session

同一次会话有效 (无论怎么跳转,都有效;关闭/切换浏览器后无效 ; 从 登陆->退出 之间 全部有效)

客户端第一次请求服务端时,(jsessionid-sessionid)服务端会产生一个session对象(用于保存该客户的信息); 
并且每个session对象 都会有一个唯一的 sessionId( 用于区分其他session);
服务端由会 产生一个cookie,并且 该cookie的name=JSESSIONID ,value=服务端sessionId的值;
然后 服务端会在 响应客户端的同时 将该cookie发送给客户端,至此 客户端就有了 一个cookie(JSESSIONID);
因此,客户端的cookie就可以和服务端的session一一对应(JSESSIONID - sessionID)

客户端第二/n次请求服务端时:服务端会先用客户端cookie种的JSESSIONID  去服务端的session中匹配sessionid,
如果匹配成功(cookie  jsessionid和sesion sessionid),说明此用户 不是第一次访问,无需登录;

例子:

客户端:		    顾客(客户端)
服务端: 存包处   -  商场(服务端)
顾客第一次存包:商场 判断此人是 之前已经存过包(通过你手里是否有钥匙)。
 如果是新顾客(没钥匙) ,分配一个钥匙 给该顾客; 钥匙 会和 柜子 一一对应;
 第二/n次 存包:商场 判断此人是 之前已经存过包(通过你手里是否有钥匙)
 如果是老顾客(有钥匙),则不需要分配;该顾客手里的钥匙 会 和柜子 自动一一对应。

session方法:

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

application全局变量

String getContextPath()	虚拟路径
String getRealPath(String name): 绝对路径(虚拟路径 相对的绝对路径)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值