板砖好少年
2016-05-20 09:05
采纳率: 100%
浏览 2.1k
已采纳

在需要许多不同jsp页面反馈后台数据处理的错误信息的时候,如何只做一个error.jsp页面?

如题所示,本人现在在写一个结构比较简单的基于Jsp/Servlet的web系统。

不同jsp页面反馈后台数据处理的错误时候,如何只做一个error.jsp页面然后根据各个servlet情况显示错误信息?

比如在许多Servlet中,举一个例子:

 //前略
 if(MainDAO.createAssess(credit,usertype,ordersID,orderstype)>-1){
                response.sendRedirect("/carpool/CreateAssessSuccess.jsp");
            }else{
                response.sendRedirect("/carpool/CreateAssessFailure.jsp");
                System.out.println("创建评价失败!可能订单已被删除!");
            }
 //后略

类似这种的Servlet还有很多,然后那些个xxxxSuccess.jsp和 xxxxFailure.jsp其实都是很简单的jsp页面,比如

 <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="/carpool/css/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="/carpool/css/flat-ui.min.css" rel="stylesheet">
<title>取消订单失败</title>
</head>
<body>
<br/><br/>
<center>
<h3>取消订单失败!可能对方已经先你一步取消订单或已被管理员删除!</h3>
<a href="/carpool/index.jsp"><b><u>返回主页</u></b></a>
</center>
</body>
</html>

所以能不能在Servlet怎样设置一下比如一个错误信息,然后传到同一个error.jsp里显示出来?

最近才接触前端脚本所以不太会,找了一下好像也都是说传参数(?但是好像重定向到error页面并不能传参数)。或者大多数解决方法是在后台里写

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

        test1(response);

    }
private void test1(HttpServletResponse response) throws IOException,
            UnsupportedEncodingException {
        response.setHeader("content-type", "text/html;charset=UTF-8");
        String data = "发起订单失败!";
        OutputStream os = response.getOutputStream();
        os.write(data.getBytes("UTF-8"));
    }

然后再用js写一行一行syso(<……>)来实现返回上一页按钮之类的。。但这样的话还不如一次复制一个jsp页面然后修改一行数据来得实在。。。所以有没有大神能教教我能不能如题那样实现。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • lzj0327 2016-05-20 10:08
    已采纳
     <error-page>
        <error-code>500</error-code>
        <location>/500.jsp</location>
      </error-page>
    
    点赞 评论
  • GrayHJX 2016-05-20 09:32

    在Servlet里面不是可以请求转发啊request.getRequestDispatcher("error.jsp").forward(request, response); request里面传你要的参数就好了

    点赞 评论
  • 二三三 2016-05-20 09:58

    在需要action页面了定义一个result参数,在error界面取result(变量)参数,由于后台传输的数据不一样,前台显示也不一样了 ,所以需要一个error界面就好

    点赞 评论
  • qq_34716139 2016-05-20 10:03

    自定义一个异常,写一个异常界面,在web.xml里面配置捕获异常 跳转页面

    点赞 评论

相关推荐 更多相似问题