隐藏.jsp扩展名或更改URL上的显示名称

时间:2013-12-02 10:51:00

标签: java jsp servlets

如何隐藏.jsp扩展名或更改网址上的显示名称?

我正在使用servlet-jsp通信。我的web.xml代码是

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 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-app_2_5.xsd">
    <servlet>
        <servlet-name>pub</servlet-name>
        <jsp-file>/publications.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
        <servlet-name>pub</servlet-name>
        <url-pattern>/publications</url-pattern>
    </servlet-mapping>
    <servlet>
        <servlet-name>SciArchive</servlet-name>
        <servlet-class>controller.SciArchiveController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>SciArchive</servlet-name>
        <url-pattern>*.sci</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>home.jsp</welcome-file>
    </welcome-file-list>
</web-app>

我想在网址..../SciArchive/publications.jsp中隐藏.jsp扩展名 到..../SciArchive/publications

1 个答案:

答案 0 :(得分:23)

您已将publications.jsp映射到网址格式。为什么不使用此URL模式来访问jsp。 ?

<servlet>
  <servlet-name>pub</servlet-name>
  <jsp-file>/publications.jsp</jsp-file>
</servlet>
<servlet-mapping>
  <servlet-name>pub</servlet-name>
  <url-pattern>/publications</url-pattern> <!-- Use this URL -->
</servlet-mapping>

如果您点击网址http://somehost/SciArchive/publications,它会自动在后台调用您的jsp,并且网址将保持不变(没有网页名称,即没有.jsp)。