基本情况说明:
MyEclips版本:Version: 6.5.1 GA
web.xml设置异常处理代码如下:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/error.jsp</location>
</error-page>
error.jsp部分代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" isErrorPage="true"%>
......
<title>在线知识仓库——Error页面</title>
......
<body>
<%=exception.getMessage() %>
</body>
login.jsp 登录界面,用户提交表单数据到一个LoginServlet
LoginServlet负责进行用户名和密码的验证,该验证又需要调用DBhelp.java获取数据库连接.
DBhelp.java代码如下:
public class DBHelp {
public Connection getConn(){
Connection conn = null;
String dbURL = "jdbc:mysql://127.0.0.1/LoreDepot";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(dbURL,"root","");
} catch (ClassNotFoundException e) {
} catch (SQLException e) {
throw new RuntimeException("Error:数据库连接失败!");
}
return conn;
}
}
我希望做到的效果:
在登录系统的如果产生异常,系统会跳转到error.jsp页面显示相关信息。
我面临的问题是:
可是当我关闭Mysql服务的时候,系统能够跳转到error.jsp,但是该页面显示的中文为乱码。
如果我直接访问error.jsp页面,中文字符为正常显示。
如果我从MyEclipse里面导出项目单独部署在Tomcat中,通过登录自动跳转到error.jsp就会正常显示。
具体问题如下,求高手指点:
1.以上描述产生异常后跳转到error.jsp页面乱码如何解决?是MyEclipse的问题?还是我哪个地方弄错了?
2.在JSP+Servlet+JavaBean的三层架构里面,Servlet和JavaBean中的抛出一个RuntimeException,然后一个JSP错误页面去提示错误信息,是否合理?如果不合理,怎样解决比较有效?