JSP学习的一些补充知识
前言
上次已经了解了jsp基础,这篇是对上一篇jsp补充内容。
一、JSP页面组成
- jsp页面元素包括:
静态内容 :HTML静态文本
指令 : “<%@”开始,以“%”结束。比如:<%@include file = " Filename" %>
表达式:<%=Java表达式%>
小脚本:<%Java 代码%>
声明:<%!方法%>
标准动作:以“<jsp:动作名”开始。以“</jsp:动作名>”结束,比如:jsp:include page=" Filename"
注释:<!–这是注释,但客户络可以查看到->,<%–这也是注释,但客户读不能查看到–%> - 内容生成与表示相分离,动静分明,但未分离。
- jsp优点:使用可重用的组件(JavaBean组件使得可以在jsp页面中执行复杂的功能),多个JSP使用相同的JavaBean。二次标签开发,采用标签简化。
二、JSP隐含对象
1.关注业务
保存不同用户的登录信息:
使用JSP会话跟踪机制,可以维持每个用户的会话信息,也就是为不同的用户保存不同的数据
2.主要隐含对象
隐含对象:是Web容器创建的一组对象,是可以直接在JSP页面使用的对象,无需使用new”获取实例,JSP隐含对象的名称是JSP的保留字。
隐含对象requst对象常用方法:
一次用户请求的范围
隐含对象session:
session对象用来存储有关用户会话的所有信息session对象常用方法:void setAttribute(String key.Object value):
以键值的方式,将一个对象的值存放到session中
session.setAttribute(“name”, “admin”“);
ObjectgetAttribute(String key):
根据名称去获取session中存放对象的值
String name = (String) session.getAttribute(”“name”);
访问控制就是基于session来完成的。
会话用户持续和服务器所连接的时间范围。
隐含对象application:
application类似于系统的“全局变量”,用于实现用户之间的数据共享。application对象作用于整个应用程序,所有客户端窗口都可以共享该对象。
application对象的常用方法:
void setAttribute(String key.Object value):以键/值的方式,将一个对象的值存放到application中application.setAttribute(“LOGINED_USER”, new ArrayList0);. ObjectgetAttribute(Stringkey):根据键去获取application中存放
对象的值
if (application.getAttribute(““LOGINED_uSER””) =null) i
List loginedUsers = (List) application.getAttribute(“LOGINED_USER”");}
整个应用服务器运行范围。
其他隐含对象:
pageContext对象:用户可以访问页面作用域中的隐含对象page对象:表示页面本身,在JSP中一般很少使用,只作用在当前JSP页面范围。
config对象:存储Servlet的一些初始信息,和page一样很少使用到。
6. jsp内置对象response对象
response对象:处理jsp生成的响应,将响应结果发送给客户端。
7**. 内置对象有效作用范围比较**
page只在同一页面内有效
·当前JSP真
response 只在jp页面内有效
·当前JSP页
·INCLUDE进来的jsp页
·forward跳转的jsp页
request在一次访问请求内有效
·服务端跳转后仍然有效,客户端跳转后无效
session在一次会话范围内有效
·浏览器关闻后则无效
application在服务器应用程序内有效
·所有用户共用
3.JSP范围
Page—只作用在当前的JSP页面范围
Request—一次用户请求的范围
Session会话用户持续和服务器所连接的时间范围
Application—整个应用服务器运行范围
-
page范围
-
request
3.Applicatio
application属性范围值,只要设置一次,则所有的网页窗口都可以取得数据。
application 、 session. requcst →都需要跨多个页属性保存是有内存开销的设置过多的application或每一个scssion 保存过多的对象则性能会降低
如果能使用requcst就不要使用session,能使用scssion 的就不要使用application。
application 应用:在线人员统计、在线人员名单列表
如果要释放application资源,只能重新启动服务器
总结:
四种属性范围都是依靠pageContext 展开的,但是在开发中,往往使用session、requcst范围最多
四种范围:是整个J2EE WEB端开发必须深刻记住的概念
包括设置属性和取得属性的参数类型、返回值类型。