0

我有一个 servlet,最初应该重定向到静态 html 页面(example.html)

public class TestServlet extends HttpServlet{

        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws IOException{

            response.sendRedirect("/example.html");
        }

}

但它不起作用,因为在重定向时它再次请求 servlet 而不是静态页面,然后重定向等。

为什么它总是要求 servlet,我应该改变什么让它简单地重定向到我的example.html页面。

Tomcat 7 上托管的应用程序

UPD1:映射如下所示:

<servlet>
    <servlet-name>TestServlet</servlet-name>
    <servlet-class>com.web.TestServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping> 
4

2 回答 2

1

将此行添加到您的web.xml文件中

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

它目前不起作用的原因是,您只为请求配置了单个映射,然后它们由您的 servlet 处理。添加您告诉您的应用程序您希望以不同(默认)方式处理 html 文件的此映射。

于 2013-11-09T20:18:17.580 回答
0

您无需修改web.xml​​ . 而是为sendRedirect函数参数提供正确的 URL。请记住,该sendRedirect函数将触发一个新的请求。

于 2014-05-07T02:29:04.610 回答