posts - 2, comments - 27, trackbacks - 0, articles - 60
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

在TOMCAT中伪装页面后缀名

Posted on 2008-09-24 09:40 ZhouFeng 阅读(1278) 评论(0)  编辑  收藏 所属分类: 原创Web开发
一直以来,想做一个东西,就是在发布JSP工程的时候,不让人家知道是用JSP技术来做的,曾想到用过滤器,可搞了半天,还是没有结果,后来在配置文件里去找找,看看有没有什么可以参考的东东,终于让我给找着了,在WEB.XML中发现有这样的片段,找到下手的地方了
    <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>
        
<load-on-startup>3</load-on-startup>
    
</servlet>
    
    
    
<!-- The mapping for the JSP servlet -->
    
<servlet-mapping>
        
<servlet-name>jsp</servlet-name>
        
<url-pattern>*.jsp</url-pattern>
    
</servlet-mapping>

    
<servlet-mapping>
        
<servlet-name>jsp</servlet-name>
        
<url-pattern>*.jspx</url-pattern>
    
</servlet-mapping>
于是乎,就冒出个想法,添加一个<servlet-mapping>试试,片段如下
    <servlet-mapping>
        
<servlet-name>jsp</servlet-name>
        
<url-pattern>*.asp</url-pattern>
    
</servlet-mapping>

我在此添加了一个ASP的映射,你还可以修改为PHP或其它的后缀,写了一个测试页面test1.asp如下

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
    
<title>utf-8</title>
  
</head>
  
  
<body>
    
<h1>This is my test page</h1>
    
<h1>字符集是UTF-8</h1>
  
</body>
</html>

可页面显示的情况如下

中文的显示有点问题,在相同的JSP文件里没有这种情况发生,这个问题目前还不清楚是怎么回事

于是重新建了一个文件test2.asp,然后把页面编码改成ISO-8859-1后再试

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
<head>
    
<title>ISO-8859-1</title>
  
</head>
  
  
<body>
    This is my JSP page. 
<br>
    
<h1>字符集是ISO-8859-1</h1>
  
</body>
</html>

页面的中文还是无法正常显示

可这时可以通过修改浏览器的页面编码来显示正确的中文,将页面编码改成 简体中文(GB2312) 后显示如下

终于OK了,而浏览器里显示的是访问一个asp的文件,可中文的字符处理仍感觉有些不完美,当页面编码是UTF-8的时候,不管怎么修改浏览器的页面编码,中文都无法正确显示,如果某兄有更好的方法解决这个问题,希望留下一点建议,谢谢

本例是在Tomcat6下做的测试


只有注册用户登录后才能发表评论。


网站导航: