【发布时间】:2015-07-19 19:33:05
【问题描述】:
我正在尝试从 Spring 上开发的 java 应用程序连接到 postgresql 数据库。
奇怪的是,如果我将它作为 java 应用程序运行,它可以正常工作。
当您尝试在服务器上运行它时,它会引发异常
java.lang.ClassNotFoundException: org.postgresql.Driver 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1305) 在 org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(未知来源) 在 com.CBTD.database.BaseDeDatos.establecerConexion(BaseDeDatos.java:31) ....
Spring (STS) 和 postgresql 有什么不兼容的地方吗?
控制器代码:
@RequestMapping(value = "/inicio", method = RequestMethod.GET)
public String ObtenerUsuario(@RequestParam(required=true) String user, @RequestParam(required=true) String pass){
LoginExpert login = new LoginExpert();
if (login.validarUsuario(user, pass)){
return "inicio";
}else{
return "login";
}
}
中间类
public boolean validarUsuario(String user, String pass){
TablaUsuario tu = new TablaUsuario();
Usuario us = new Usuario();
try {
us = tu.buscarUsuario(user);
} catch (SQLException e) {
e.printStackTrace();
}
return (us.getContrasena().equals(pass));
}
我访问数据库的类(这部分作为 java 应用运行正常)
public Usuario buscarUsuario(String nombre) throws SQLException{
String sql = "SELECT * from usuario WHERE nombre_usuario = '"+nombre+"'";
BaseDeDatos.getInstancia().establecerConexion();
ResultSet rs = BaseDeDatos.getInstancia().ejecutarQuery(sql);
Usuario us= new Usuario();
while(rs.next()){
us.setNombreUsuario(rs.getObject(2).toString());
us.setContrasena(rs.getObject(3).toString());
us.setActivo(rs.getBoolean(4));
}
BaseDeDatos.getInstancia().cerrarConexion();
return us;
}
【问题讨论】:
标签: java spring postgresql spring-mvc