2012-02-13 67 views
4

我创建了一个在tomcat中执行时可以正常运行的jsp页面,但是当我将文件的扩展名更改为.html时,它什么都不显示。 有什么办法,我可以与.html文件扩展名运行名.jsp将.jsp作为.html文件运行

+0

你为什么要这么做? JSP是HTML的预处理器。当浏览器请求'.jsp'文件时,tomcat会根据模板规则生成有效的静态HTML。当浏览器请求'.html'文件时,它将按原样提供。你想让你的URL有'.html'扩展名而不是'.jsp'吗? – aitchnyu 2012-02-13 05:54:24

+0

是的,我想要的网址扩展名为.html – jan5 2012-02-13 05:55:25

+0

然后你需要URL重写。唯一的办法是(可以有更简单的方法)想到将Apache作为反向代理(mod_proxy)**放置在Tomcat的前面,并实现URL重写规则(mod_rewrite)以将'.jsp'重命名为' .html' – aitchnyu 2012-02-13 06:25:15

回答

7

添加

  <servlet-mapping> <servlet-name>jsp</servlet-name> 
     <url-pattern>*.html</url-pattern> 
      </servlet-mapping> 

在web.xml

+0

这个工程,但我认为这个答案是整洁:https://stackoverflow.com/a/21875973/387048 – Omid 2018-02-23 07:44:26

0

接受的答案并没有为我工作。我确实为某个特定的html页面找到了一些东西(index.html)

<servlet> 
    <servlet-name>IndexServlet</servlet-name> 
    <jsp-file>/index.jsp</jsp-file> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>IndexServlet</servlet-name> 
    <url-pattern>/index.html</url-pattern> 
    </servlet-mapping>