[英]java servlet how to get value from init() method and use them outside the method?
请帮忙,我是servlet的新手,我试图初始化init方法的值并在之后使用它们,但我得到nullpointerexception这是我的类您好,它包含2个方法init()和jdbcinfo()我需要获取数据库连接一旦
package com.Ws;
//imports..
public class Hello extends HttpServlet {
public static Connection con;
@Override
public void init() throws ServletException
{
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con =DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:6543/Dbname","user","");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("--printStackTrace--"+e);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("--printStackTrace2--"+e);
}
}
}
//I get nullpointerexception here con = null
public String jdbcInfo(String req) {
PreparedStatement statementT;
try {
connection =con;
PreparedStatement statement = connection.prepareStatement(req);
ResultSet result = statement.executeQuery();
while (result.next()) {
///
}
}
catch (Exception e) {
e.printStackTrace();
System.out.println("exception: Serveur base de donnée indosponnible");
}
if (res == "1")
return res;
else
return "false";
}
}
我的web.xml
<servlet>
<servlet-name>Hello</servlet-name>
<servlet-class>com.Ws.Hello</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
//我在这里得到nullpointerexception con = null
如果未初始化,则Class Connection con
Instance变量可以为null。 现在怎么可能:
在这一行
Class.forName("net.sourceforge.jtds.jdbc.Driver");
如果您的类Path中不存在jar文件,则此行将抛出ClassNotFoundException
,在这种情况下,它会从try块中出来而不执行该行
con =DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:6543/Dbname","user","");
并且在这种情况下,您的con
将为null,所以只需检查jar文件是否确实存在于您的类路径中
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.