有时候,程序可能会报异常,而这些异常,通常需要提示前台操作人员怎么去处理,才能完成业务。

此时,我们只需要在业务层,自己抛出一个异常,自己捕捉之后,调用下类,即可输出到前台。

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();
}
}
}
}

【java】利用异常机制,往前台写错误信息的更多相关文章

  1. java封装返回结果应用 利用反射机制 返回结果以及错误信息

    //此方法是自己琢磨的,可能有漏洞--符合我的系统目前的需求,大家可以借鉴public ResponseMessage exec (String funname, Object[] params,Ob ...

  2. Java的异常机制

    Java的异常机制 (一)异常的概念 异常是指程序在编译或运行时出现的导致程序不能继续编译或运行的状况.. (二)Throwable类 Throwable类继承自Object类,是Java中所有错误或 ...

  3. 【转】Java利用反射机制访问私有化构造器

    Java利用反射机制访问私有化构造器 博客分类: java   我们都知道,当一个类的构造方法被设为私有的时候(private),在其他类中是无法用new来实例化一个对象的. 但是有一种方法可以把带有 ...

  4. java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值

    1.java利用反射机制判断对象的属性是否为空: Map<String,String> validateMap = new LinkedHashMap<String, String& ...

  5. 关于java中异常机制

    什么是异常:异常就是程序在运行时出现的不正常情况.对于严重的情况Java通过Error类进行描述,一般不用编写代码处理:对于不严重的情况Java通过Exception描述,一般编写针对性代码对其进行处 ...

  6. Java之异常机制(1) - 高效处理异常

    Java开发人员做出的有关架构的最重要的决定之一便是如何使用Java异常模型.Java异常处理成为社区中讨论最多的话题之一.一些人认为Java语 言中的已检查异常(Checked Exceptions ...

  7. Java笔记 - 异常机制

    JAVA异常机制是Java提供的用于处理程序在运行期可能出现的异常事件(如数组下标越界.文件不存在等)的一种机制,使程序不会因为 异常的发生 而 阻断或产生不可预见的结果 .而且还可以将逻辑代码与错误 ...

  8. Java——利用反射机制将表单数据自动填充到JavaBean中

    以一个案例介绍反射机制的一种常见的使用场景,以及具体实现. 1.本文案例 在编写Java Web应用程序时,使用表单提交数据是一个必不可少的环节,后台对于前台使用表单提交的数据需要能够从请求中解析,并 ...

  9. 利用huson的日志获取编译错误信息的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 使用hudson编译一百多个VC工程,输出的日志有6M之大,摆在我面前的一个问题是如何利用这个日志信息来获取编译错误信 ...

随机推荐

  1. (转)百度Map API

    转自  http://blog.sina.com.cn/s/blog_6079f38301013sb3.html 一.与地图操作相关的接口哦! (这些接口的开启都是写在执行成功的回调函数那里) map ...

  2. 本地如何搭建IPv6环境测试你的APP

    IPv6的简介 IPv4 和 IPv6的区别就是 IP 地址前者是 .(dot)分割,后者是以 :(冒号)分割的(更多详细信息自行搜索). PS:在使用 IPv6 的热点时候,记得手机开 飞行模式 哦 ...

  3. gulp完成javascript压缩合并,css压缩

    最近需要对项目进行优化,主要是对js的压缩合并和css文件的压缩,查找相关资料之后发现gulp可以实现相关的功能,特此分享一下使用心得. 1.安装gulp gulp是基于Node.js的前端构建工具. ...

  4. IIS7.5 asp+access数据库连接失败处理 64位系统

    IIS7.5 asp+access数据库连接失败处理(SRV 2008R2 x64/win7 x64) IIS7.5不支持oledb4.0驱动?把IIS运行模式设置成32位就可以了,微软没有支持出64 ...

  5. Android layout的横竖屏处理

    一.layout-land和layout-prot的区别与使用 默认情况下,创建的Android项目里只有一个layout文件夹,尽管这样也可以横竖屏切换用,但是某些布局横屏过后闲的格外的丑,如下图 ...

  6. Android开发----权限大全

    一.添加权限格式:     示例:      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STOR ...

  7. C#中的Dictionary简介

    简介在C#中,Dictionary提供快速的基于兼职的元素查找.当你有很多元素的时候可以使用它.它包含在System.Collections.Generic名空间中. 在使用前,你必须声明它的键类型和 ...

  8. ArrayList 类和List<T>泛型类

    ArrayList集合类在System.Colletions命名空间下,它其实是一个特殊的数组,它可以动态的添加和删除元素,根据元素的改变自动决定它自身的大小,也可以灵活的插入元素等操作,使用起来要比 ...

  9. 序列化- 使用BinaryFormatter进行序列化

    可以使用属性(Attribute)将类的元素标为可序列化的(Serializable)和不可被序列化的(NonSerialized)..NET中有两个类实现了IFormatter借口的类中的Seria ...

  10. Java 获取字符串中第N次出现的字符位置

    public static int getCharacterPosition(String string){    //这里是获取"/"符号的位置    Matcher slash ...