UserDAOpackage DAO;import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import mysql.User;
public class UserDAO {
private String JDBCURL = "jdbc:mysql://localhost:3306/2015124044?useUnicode=true&characterEncoding=UTF-8";
private String user = "root";
private String password = "123456";
private Connection conn = null;
private PreparedStatement stmt = null;
private ResultSet rst = null; public List<User> getUser(User user1){
List<User> users = new ArrayList<User>();
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(JDBCURL,user,password);
String sql = "SELECT * FROM t_user where username=? ";
stmt = conn.prepareStatement(sql);
stmt.setString(1,user1.getUsername());
rst = stmt.executeQuery();
stmt.clearParameters();
User user2 =null;
while(rst.next()){
user2 = new User();
user2.setId(rst.getInt("id"));
user2.setUsername(rst.getString("usename"));
user2.setPassword(rst.getString("password"));
user2.setEmail(rst.getString("email"));
user2.setPhone(rst.getString("phone"));
user2.setQq(rst.getString("qq"));
user2.setInfo(rst.getString("info"));
users.add(user2);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return users;
}
//添加用户
public int add(User user1){
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(JDBCURL,user,password);
String sql = "INSERT INTO t_user(username,password,email,phone,qq,info) VALUES(?,?,?,?,?,?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, user1.getUsername());
stmt.setString(2, user1.getPassword());
stmt.setString(3, user1.getEmail());
stmt.setString(4, user1.getPhone());
stmt.setString(5, user1.getQq());
stmt.setString(6, user1.getInfo());
System.out.println(sql);
result = stmt.executeUpdate(sql);
stmt.clearParameters();
System.out.println("12345665465");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
//修改密码
public int update(User user1){
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
//创建数据库连接
conn = DriverManager.getConnection(JDBCURL,user,password);
//定义数据库更新语句
String sql = "UPDATE t_user SET password = ? where username = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1,user1.getPassword());
stmt.setString(2,user1.getUsername());
stmt.clearParameters();
//执行数据库更新操作,返回影响行数
result = stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}finally{ //一定要使用finally,释放资源
try {
stmt.close(); //关闭申明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}}
userregisterpackage servlets;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DAO.*;
import mysql.*;
/**
* Servlet implementation class userregister
*/
@WebServlet("/userregister")
public class userregister extends HttpServlet {
private static final long serialVersionUID = 1L;
UserDAO userDao =new UserDAO();
/**
* @see HttpServlet#HttpServlet()
*/
public userregister() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserDAO userDao = new UserDAO();
request.setCharacterEncoding("UTF-8");
User user = new User();
user.setUsername(request.getParameter("username"));
user.setPassword(request.getParameter("password"));
user.setEmail(request.getParameter("email"));
user.setPhone(request.getParameter("phone"));
user.setQq(request.getParameter("qq"));
user.setInfo(request.getParameter("info"));
userDao.add(user);
System.out.println(user.getUsername());
response.sendRedirect("login.html");
}}点击注册后,能在结果页面看到注册的信息,数据库中却没有数据,请问各位是什么问题
import java.util.ArrayList;
import java.util.List;
import mysql.User;
public class UserDAO {
private String JDBCURL = "jdbc:mysql://localhost:3306/2015124044?useUnicode=true&characterEncoding=UTF-8";
private String user = "root";
private String password = "123456";
private Connection conn = null;
private PreparedStatement stmt = null;
private ResultSet rst = null; public List<User> getUser(User user1){
List<User> users = new ArrayList<User>();
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(JDBCURL,user,password);
String sql = "SELECT * FROM t_user where username=? ";
stmt = conn.prepareStatement(sql);
stmt.setString(1,user1.getUsername());
rst = stmt.executeQuery();
stmt.clearParameters();
User user2 =null;
while(rst.next()){
user2 = new User();
user2.setId(rst.getInt("id"));
user2.setUsername(rst.getString("usename"));
user2.setPassword(rst.getString("password"));
user2.setEmail(rst.getString("email"));
user2.setPhone(rst.getString("phone"));
user2.setQq(rst.getString("qq"));
user2.setInfo(rst.getString("info"));
users.add(user2);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return users;
}
//添加用户
public int add(User user1){
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(JDBCURL,user,password);
String sql = "INSERT INTO t_user(username,password,email,phone,qq,info) VALUES(?,?,?,?,?,?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, user1.getUsername());
stmt.setString(2, user1.getPassword());
stmt.setString(3, user1.getEmail());
stmt.setString(4, user1.getPhone());
stmt.setString(5, user1.getQq());
stmt.setString(6, user1.getInfo());
System.out.println(sql);
result = stmt.executeUpdate(sql);
stmt.clearParameters();
System.out.println("12345665465");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
//修改密码
public int update(User user1){
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
//创建数据库连接
conn = DriverManager.getConnection(JDBCURL,user,password);
//定义数据库更新语句
String sql = "UPDATE t_user SET password = ? where username = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1,user1.getPassword());
stmt.setString(2,user1.getUsername());
stmt.clearParameters();
//执行数据库更新操作,返回影响行数
result = stmt.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
}finally{ //一定要使用finally,释放资源
try {
stmt.close(); //关闭申明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}}
userregisterpackage servlets;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import DAO.*;
import mysql.*;
/**
* Servlet implementation class userregister
*/
@WebServlet("/userregister")
public class userregister extends HttpServlet {
private static final long serialVersionUID = 1L;
UserDAO userDao =new UserDAO();
/**
* @see HttpServlet#HttpServlet()
*/
public userregister() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserDAO userDao = new UserDAO();
request.setCharacterEncoding("UTF-8");
User user = new User();
user.setUsername(request.getParameter("username"));
user.setPassword(request.getParameter("password"));
user.setEmail(request.getParameter("email"));
user.setPhone(request.getParameter("phone"));
user.setQq(request.getParameter("qq"));
user.setInfo(request.getParameter("info"));
userDao.add(user);
System.out.println(user.getUsername());
response.sendRedirect("login.html");
}}点击注册后,能在结果页面看到注册的信息,数据库中却没有数据,请问各位是什么问题
解决方案 »
- JSP 显示学生成绩的问题!!!急急!!!
- SSH配置问题。求大神。QQ:386804996.求远程。异常如下。
- 关于tomcat环境变量的设置问题
- iWebOffice.ocx.jsp.mysql 的用法
- 请问我想做个权限管理功能,权限控制到每一个页面?如何在打开某个页面前读出该页面的名字然后到权限数据库表中去判断有没有权限访问它?
- 关于ajax的访问权限问题的解决方案!
- js中的这种转移字符是什么意思啊,快抓狂了(document.write(unescape("%0D%0A%0D%0)
- 紧急问题,紧急求救!!!
- 上传文件错误?
- 如何在jsp中include另一个文件呀?
- Juint测试DBCP连接时出现java.lang.ExceptionInInitializerError
- 请教个问题,jsp文件修改后无法立即生效,只能另存为新文件名才能看到修改的效果,郁闷死了!
2。把这些值存到数据库中,我看你调用了userDao.add(user);进去检查这里有没有存进去(断点调试,如果你会的话),一般这样都能解决,慢慢来,祝你好运!
这问肯定是值传递不对,debug看参数是否正确
注意:使用插入,修改,删除等sql语句 属于 DML语句,需要进行事务提交,即sql命令发送器发送sql之后 进行事务提交 stmt.commit(); //添加用户
public int add(User user1){
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(JDBCURL,user,password);
String sql = "INSERT INTO t_user(username,password,email,phone,qq,info) VALUES(?,?,?,?,?,?)";
stmt = conn.prepareStatement(sql);
stmt.setString(1, user1.getUsername());
stmt.setString(2, user1.getPassword());
stmt.setString(3, user1.getEmail());
stmt.setString(4, user1.getPhone());
stmt.setString(5, user1.getQq());
stmt.setString(6, user1.getInfo());
System.out.println(sql);
result = stmt.executeUpdate(sql);
stmt.commit();
stmt.clearParameters();
System.out.println("12345665465");
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
//修改密码
public int update(User user1){
int result = -1;
try {
Class.forName("com.mysql.jdbc.Driver");
//创建数据库连接
conn = DriverManager.getConnection(JDBCURL,user,password);
//定义数据库更新语句
String sql = "UPDATE t_user SET password = ? where username = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1,user1.getPassword());
stmt.setString(2,user1.getUsername());
stmt.clearParameters();
//执行数据库更新操作,返回影响行数
result = stmt.executeUpdate(sql);
stmt.commit();
} catch (Exception e) {
e.printStackTrace();
}finally{ //一定要使用finally,释放资源
try {
stmt.close(); //关闭申明
conn.close(); //关闭连接
} catch (SQLException e) {
e.printStackTrace();
}
}
return result;
}
}