1

我有一个需要打开的 jsp 页面(带有相应的 servlet),无论指定什么路径。例如,我的 jsp 是 webapps/test/index.jsp 它应该以 http://localhost/[path] 的形式打开,其中路径是任意字符串。

eglocalhost/xxxx 和 localhost/yyyy 应该打开同一个 webapps/test/index.jsp。

我正在使用 Tomcat 7.0 和 Servlet 3.0。

这可以通过tomcat或servlet配置来实现吗?有哪些选项可以做到这一点?

提前致谢。

4

3 回答 3

3

您可以/*通过在您的web.xml

(...)

<servlet>
  <servlet-name>index-view</servlet-name>
  <jsp-file>/test/index.jsp</jsp-file>
</servlet>

<servlet-mapping>
  <servlet-name>index-view</servlet-name>
  <url-pattern>/*</url-pattern>
</servlet-mapping>

(...)  

有关 Oracle 页面的更多信息:(链接)

于 2013-03-31T19:07:59.867 回答
1

您可以创建一个 servletfilter,并在该过滤器中使用 requestDispatcher.forward 方法将请求转发到目标页面。您可以使用获取请求的 url

String url = ((HttpServletRequest) request).getRequestURL().toString();

并使用转发该请求

request.getServletContext().getRequestDispatcher(newUrl)
                    .forward(request, response);
于 2013-04-01T02:47:36.747 回答
0

我认为您应该检查项目的配置文件,确保 servlet 映射在 web.xml 中正确且唯一。

于 2013-04-01T06:52:01.323 回答