?? dbexceptionservlet.java
字號:
package lvyi;
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.log4j.*;
import org.apache.log4j.xml.DOMConfigurator;
public class DBExceptionServlet extends HttpServlet
{
static Logger logger=Logger.getRootLogger();
static Logger bookLogger=Logger.getLogger("bookstoreLogger");
public void init() throws ServletException
{
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
if(file != null)
{
PropertyConfigurator.configure(prefix+file);
// DOMConfigurator.configure(prefix+file);
}
try
{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}
catch(ClassNotFoundException ce)
{
throw new UnavailableException("加載數據庫驅動失敗!");
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException,IOException
{
Connection conn=null;
Statement stmt=null;
try
{
conn=DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs","sa","");
stmt=conn.createStatement();
stmt.executeUpdate("delete from jobs where job_id=13");
}
catch(SQLException se)
{
NDC.push(req.getRemoteHost());
logger.warn("數據庫操作失敗! "+se);
logger.error("數據庫操作失敗! "+se);
bookLogger.warn("數據庫操作失敗! "+se);
bookLogger.error("數據庫操作失敗! "+se);
NDC.pop();
NDC.remove();
resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
"數據庫操作出現問題,請聯系管理員。");
}
finally
{
if(stmt!=null)
{
try
{
stmt.close();
}
catch(SQLException se)
{
bookLogger.error("關閉Statement失敗!",se);
}
stmt=null;
}
if(conn!=null)
{
try
{
conn.close();
}
catch(SQLException se)
{
bookLogger.error("關閉數據庫連接失敗!",se);
}
conn=null;
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -