zoukankan      html  css  js  c++  java
  • Page指令

    首先创建了java动态web工程以后,在Webcontent目录下创建了a.jsp,然后运行项目。

    会发现在:D:workspace.metadata.pluginsorg.eclipse.wst.server.core mp3workCatalinalocalhostJSPzhilingorgapachejsp该目录下生成了a_jsp.java文件

    该文件是a.jsp编译后生成的java文件。

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Date" errorPage="/error.jsp"%>

    /表示当前web项目的根目录

    errorPage属性是什么意思呢?就是当页面出错的时候,会展示哪个页面。比如:

    在Webcontent目录下的a.jsp中有如下代码(把一个<%@ %>分开属性写成两个<%@ %>也是可以的):

        <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.Date" errorPage="/error.jsp"%>
       <% Date date = new Date(); DateFormat dateFormat = null; HttpServletRequest httpServletRequest = null; int i = 10 / 0; %>

    然后在Webcontent目录下有error.jsp页面,那么运行的话就会跳转到error.jsp页面。

    另外一种方法就是在web应用下面的web.xml里面配置error-page:

    或者

    然后把a.jsp里面的errorPage="/WEB-INF/error.jsp"去掉,也能同样的效果。

    再拓展一下,现在我们想处理404的问题,也就是HTTP 404- 无法找到文件,我们需要这样配置:

    接下来,我们把error.jsp设置属性为error页面

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%>

    然后我们就可以使用Excepion对象了:Error Message:<%=exception.getMessage()%>

    此时我们要注意,地址栏依然显示的是a.jsp的地址,这意味着什么?说明服务器内部是转发的,而不是重定向。

    另一方面,不建议能够直接访问error.jsp,因为本来就是个错误页面,而且直接访问会报空指针异常。

    那么我们如何处理呢?对于tomcat服务器来说,WEB-INF下的文件是不能够通过浏览器直接输入地址来访问,会出现如下情况:

     但是通过请求的转发是可以的,比如在a.jsp中的errorPage属性修改为如下:

    contentType: 指定当前 JSP 页面的响应类型. 实际调用的是 response.setContentType("text/html; charset=UTF-8");

    通常情况下, 对于 JSP 页面而言其取值均为 text/html; charset=UTF-8. charset 指定返回的页面的字符编码是什么. 通常取值为 UTF-8

    pageEncoding: 指定当前 JSP 页面的字符编码. 通常情况下该值和 contentType 中的 charset 一致.

    isELIgnored: 指定当前 JSP 页面是否可以使用 EL 表达式. 通常取值为 false.

  • 相关阅读:
    Linux/Unix time时间戳的处理转换函数
    linux下socket编程:区分close()与shutdown()
    数组注意事项
    grep v XXXXX
    [转]计算机读研的取向
    tail f 文件名
    字符串与整数、浮点数、无符号整数之间的转换常用函数
    Linux共享库(动态库)与进程之间全局变量是无法共享的
    静态库、共享库、动态库的创建和使用
    请教bcopy和memcpy的区别
  • 原文地址:https://www.cnblogs.com/XJJD/p/7468447.html
Copyright © 2011-2022 走看看