JSP学习总结



JSP学习总结

每一个JSP都被翻译成一个Servlet,然后再编译执行

一个JSP翻译之后继承HttpJspBase类,实现JspSourceDependent接口

Jsp生命周期

1.翻译

2.编译

3.加载类 ü  

4.实例化类 ü  

5.jspInit()调用 ü  

6._jspService()调用 ü  

7.jspDestroy()调用

JSP中共有9个内置对象,分别是:

request,response,session,out,application,pageContext,page, config,exception

查看jsp翻译后的代码可以发现这九个内置对象是在_jspService()方法中创建并初始化的

其中常用的内置对象有4个,下面重点介绍这四个内置对象

1.《请求级别》request获取请求信息,转发数据

在原位置保存数据,在转发目标位置来获取数据

所以request(请求转发)是两个页面之间共享数据的功能

request.setAttribute(key,value);

request.getRequestDispatcher(Dream.jsp).forward(request,response);

在目标页面可以获取请求级别共享的数据

方法一:Java代码获取共享数据

<%

String value=request.getAttribute(key).toString();

%>

方法二:EL表达式获取共享数据<requestScope表示取那个范围>

${requestScope.key}

方法三:EL表达式获取共享数据《会在所有范围中寻找key的参数,从小范围到大范围找pageContext-->request-->session-->application》

${key}

2.《页面级别》pageContext可以通过方法set/getAttribute方法来保存/获取数据。操作数据作用范围只在当前页面有效,当数据存储好后,任意位置可以使用该数据pageContext.setAttribute(key,value);

<%=pageContext.getAttribute(key)%>//太麻烦

<!--通过EL表达式访问更方便-->

${key}//很方便

3.《会话级别》Session。当一个客户端,连接服务器(对服务器发出请求),双方会建立一个会话。通过会话,服务器才能辨认出每一个客户端。

服务器会为每一个客户端分配一个ID,根据时间形成,不会重复。在客户端也会保存一个文件(cookie)里面保存这个ID

当客户端离开会话,或者关闭浏览器,会话就会结束,

会话默认持续20分钟会关闭

使用session,主要在连接与断开这个期间,使服务器与客户端之间共享数据

Session  ID会话期间ID是不变的(每个电脑是一个客户端,而不是每个浏览器)

电脑(客户端)连接上服务器,电脑上(客户端)会生成一个Cookie,服务器端会有一个Session ID

一般用于存储用户名

4.《应用级别》application

当服务器启动,就可以向appliaction范围来存储数据,该范围内的数据,服务器和所有的用户共享。

服务器关闭,这些数据才会消失,也可以通过函数删除这些数据

常用于网站计数器 

5.out输出信息(out.print()在页面输出信息)

6.response对象:当前响应对象

7.page:指向页面自身的方式,相当于this关键字

8.config:与当前JSP页面的Servlet对应的ServletConfig对象

9.exception:其他地方抛出的Throwable对象,仅当<%@ page isErrorPage=true%>时有效

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值