如果只是跟着课本敲,那就肯定报错了
好久没碰有点生疏了
之前敲过一个类似的加载properties的文件的方法,直接把课本的这个改成这个就可以解决500的错误了
注释的地方是行不通的错误代码!!!
注释下边这个没问题,记得路径改成绝对路径!!!
package com.sun.web.utils;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public final class jdbcUtil {
private static String driver;
private static String url;
private static String user;
private static String password;
private static Properties pr = new Properties();
public jdbcUtil() {
}
static {
try {
pr.load(new FileInputStream("E:\\IDEA_SAVE\\javaweb_ laboratory_course\\src\\db.properties"));
// pr.load(jdbcUtil.class.getClassLoader().getResourceAsStream("E:\\IDEA_SAVE\\javaweb_ laboratory_course\\src\\db.properties"));
} catch (IOException e) {
e.printStackTrace();
}
driver = pr.getProperty("driver");
url = pr.getProperty("url");
user = pr.getProperty("user");
password = pr.getProperty("password");
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConn() throws Exception {
return DriverManager.getConnection(url, user, password);
}
public static void free(Connection connection, PreparedStatement preparedStatement, ResultSet resultSet) throws Exception {
if (resultSet != null) resultSet.close();
if (preparedStatement != null) preparedStatement.close();
if (connection != null) connection.close();
}
}
针对添加信息不成功的问题,原因在于sql语句的问题,因为是固定的,id不能改动,所以修改id的时候,sql语句就执行不了了。
public void update(User user) throws Exception {
Connection conn = jdbcUtil.getConn();
String sql = "update user set username=?,sex=? where userid=?";
PreparedStatement preparedStatement = conn.prepareStatement(sql);
preparedStatement.setString(1, user.getUsername());
preparedStatement.setString(2, user.getSex());
preparedStatement.setString(3, user.getUserid());
int n=preparedStatement.executeUpdate();
System.out.println(n);
jdbcUtil.free(conn, preparedStatement, null);
}
记得加上解决数据库乱码的问题
request.setCharacterEncoding("utf-8");
request.setCharacterEncoding("utf-8");
String bh = request.getParameter("userid3");
String xm = request.getParameter("username3");
String xb = request.getParameter("sex3");
System.out.println(bh+xm+xm);
User u = new User(bh, xm, xb);
UserDao dao = new UserDao();
dao.update(u);
List<User> users = dao.QueryAll();
request.setAttribute("user_list", users);