有时候,程序可能会报异常,而这些异常,通常需要提示前台操作人员怎么去处理,才能完成业务。
此时,我们只需要在业务层,自己抛出一个异常,自己捕捉之后,调用下类,即可输出到前台。
1.servlet里面可以这样写
try { .... } catch (Exception e) { e.printStackTrace(); this.showWrongMessage(resp, e.getMessage());//调用此方法,输出一个弹出窗口到前台页面,传递message // logger.info(e.getMessage()); }
2.html显示页面出错警告
/* * html显示页面出错警告 * * @param response * @param message */ public void showWrongMessage(HttpServletResponse response, String message) { response.setContentType("text/html;charset=GBK"); StringBuffer buf = new StringBuffer(); buf.append(""); buf.append("<html>"); buf.append("<head>"); buf.append("<meta http-equiv="Content-Type" content="text/html; charset=GBK">"); buf.append("<title>提示信息</title>"); buf.append("</head>"); buf.append("<body>"); buf.append(" <script language="javascript">"); buf.append("var x = 640;"); buf.append("var y = 480;"); buf.append("var xx = (window.screen.width - x) / 2;"); buf.append("var yy = (window.screen.height - y) / 2;"); buf.append("window.close();"); buf.append("var windowFeatures = "width=" + x + ",height=" + y + ",status,scrollbars=yes,resizable,left=" + xx + ",top=" + yy + "screenX=" + xx + ",screenY=" + yy; "); buf.append("var win=window.open('','',windowFeatures);"); buf.append("win.document.write('<span class="bnew">提示信息 :</span>');"); buf.append("win.document.write('<center><p><pre style="color:red;border=2px">sorry " + message + "</pe> </p></center>');"); buf.append(" </script>"); buf.append("</body>"); /* buf.append("<body bgcolor="white">"); buf.append("<span class="bnew">提示信息 :</span>"); buf.append("<center><p><pre style='color:red;border=2px'>sorry " + message + "</pe> </p></center>"); buf.append("</body>"); */ buf.append("</html>"); byte[] bs = buf.toString().getBytes(); ServletOutputStream ouputStream = null; try { ouputStream = response.getOutputStream(); ouputStream.write(bs, 0, bs.length); ouputStream.flush(); } catch (IOException e1) { e1.printStackTrace(); } finally { if (ouputStream != null) { try { ouputStream.close(); } catch (IOException e1) { e1.printStackTrace(); } } } }