在Java Web中是否有任何方式可以在请求到来时调用特定的JSP页面?在PHP中,我使用.htaccess文件将所有请求重定向到同一页面。以下是我在PHP应用程序的.htaccess中使用的代码:
RewriteEngine on
RewriteRule ^(.*)$ bootstrap.php [L]
.htaccess文件是否也适用于Java?在java中执行此操作的正确方法是什么。
答案 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>
)。