关于jsp的九大隐式

 最近学习jsp,总结了一下jsp九大隐式对象的一些知识点

这些隐式对象按照其功能用途可分为四类:

1.用来共享数据的:

pageConext:在本页共享数据

request:在用一次请求中共享数据

session:在用一次会话中共享数据

application:在程序运行期间共享数据

代码示例:

//存储

pageContext.setAttribute("pageContext", 1);

request.setAttribute("request", 1);

session.setAttribute("session", 1);

application.setAttribute("application", 1);

//在本页获取

Object obj1 = pageContext.getAttribute("pageContext");

Object obj2 = request.getAttribute("request");

Object obj3 = session.getAttribute("session");

Object obj4 = application.getAttribute("application");

在这段代码中,可以在本页获得这四个对象的数据,如果在另一个页面obj1就为null,这就是pageContext的

同一页面请求,如果打开两个两个浏览器来请求数据,那么obj2也为null,因为当你打开两个浏览器请求数据时就不是同一次请求了,当你关闭浏览器在打开或者重定向后(向服务器重新发起请求),obj3也为null;appliaction只要服务器没有重启就一直存在

2.跟servlet有关的对象:

page:相当于java中的this,指的是jsp页面本身,可以获得页面的相关信息

config:用来存放JSP的配置信息,可以在web.xml中进行相关配置

代码示例:

<%

//JSP本身就是一个servlet

HttpJspPage serlvet =(HttpJspPage)page;

String str = serlvet.getServletInfo();

//page相当于this

String str1 = this.getServletInfo();

%>

<%=str %>

<%=str1 %>

输出的结果str和str1是一样的

3.和输入输出有关的对象:

out:在servlet中通过out对象向页面输出

//在页面加载script提示脚本

out.print("<script>alert('ffds');</script>");

response:包含响应信息

//响应index.jsp

response.setHeader("refresh", "0;url=index.jsp");

request:包含请求信息

4.和异常处理有关的对象:

Exception:用来处理一些可能出现的错误而不让页面直接报错

如果页面需要处理异常

<%@ page page errorPage="error.jsp" %>

//如果语句执行出错,则跳转到error.jsp

                 <%

 int i = 9/0;

      %> 

      <%=i %>

定义错误页面

<%@  isErrorPage="true"%>

//在错误处理页面得到错误信息并输出

<%

String message = exception.getMessage();

%>

你访问的页面出错了 <%=message %>

猜你喜欢

转载自1342912960.iteye.com/blog/2280072