当路径是动态时打开jsp页面

时间:2013-03-31 18:41:51

标签: java jsp tomcat7 servlet-3.0

我有一个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配置实现吗?有什么选择呢?

提前致谢。

3 个答案:

答案 0 :(得分:3)

您可以通过在/*中注册新的servlet来将web.xml映射到该JSP页面:

(...)

<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网页的更多信息:(LINK)

答案 1 :(得分:1)

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

获取请求的网址
String url = ((HttpServletRequest) request).getRequestURL().toString();

并使用

转发该请求
request.getServletContext().getRequestDispatcher(newUrl)
                    .forward(request, response);

答案 2 :(得分:0)

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