Java将所有页面请求重定向到相同的JSP文件

时间:2014-02-15 09:11:24

标签: java php redirect

在Java Web中是否有任何方式可以在请求到来时调用特定的JSP页面?在PHP中,我使用.htaccess文件将所有请求重定向到同一页面。以下是我在PHP应用程序的.htaccess中使用的代码:

RewriteEngine on 
RewriteRule ^(.*)$ bootstrap.php [L]

.htaccess文件是否也适用于Java?在java中执行此操作的正确方法是什么。

2 个答案:

答案 0 :(得分:1)

您应该使用url模式配置servlet或过滤器作为通配符,以便servlet或过滤器处理任何请求。您可以在web.xml中执行以下操作

    <filter>
        <filter-name>sessionFilter</filter-name>
        <filter-class>com.app.ActionFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>sessionFilter</filter-name>
        <url-pattern>*</url-pattern>
    </filter-mapping>

在ActionFilter类中实现javax.servlet.Filter,在doFilter方法中,只需将响应重定向到jsp。

public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {

    RequestDispatcher requestDispatcher = req.getRequestDispatcher("myJsp.jsp");

    try {
        requestDispatcher.forward(req, res);
    }
    catch (ServletException e) {
        logger.error("Exception occurred:", e);
    }
    catch (IOException e) {
        logger.error("Exception occurred:", e);
    }
}

您可以根据人工方式处理项目需求来修改此方法

答案 1 :(得分:0)

.htaccess文件仅适用于Apache HTTP Server。对于JSP,您需要在Dynamic Web Project的web.xml中配置url模式(即<url-pattern>/*</url-pattern>)。