JSP 配置备忘

增加指定 JSP 页面编码

这样 JSP 就不需要每张页面设置 <%@page pageEncoding="UTF-8"%> 头(不过开发环境还是建議加入此文件头,以便 Eclipse 打开时正确识别编码)。

<!-- JSP 页面编码 -->
<jsp-config>
  <jsp-property-group>
    <url-pattern>*.jsp</url-pattern>
    <page-encoding>UTF-8</page-encoding>
    <trim-directive-whitespaces>true</trim-directive-whitespaces>
  </jsp-property-group>
</jsp-config>
如果基于 Spring,还可以使用下面过滤器代替上配置(此项可选)。

<!-- UTF-8 页面编码 -->
<filter>
  <filter-name>encodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>utf-8</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>encodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
<!-- // -->
然而在接受 POST 表单中文乱码的时候,你可能要执行 request.setCharacterEncoding("utf-8"); 才可以。如果输出页面仍是乱码,那么这个可能是 Web 开发的共性问题,需要设置:

response.setContentType("text/html;charset=utf-8");
或
response.setContentType("application/json;charset=utf-8");

修改 Tomcat 默认的出错页

相关教程请参阅本博客《Java Web 错误/异常处理页面》。

<!-- 404 页面不存在错误 -->
<error-page>
  <error-code>404</error-code>
  <location>/common_jsp/error.jsp</location>
</error-page>
<!-- // -->

<!-- 500 服务器内部错误 -->
<error-page>
  <error-code>500</error-code>
  <location>/common_jsp/error.jsp</location>
</error-page>
<!-- // -->

你可以自定义页面样式,以符合你项目的需求。其中 /common_jsp/error.jsp 使用了 Servlet 3.0 新特性,就是把资源文件打包到 jar 文件中。

升级 JSP 支持 Java 1.7

如果 JSP 里使用了 Java 1.7 的代码会抛出“Resource specification not allowed here for source level below 1.7”的异常。为此,可修改 Tomcat 的 conf/web.xml 配置升级到 Java 1.7,注意不是 default 那项。

<servlet>
      <servlet-name>jsp</servlet-name>
      <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
      <init-param>
          <param-name>fork</param-name>
          <param-value>false</param-value>
      </init-param>
      <init-param>
          <param-name>xpoweredBy</param-name>
          <param-value>false</param-value>
      </init-param>
      <init-param>
          <param-name>compilerSourceVM</param-name>
          <param-value>1.7</param-value>
      </init-param>
      <init-param>
          <param-name>compilerTargetVM</param-name>
          <param-value>1.7</param-value>
      </init-param>
      <load-on-startup>3</load-on-startup>
</servlet>

web-fragment.xml

通常我们使用 web.xml 进行配置。对于默认的配置,例如 404、500 出错页提示,我们进行了封装,包含在 ajaxjs-web.jar 中。一般情况下我们直接调用即可,不过对原理感兴趣的童鞋可参考:

我们采用了 Servlet 3.0 新特性,可以将静态资源或 jsp 打包成 jar 调用,甚至包括 web.xml 里面的配置。

默认 web-fragment.xml 如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-fragment xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd" version="3.0">
    <name>ajaxjs_WebFragment1</name>

  <!-- 404 页面不存在错误 -->
  <error-page>
    <error-code>404</error-code>
    <location>/common_jsp/error.jsp</location>
  </error-page>
  <!-- // -->

  <!-- 500 服务器内部错误 -->
  <error-page>
    <error-code>500</error-code>
    <location>/common_jsp/error.jsp</location>
  </error-page>
  <!-- // -->

  <!-- JSP 页面编码 -->
  <jsp-config>
    <jsp-property-group>
      <url-pattern>*.jsp</url-pattern>
      <page-encoding>UTF-8</page-encoding>
      <trim-directive-whitespaces>true</trim-directive-whitespaces>
    </jsp-property-group>
  </jsp-config>
  <!-- // -->

  <!--servlet 监听器 start -->
  <listener>
    <listener-class>com.ajaxjs.app.ConfigListener</listener-class>
  </listener>

  <!--如果不想 url 后面显示 .jsp 扩展名,使得不外显 jsp,可以在 web.xml 指定如下 -->
  <servlet>  
        <servlet-name>public_service</servlet-name>  
        <jsp-file>/common_jsp/service.jsp</jsp-file>  
  </servlet>  

  <servlet-mapping>  
          <servlet-name>public_service</servlet-name>  
          <url-pattern>/public_service/*</url-pattern>  
  </servlet-mapping>
</web-fragment>



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangxin09/article/details/6153150
文章标签: string Java
个人分类: Java AJAXJS Framework
上一篇每天一剂NodeJS良药
下一篇《研磨设计模式》试读样章
想对作者说点什么? 我来说一句

JSP万年历

2008年08月04日 370KB 下载

好用桌面日历备忘软件

2010年07月16日 956KB 下载

没有更多推荐了,返回首页

关闭
关闭