如何隐藏.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
答案 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)。