JSP语法——page指令

 

 

在jsp页面用page指令定义errorPage属性(只能用于本页面):

jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" errorPage="/errors/errors.jsp"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jsp指令</title>
  </head>
  
  <body>
    This is my JSP page. <br>
    
    <%
    	if(true){
    		int x = 1/0;
    	}
     %>
     
     
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isErrorPage="true"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'errors.jsp' starting page</title>
  </head>
  
  <body>
    对不起,出错啦!
     对不起,出错啦!
      对不起,出错啦!
       对不起,出错啦!
        对不起,出错啦!
         对不起,出错啦!
          对不起,出错啦!
           对不起,出错啦!
            对不起,出错啦!
  </body>
</html>

在web.xml配置文件中配置<error-page>元素(用于全局):

web.xml:

<error-page>
  	<exception-type>java.lang.ArithmeticException</exception-type>
  	<location>/errors/errors.jsp</location>
  </error-page>
  
  <error-page>
  	<error-code>404</error-code>
  	<location>/errors/404.jsp</location>
  </error-page>
  
  <error-page>
  	<error-code>500</error-code>
  	<location>/errors/500.jsp</location>
  </error-page>

jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isErrorPage="true"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP '404.jsp' starting page</title>
  </head>
  
  <body>
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
    对不起,您访问的资源不存在!!!!!!!
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isErrorPage="true"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP '500.jsp' starting page</title>
  </head>
  
  <body>
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
    对不起,服务器内部出现错误!!!
  </body>
</html>

PS: 1.错误处理页面要大于1KB,否则可能会无效。

        2.page指令的errorPage属性优先级高于web.xml文件配置的<error-page>。

        3.错误处理页面最好用page指令定义isErrorPage="true"属性,这样可以得到exception隐式对象。

jsp代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP '6.jsp' starting page</title>
  </head>
  
  <body>
    这是中国人
  </body>
</html>

PS: 在eclipse环境中,对于jsp中文乱码问题,只要page指令定义pageEncoding="UTF-8"就可以了。它会自动把jsp保存为UTF-8编码,自动设置response码表为UTF-8,而且浏览器默认用UTF-8编码打开页面。

posted @ 2013-04-26 12:20  魅惑之眼  阅读(166)  评论(0编辑  收藏  举报