把
private String getCN()
{
InitialContext initialcontext = new InitialContext();
String s = "java:/lywww";
DataSource datasource = (DataSource)initialcontext.lookup(s);
conn = datasource.getConnection();
return "ok";
}
改为
private String getCN()
{
try{
InitialContext initialcontext = new InitialContext();
String s = "java:/lywww";
DataSource datasource = (DataSource)initialcontext.lookup(s);
conn = datasource.getConnection();
return "ok";
}catch(Exception e)
{
return "fails";
System.out.println(e.getMessage());
}
}
private String getCN()
{
InitialContext initialcontext = new InitialContext();
String s = "java:/lywww";
DataSource datasource = (DataSource)initialcontext.lookup(s);
conn = datasource.getConnection();
return "ok";
}
改为
private String getCN()
{
try{
InitialContext initialcontext = new InitialContext();
String s = "java:/lywww";
DataSource datasource = (DataSource)initialcontext.lookup(s);
conn = datasource.getConnection();
return "ok";
}catch(Exception e)
{
return "fails";
System.out.println(e.getMessage());
}
}
建议楼主好好学习java基础知识!
那样把问题捕捉了,实质的问题没有解决,连不上数据库,是不是属于掩耳盗铃呀?
提示是没有成功导入类。
那样把问题捕捉了,实质的问题没有解决,连不上数据库,是不是属于掩耳盗铃呀?
提示是没有成功导入类。
-------------------------------------
lookup()方法的方法签名中指定要抛出异常,所以这些方法都要放在try catch块中
异常不是一定会发生,但是如果发生了就要抛出,并且给出一个异常的处理办法,这是java的异常处理方法,具体好处可以参看java编程思想
InitialContext initialcontext = new InitialContext();
DataSource datasource = (DataSource)initialcontext.lookup(s);
conn = datasource.getConnection();
都有可能发生错误,比如数据源没有找到,连接获得不成功(在连接池配置有问题的时候),但是也有可能执行完全顺利,没有发生这些错误,所以这就是一个未知的情况(可能成功运行,也可能因为数据源配置问题查找失败)
在处理这种未知问题的时候java建议使用try...catch来捕捉这些异常,如果执行顺利自然没有异常,如果出现错误就被try抓住然后进入catch部分处理