jsp内置对象
JSP的内置对象(9个)是可以直接使用的。
内置对象 | 真实的对象 | 方法 |
request | HttpServletRequest | setAttribute() 、getAttribute() |
response | HttpServletResponse | addCookie()、getWriter() |
session | HttpSession | setAttribute()、getAttribute() |
APPlication | Servletcontext | setAttribute()、getAttribute() |
config | ServletConfig | getInitparameter()、getInitParameterNames() |
exception | throwable | getmessage() |
page | Object | (不使用对象) |
out | JspWriter | write()、print() |
pageContext | PageContext | setAttribute()、getAttribute() |
前五个例子如下(request,response,session,application,config):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>转发成功</h3>
<%
request.getAttribute(name);
response.addCookie(cookie);
session.getattribute(name);
application.getAttribute(name);
config.getInitParameter(name);
%>
</body>
</html>
主要提及下面四个对象(exception,page,out,pageContext):
1.exception:
其实这个对象用的比较少了。需要在可能出错的页面属性设置ERRORPage的路径,然后另外在exception对象所在jsp文件属性设置isErrorPage为true。完事。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="/JSP/1.jsp"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
int a = 10/0;
%>
</body>
</html>
————————————————————————————————————————————————————————————————————————
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>你好,服务器正在维护</h3>
<%=exception.getMessage() %>
</body>
</html>
2.page
基本上不用。当前页面对象,指的就是自己。类似Java中的this关键字。当然了,JSP文件翻译成Java文件以后page对象的值就变成了this。在哪里找到编译后的文件?tomcat——work——cataline
3.out
out隐式对象得到的是JspWriter对象。在输出过程中会需要再次转换成response.getwrite()得到的printwriter对象才能输出。因此会有一个输出快慢的问题。response.getwrite()明显更快!
4.PageContext对象
PageContextx对象是一个域对象,还可以通过该对象获得其他8个对象。
1.可以向自己的域存东西
2.可以向其他的域存东西
* setAttribute(String name, Object value, int scope)
* getAttribute(String name, int scope)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h4>向pageContext域存取东西</h4>
<%
//下面两句等价
pageContext.setAttribute("name", "page");
pageContext.setAttribute("name", "page", pageContext.PAGE_SCOPE);
//下面两句等价
request.setattribute("name", "request");
pageContext.setAttribute("name", "request", pageContext.REQUEST_SCOPE);
//类似的
pageContext.setAttribute("name", "session", pageContext.SESSION_SCOPE);
//ServletContext是application的真是对象
pageContext.setAttribute("name", "pageContext", pageContext.APPLICATION_SCOPE);
%>
<%=pageContext.getAttribute("name",pageContext.PAGE_SCOPE) %>
<%=pageContext.getAttribute("name",pageContext.REQUEST_SCOPE) %>
<%=pageContext.getAttribute("name",pageContext.SESSION_SCOPE) %>
<%=pageContext.getAttribute("name",pageContext.APPLICATION_SCOPE) %>
</body>
</html>
相关阅读
今天登陆一个部署在本地的B/S架构系统,突然出现弹出Automation 服务器不能创建对象,我还在用IE8。先扯远一点emmmm.............在
一、JSON 语法规则: JSON 是存储和交换文本信息的语法 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML、JSON等, JSON
JSP之setProperty和getProperty的常用方法
JSP之setProperty的常用方法 getProperty()方法
org.apache.jasper.JasperException: 无法编译JSP 集
很是气愤怎么之前写的简单的Javabean的例子老是显示无法编译,而且配置啥的都没问题就是简单的几行代码 就是找不到错。错误显示:org
通俗解释Hibernate中SessionFactory和Session是否是线
******************************************************************* SessionFactory接口负责Hibernate的初始化和建立Sessio