PreparedStatement ps = conn.prepareStatement(sql);在eclipse中跑不通的问题,http报错500

博主在eclipse中运行tomcat跑web项目进行学习的时候,愣是发现老是报错500,500不是404这种连不上数据库的问题。

百度了好多都是说标题这句话传的是空指针导致错误,可是我感觉我的问题跟这个空指针有点不一样的。具体代码如下

public class UserDAO {

	//用户名、密码、手机号
	//数据的插入
	//sql
//	insert into 表名(字段名1,字段名2,....) values(字段1的值,字段2的值,...)
//	insert into f_user(F_USERNAME,F_PWD,F_PHONE) values("张三","1","1236542")
	//方法:数据的插入---》用户注册
	public boolean regist(String username,String pwd,String phone) {
		String sql = "insert into f_user(F_USERNAME,F_PWD,F_PHONE) values(?,?,?);";
		//获取连接对象
		Connection conn = ConnectionFactory.getConnection();
		//获取执行SQL语句的PreparedStatement对象
		//执行SQL语句
		int num;
		PreparedStatement ps=null;
		try {
			ps = conn.prepareStatement(sql);
			ps.setString(1,username);
			ps.setString(2,pwd);
			ps.setString(3,phone);
			num = ps.executeUpdate();
			if(num == 1) {
				return true;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return false;
	}
}

运行出来的报错是这样的:

控制台报错是这样的:

本人确保有在eclipse中构建路径使用  mysql-connector-java-8.0.11.jar,这个博主相信不少人都不会蠢到不使用connector J。

但是为啥还是报这种错呢,具体原因不详,恕我才疏学浅,看不太懂这些错误日志。但是我确实解决了这个问题,偶然解决的大笑

下面上图,一张图解决问题:


就这么简单,把这个jar包复制到tomcat下的lib目录下,连路径都不带构建的,直接ojbk。

据我个人猜测,问题应该是出在tomcat找不到这个包,构建路径虽然可以让eclipse找到这个包,所以java文件如果调用mysql数据库就没问题,但是tomcat这个服务器可不知道啊,所以就一直报错报错报错。

低版本的mysql好像没这个问题,所以这类问题的解决方案想百度到是个问题,希望我遇到的问题可以对大家有所帮助。

转载请注明出处。

猜你喜欢

转载自blog.csdn.net/xrn1997/article/details/80384003
今日推荐