注:省略了很多其他东西,按部就班照搬问题多多。仅做自己备忘及给需要的朋友参考
使用log4j在web项目中进行日志记录。
1.添加 一个用于log4j初始化(指定属性文件等)的servlet
2.配置web.xml,让project启动就让log4j初始化(project启动即运行上面的servlet)
3.编写log4j.properties,(演示在一个配置文件中控制多个logger的输出)
一个是用于控制数据库操作日志的DB(R),一个是用于登陆信息日志的LOGON(R2),在一个properties一起配置。指定了日志输出的路径“ log4j.appender.R.File = ../webapps/addressbook1/WEB-INF/log/event.log”。
如果直接为 log4j.appender.R.File =event.log, 则日志文件将位域tomcat/bin/eveng.log
4.在代码中添加日志操作代码
一个日志输出event.log
使用log4j在web项目中进行日志记录。
1.添加 一个用于log4j初始化(指定属性文件等)的servlet
package
addrbook.servlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j. * ;
public class Log4jInitServlet extends HttpServlet {
public void init() {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j. * ;
public class Log4jInitServlet extends HttpServlet {
public void init() {
String prefix = getServletContext().getRealPath("/");
String file = getInitParameter("log4j-init-file");
if (file != null) {
PropertyConfigurator.configure(prefix + file);
}
}
public void doGet(HttpServletRequest req, HttpServletResponse res) {
}
}
2.配置web.xml,让project启动就让log4j初始化(project启动即运行上面的servlet)
<
servlet
>
< servlet-name > Log4jInitServlet </ servlet-name >
< servlet-class > addrbook.servlet.Log4jInitServlet </ servlet-class >
< init-param >
< param-name > log4j-init-file </ param-name >
< param-value > /WEB-INF/classes/log4j.properties </ param-value >
</ init-param >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
< servlet-name > Log4jInitServlet </ servlet-name >
< servlet-class > addrbook.servlet.Log4jInitServlet </ servlet-class >
< init-param >
< param-name > log4j-init-file </ param-name >
< param-value > /WEB-INF/classes/log4j.properties </ param-value >
</ init-param >
< load-on-startup > 1 </ load-on-startup >
</ servlet >
3.编写log4j.properties,(演示在一个配置文件中控制多个logger的输出)
#log4j.rootLogger
=
fatal
log4j.logger.DB = debug , R
log4j.logger.LOGON = debug , R2
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c %p%n %m%n
log4j.appender.R.File = ../webapps/addressbook1/WEB-INF/log/event.log
log4j.appender.R2 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R2.layout = org.apache.log4j.PatternLayout
log4j.appender.R2.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c %p%n %m%n
log4j.appender.R2.File = ../webapps/addressbook1/WEB-INF/log/event.log
log4j.logger.DB = debug , R
log4j.logger.LOGON = debug , R2
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c %p%n %m%n
log4j.appender.R.File = ../webapps/addressbook1/WEB-INF/log/event.log
log4j.appender.R2 = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R2.layout = org.apache.log4j.PatternLayout
log4j.appender.R2.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c %p%n %m%n
log4j.appender.R2.File = ../webapps/addressbook1/WEB-INF/log/event.log
一个是用于控制数据库操作日志的DB(R),一个是用于登陆信息日志的LOGON(R2),在一个properties一起配置。指定了日志输出的路径“ log4j.appender.R.File = ../webapps/addressbook1/WEB-INF/log/event.log”。
如果直接为 log4j.appender.R.File =event.log, 则日志文件将位域tomcat/bin/eveng.log
4.在代码中添加日志操作代码
package
addrbook.model;
import java.sql. * ;
import org.apache.log4j. * ;
public class DBUtil {
private final static String DRIVER_NAME = "com.mysql.jdbc.Driver";
private final static String DBURL = "jdbc:mysql://";
private final static String DBNAME = "struts_addr";
private final static String DB_USER_NAME = "feng";
private final static String DB_USER_PWD = "";
public static Logger logger = Logger.getLogger("DB"); //获取一个Logger,名字与properties文件里的对应
public DBUtil() {
}
public static java.sql.Connection connectToDb(String hostName,
String databaseName) throws Exception {
Connection connection = null;
String connName = DBURL + hostName + ":3306" + "/" + databaseName;
logger.debug("connName: "+connName); //日志输出
Class.forName(DRIVER_NAME).newInstance();
connection = DriverManager.getConnection(connName, DB_USER_NAME,
DB_USER_PWD);
return connection;
}
public static Connection connectToDb(String databaseName) throws Exception {
return (connectToDb("localhost", databaseName));
}
public static Connection connectToDb() throws Exception {
return (connectToDb("localhost", DBNAME));
}
}
import java.sql. * ;
import org.apache.log4j. * ;
public class DBUtil {
private final static String DRIVER_NAME = "com.mysql.jdbc.Driver";
private final static String DBURL = "jdbc:mysql://";
private final static String DBNAME = "struts_addr";
private final static String DB_USER_NAME = "feng";
private final static String DB_USER_PWD = "";
public static Logger logger = Logger.getLogger("DB"); //获取一个Logger,名字与properties文件里的对应
public DBUtil() {
}
public static java.sql.Connection connectToDb(String hostName,
String databaseName) throws Exception {
Connection connection = null;
String connName = DBURL + hostName + ":3306" + "/" + databaseName;
logger.debug("connName: "+connName); //日志输出
Class.forName(DRIVER_NAME).newInstance();
connection = DriverManager.getConnection(connName, DB_USER_NAME,
DB_USER_PWD);
return connection;
}
public static Connection connectToDb(String databaseName) throws Exception {
return (connectToDb("localhost", databaseName));
}
public static Connection connectToDb() throws Exception {
return (connectToDb("localhost", DBNAME));
}
}
package
addrbook.action;
import java.util.Locale;
import javax.servlet.http. * ;
import org.apache.struts.action. * ;
import org.apache.struts.util.MessageResources;
import addrbook.form.InsertForm;
import addrbook.model.AddressBookBean;
import addrbook.model.DBUtil;
import addrbook.Constants;
/**
* <strong>InsertAction</strong> inserts a new record into the database.
*/
public final class InsertAction extends AbstActionBase {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Locale locale = getLocale(request);
MessageResources messages = getResources(request);
String name = null;
String phone = null;
String address = null;
ActionMessages errors = new ActionMessages();
name = ((InsertForm) form).getName();
phone = ((InsertForm) form).getPhone();
address = ((InsertForm) form).getAddress();
try {
AddressBookBean bean = new AddressBookBean(name, phone, address);
bean.insert();
} catch (Exception ex) {
//ex.printStackTrace(System.out);
DBUtil.logger.debug("exception!!", ex); //记录数据库操作异常日志
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.insert.failed"));
}
if (!errors.isEmpty()) {
saveErrors(request, errors);
return (new ActionForward(mapping.getInput()));
}
// If we had no errors, then add a confirmation message
ActionMessages actionMessages = new ActionMessages();
actionMessages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"record.inserted"));
saveMessages(request, actionMessages);
return (mapping.findForward(Constants.FORWARD_CONFIRMATION));
}
}
import java.util.Locale;
import javax.servlet.http. * ;
import org.apache.struts.action. * ;
import org.apache.struts.util.MessageResources;
import addrbook.form.InsertForm;
import addrbook.model.AddressBookBean;
import addrbook.model.DBUtil;
import addrbook.Constants;
/**
* <strong>InsertAction</strong> inserts a new record into the database.
*/
public final class InsertAction extends AbstActionBase {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Locale locale = getLocale(request);
MessageResources messages = getResources(request);
String name = null;
String phone = null;
String address = null;
ActionMessages errors = new ActionMessages();
name = ((InsertForm) form).getName();
phone = ((InsertForm) form).getPhone();
address = ((InsertForm) form).getAddress();
try {
AddressBookBean bean = new AddressBookBean(name, phone, address);
bean.insert();
} catch (Exception ex) {
//ex.printStackTrace(System.out);
DBUtil.logger.debug("exception!!", ex); //记录数据库操作异常日志
errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"error.insert.failed"));
}
if (!errors.isEmpty()) {
saveErrors(request, errors);
return (new ActionForward(mapping.getInput()));
}
// If we had no errors, then add a confirmation message
ActionMessages actionMessages = new ActionMessages();
actionMessages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
"record.inserted"));
saveMessages(request, actionMessages);
return (mapping.findForward(Constants.FORWARD_CONFIRMATION));
}
}
package
addrbook;
import addrbook.model. * ;
import java.util. * ;
import java.io. * ;
import javax.servlet.ServletException;
import javax.servlet.http. * ;
import javax.servlet. * ;
import org.apache.commons.digester.Digester;
import org.apache.log4j. * ;
public final class UserDatabaseServlet extends HttpServlet {
private Hashtable<String, UserBean> database = null;
//private int debug = 0;
private String pathname = "/WEB-INF/userdatabase.xml";
private static Logger logger = Logger.getLogger("LOGON");//获取logger,名字与properties文件对应
public void destroy(){
getServletContext().removeAttribute(Constants.DATABASE_KEY);
}
/*public int getDebug(){
return this.debug;
}*/
public void addUser(UserBean user){
database.put(user.getUserName(), user);
}
public void init() throws ServletException{
String value = getServletConfig().getInitParameter("pathname");
if(value != null)
pathname = value;
try{
load();
getServletContext().setAttribute(Constants.DATABASE_KEY, database);
}catch(Exception e){
//log("Database load exception",e);
logger.debug("Database load exception", e);
throw new UnavailableException("Cannot load database from '"+pathname+"' "+e.getMessage());
}
}
private synchronized void load() throws Exception{
database = new Hashtable<String, UserBean>();
//记录loon信息
logger.info("Loading database from '"+pathname+"'");
InputStream is = getServletContext().getResourceAsStream(pathname);
if(is == null){
//记录logon信息
logger.info("No such resource available - loading empty database");
return;
}
BufferedInputStream bis = new BufferedInputStream(is);
Digester digester = new Digester();
digester.push(this);
//digester.setDebug(1);
digester.setValidating(false);
digester.addObjectCreate("database/user", "addrbook.model.UserBean");
digester.addSetProperties("database/user");
digester.addSetNext("database/user","addUser");
digester.parse(bis);
bis.close();
}
}
import addrbook.model. * ;
import java.util. * ;
import java.io. * ;
import javax.servlet.ServletException;
import javax.servlet.http. * ;
import javax.servlet. * ;
import org.apache.commons.digester.Digester;
import org.apache.log4j. * ;
public final class UserDatabaseServlet extends HttpServlet {
private Hashtable<String, UserBean> database = null;
//private int debug = 0;
private String pathname = "/WEB-INF/userdatabase.xml";
private static Logger logger = Logger.getLogger("LOGON");//获取logger,名字与properties文件对应
public void destroy(){
getServletContext().removeAttribute(Constants.DATABASE_KEY);
}
/*public int getDebug(){
return this.debug;
}*/
public void addUser(UserBean user){
database.put(user.getUserName(), user);
}
public void init() throws ServletException{
String value = getServletConfig().getInitParameter("pathname");
if(value != null)
pathname = value;
try{
load();
getServletContext().setAttribute(Constants.DATABASE_KEY, database);
}catch(Exception e){
//log("Database load exception",e);
logger.debug("Database load exception", e);
throw new UnavailableException("Cannot load database from '"+pathname+"' "+e.getMessage());
}
}
private synchronized void load() throws Exception{
database = new Hashtable<String, UserBean>();
//记录loon信息
logger.info("Loading database from '"+pathname+"'");
InputStream is = getServletContext().getResourceAsStream(pathname);
if(is == null){
//记录logon信息
logger.info("No such resource available - loading empty database");
return;
}
BufferedInputStream bis = new BufferedInputStream(is);
Digester digester = new Digester();
digester.push(this);
//digester.setDebug(1);
digester.setValidating(false);
digester.addObjectCreate("database/user", "addrbook.model.UserBean");
digester.addSetProperties("database/user");
digester.addSetNext("database/user","addUser");
digester.parse(bis);
bis.close();
}
}
一个日志输出event.log
08
-
04
-
13
17
:
19
:
17
LOGON INFO
Loading database from '/WEB-INF/userdatabase.xml'
2008 - 04 - 13 17 : 19 : 30 DB DEBUG
connName: jdbc:mysql://localhost: 3306 /struts_addr
2008 - 04 - 13 17 : 19 : 31 DB DEBUG
exception!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java: 333 )
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195 )
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java: 182 )
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366 )
at java.net.Socket.connect(Socket.java: 519 )
at java.net.Socket.connect(Socket.java: 469 )
at java.net.Socket.<init>(Socket.java: 366 )
at java.net.Socket.<init>(Socket.java: 209 )
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java: 256 )
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java: 271 )
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2744 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2820 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
2008 - 04 - 13 17 : 37 : 48 DB DEBUG
connName: jdbc:mysql://localhost: 3306 /struts_addr
2008 - 04 - 13 17 : 37 : 49 DB DEBUG
exception!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java: 333 )
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195 )
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java: 182 )
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366 )
at java.net.Socket.connect(Socket.java: 519 )
at java.net.Socket.connect(Socket.java: 469 )
at java.net.Socket.<init>(Socket.java: 366 )
at java.net.Socket.<init>(Socket.java: 209 )
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java: 256 )
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java: 271 )
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2744 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2820 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
2008 - 04 - 13 17 : 38 : 20 LOGON INFO
Loading database from '/WEB-INF/userdatabase.xml'
2008 - 04 - 13 17 : 38 : 25 DB DEBUG
connName: jdbc:mysql://localhost: 3306 /struts_addr
2008 - 04 - 13 17 : 38 : 26 DB DEBUG
exception!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java: 333 )
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195 )
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java: 182 )
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366 )
at java.net.Socket.connect(Socket.java: 519 )
at java.net.Socket.connect(Socket.java: 469 )
at java.net.Socket.<init>(Socket.java: 366 )
at java.net.Socket.<init>(Socket.java: 209 )
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java: 256 )
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java: 271 )
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2744 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2820 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
Loading database from '/WEB-INF/userdatabase.xml'
2008 - 04 - 13 17 : 19 : 30 DB DEBUG
connName: jdbc:mysql://localhost: 3306 /struts_addr
2008 - 04 - 13 17 : 19 : 31 DB DEBUG
exception!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java: 333 )
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195 )
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java: 182 )
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366 )
at java.net.Socket.connect(Socket.java: 519 )
at java.net.Socket.connect(Socket.java: 469 )
at java.net.Socket.<init>(Socket.java: 366 )
at java.net.Socket.<init>(Socket.java: 209 )
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java: 256 )
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java: 271 )
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2744 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2820 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
2008 - 04 - 13 17 : 37 : 48 DB DEBUG
connName: jdbc:mysql://localhost: 3306 /struts_addr
2008 - 04 - 13 17 : 37 : 49 DB DEBUG
exception!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java: 333 )
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195 )
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java: 182 )
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366 )
at java.net.Socket.connect(Socket.java: 519 )
at java.net.Socket.connect(Socket.java: 469 )
at java.net.Socket.<init>(Socket.java: 366 )
at java.net.Socket.<init>(Socket.java: 209 )
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java: 256 )
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java: 271 )
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2744 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2820 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
2008 - 04 - 13 17 : 38 : 20 LOGON INFO
Loading database from '/WEB-INF/userdatabase.xml'
2008 - 04 - 13 17 : 38 : 25 DB DEBUG
connName: jdbc:mysql://localhost: 3306 /struts_addr
2008 - 04 - 13 17 : 38 : 26 DB DEBUG
exception!!
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.ConnectException
MESSAGE: Connection refused: connect
STACKTRACE:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java: 333 )
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java: 195 )
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java: 182 )
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java: 366 )
at java.net.Socket.connect(Socket.java: 519 )
at java.net.Socket.connect(Socket.java: 469 )
at java.net.Socket.<init>(Socket.java: 366 )
at java.net.Socket.<init>(Socket.java: 209 )
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java: 256 )
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java: 271 )
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2744 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )
** END NESTED EXCEPTION **
Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java: 2820 )
at com.mysql.jdbc.Connection.<init>(Connection.java: 1553 )
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java: 285 )
at java.sql.DriverManager.getConnection(DriverManager.java: 582 )
at java.sql.DriverManager.getConnection(DriverManager.java: 185 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 26 )
at addrbook.model.DBUtil.connectToDb(DBUtil.java: 36 )
at addrbook.model.AddressBookBean.insert(AddressBookBean.java: 57 )
at addrbook.action.InsertAction.execute(InsertAction.java: 55 )
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java: 431 )
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java: 236 )
at org.apache.struts.action.ActionServlet.process(ActionServlet.java: 1196 )
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java: 432 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 710 )
at javax.servlet.http.HttpServlet.service(HttpServlet.java: 803 )
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java: 290 )
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 206 )
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 233 )
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 175 )
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 128 )
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 102 )
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: 263 )
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 844 )
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java: 584 )
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java: 447 )
at java.lang.Thread.run(Thread.java: 619 )