我正在尝试将 URL 路由添加到在 Tomcat 5.5 中运行的 Web 应用程序。
我想让动态页面 URL 更友好,更改main.jsp?type=test&group=info
为main/test/info
风靡一时。
我在 web.xml 中设置了以下内容
<servlet>
<servlet-name>main</servlet-name>
<jsp-file>/main.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>main</servlet-name>
<url-pattern>/main/*</url-pattern>
</servlet-mapping>
在 main.jsp 中,我request.getPathInfo()
用来获取进行路由所需的数据。所有这一切似乎都很好,当我浏览到时,http://mytestserver/example/main/test/info
我得到了我期望的 html。
问题是该页面上的任何相对链接、图像、样式表、javascript 等现在都已损坏,因为它们被解释为相对于完整 URL。
我想不出使用静态链接的简单方法,因为测试服务器和生产服务器上的 URL 处于不同的级别:http://mytestserver/example/
映射到http://example.com/
生产中,我真的不想编写代码来包装每个内部链接站点或在测试服务器上为每个站点设置一个虚拟服务器。
还有什么我可以做的吗?