2012-02-13 55 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>