Java Web 中是否有任何方法可以在请求到来时调用特定的 JSP 页面?在 PHP 中,我使用 .htaccess 文件将所有请求重定向到同一页面。以下是我在 PHP 应用程序的 .htaccess 中使用的代码:
RewriteEngine on
RewriteRule ^(.*)$ bootstrap.php [L]
.htaccess 文件也适用于 Java 吗?在java中执行此操作的正确方法是什么。
最佳答案
您应该将 url 模式配置为通配符,以便任何请求都由 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);
}
}
你可以根据程序的语法修改这个方法来处理你的项目需求
关于Java将所有页面请求重定向到同一个JSP文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21795559/