Jsp 如何在Tomcat中停止获取错误报告
我创建了一个JSP页面来测试如何连接到Oracle,我正在使用这段代码Jsp 如何在Tomcat中停止获取错误报告,jsp,tomcat,Jsp,Tomcat,我创建了一个JSP页面来测试如何连接到Oracle,我正在使用这段代码 String CONN_STRING = "jdbc:oracle:thin:@localhost:1521:orcl"; try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } C
String CONN_STRING = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = DriverManager.getConnection(CONN_STRING,
"UMS", "d0801213177");
当发生诸如oracle正在初始化或TNS拒绝进行更多连接或数据库密码更改之类的情况时,我在加载页面时会收到错误报告。其中显示总连接字符串。如果用户使用此页面时发生这种情况,则我的安全性将丢失
所以,我的问题是有什么方法可以阻止Tomcat表单报告错误吗?。如果有更好的方法,请告诉我
跟进:如果我使用的是预先准备好的语句,则表/视图之类的错误不存在。这些类型的错误是一般性的,所以我需要将每个块放在单独的try-catch块中吗
编辑
作为初学者,我努力隐藏stackTrace,因为它也显示了我的连接字符串、用户名和密码
现在我知道我本来不应该用JSP编写这段代码。使用Servlet来完成这项任务会更好。JSP为您提供了一个选项,可以为每个JSP指定错误页面。每当页面抛出异常时,JSP容器都会自动调用错误页面
<%@ page language="java" errorPage="" %>
<html>
<head>
<title>Error Handling by try catch block in JSP</title>
</head>
<body>
<%
try{
String CONN_STRING = "jdbc:oracle:thin:@localhost:1521:orcl";
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Connection conn = DriverManager.getConnection(CONN_STRING,
"UMS", "d0801213177");
}
catch(Exception e)
{
e.printStackTrace();
out.print("Error caught by Catch block is : "+e.getMessage());
}
%>
</body>
</html>
JSP中try-catch块的错误处理
最好在servlet中执行业务逻辑,并使用requestDispatcher将其重定向到jsp。我认为
页面
指令的errorPage
。例如,将其放在.jsp页面的顶部:
<%@ page errorPage="ExceptionHandler.jsp" %>
…为了实现这一点
有关更多信息,请查看本文中的详细信息和完整示例:。因此我需要将整个代码放在另一个try..catch块中?
<%@ page isErrorPage="true" import="java.io.*" %>
<html>
<head>
<title>Exceptional Even Occurred!</title>
<style>
body, p { font-family:Tahoma; font-size:10pt; padding-left:30; }
pre { font-size:8pt; }
</style>
</head>
<body>
<%-- Exception Handler --%>
<font color="red">
<%= exception.toString() %><br>
</font>
<%
out.println("<!--");
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
exception.printStackTrace(pw);
out.print(sw);
sw.close();
pw.close();
out.println("-->");
%>
</body>
</html>