开发者社区> 问答> 正文

当程序404的时候自动跳转到首页

小弟现在开发一个网站,正在考虑如何防止客户在地址栏中删除掉某些路径后返回404页面的问题。

我想问下如何在找不到404页面的时候统一返回到我网站的首页呢?

我自己初步的想法是借助过滤器控制,而且在过滤器中可以获取页面的状态码,产生如下代码:

HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
System.err.println("No1:" + response.getStatus());
filter.doFilter(request, response);
System.err.println("No2:" + response.getStatus());
if (response.getStatus()==404) {
    response.sendRedirect(request.getContextPath() + "/" + SysConstant.LOGINPATH); 
// 这里设置如果没有登陆将要重定向到的页面
    return;
}

展开
收起
a123456678 2016-03-17 15:50:58 3310 0
1 条回答
写回答
取消 提交回答
  • web.xml:  
    
    <!-- 404 未找到 访问的资源不存在 -->
    
        <error-page> 
            <error-code>404</error-code> 
            <location>/errors/404</location> 
        </error-page> 
    
        <!-- 500 内部服务器错误 --> 
        <error-page> 
            <error-code>500</error-code> 
            <location>/errors/error</location> 
        </error-page>
    
    分别写个对应的action(/errors/404,/errors/error)跳到首页
    
    
    2019-07-17 19:05:33
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载