(个人经验,仅供参考,错误之处,敬请谅解)
JSP 实现前台页面
使用html5+css3实现,不作过多描述
Java实现前后台交互
ConnectionUtil类连接数据库(mysql)
package util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionUtil {
public Connection getconn() throws SQLException{
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/test";
String user="";
String password="";
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con=DriverManager.getConnection(url,user,password);
return con;
}
}
QQUser类具体每个用户
package entity;
public class QQUser {
private String userId;
private String userName;
private String userPwd;
private String birthDate;
private String sex;
private String birthPlace;
private String hobby;
//0:未删除 1:已删除
private String is_del;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPwd;
}
public void setUserPassword(String userPwd) {
this.userPwd = userPwd;
}
public String getBirthDate() {
return birthDate;
}
public void setBirthDate(String birthDate) {
this.birthDate = birthDate;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBirthplace() {
return birthPlace;
}
public void setBirthplace(String birthplace) {
this.birthPlace = birthplace;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
public String getIs_del() {
return is_del;
}
public void setIs_del(String is_del) {
this.is_del = is_del;
}
}
DeleteDao类连接数据库删除一个用户
package dao;
import java.util.*;
import java.sql.*;
import util.ConnectionUtil;
public class DeleteDao {
ConnectionUtil connutil=new ConnectionUtil();
public int deleteQQUserById(String userId) throws SQLException{
Connection con=connutil.getconn();
//sql
String sql=" update info_qq set is_del='1' where qq_num=? ";
PreparedStatement ps=con.prepareStatement(sql);
ps.setString(1,userId);
int result=ps.executeUpdate();
return result;
}
}
InsertDao类连接数据库插入用户
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import entity.QQUser;
import util.ConnectionUtil;
public class InsertDao {
ConnectionUtil connutil=new ConnectionUtil();
public int insertUser(QQUser qqUser) throws SQLException{
Connection conn=connutil.getconn();
String sql=" insert into info_qq (nick_name,qq_num,qq_pwd,birthDate,sex,birthPlace,hobby,is_del) values(?,?,?,?,?,?,?,?) ";
PreparedStatement ps=conn.prepareStatement(sql);
//String userId=request.getParameter("userId");
//Date date=new Date();
//String insertDate=date.toString();
ps.setString(1, qqUser.getUserName());
ps.setString(2, qqUser.getUserId());
ps.setString(3, qqUser.getUserPassword());
ps.setString(4, qqUser.getBirthDate());
ps.setString(5, qqUser.getSex());
ps.setString(6, qqUser.getBirthplace());
ps.setString(7, qqUser.getHobby());
ps.setString(8, "0");
int result=ps.executeUpdate();
return result;
}
}
SearchDao类连接数据库查询相关信息
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import entity.QQUser;
import util.ConnectionUtil;
public class SearchDao {
ConnectionUtil connutil=new ConnectionUtil();
public List<QQUser> getQQUserList() throws SQLException{
Connection conn=connutil.getconn();
String sql=" select * from info_qq where is_del='0' ";
PreparedStatement ps=conn.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
List<QQUser> list=new ArrayList();
while(rs.next()){
QQUser qqUser=new QQUser();
qqUser.setUserId(rs.getString("qq_num"));
qqUser.setUserName(rs.getString("nick_name"));
qqUser.setUserPassword(rs.getString("qq_pwd"));
qqUser.setBirthDate(rs.getString("birthDate"));
qqUser.setSex(rs.getString("sex"));
qqUser.setBirthplace(rs.getString("birthPlace"));
qqUser.setHobby(rs.getString("hobby"));
list.add(qqUser);
}
return list;
}
public QQUser getQQUserById(String userId) throws SQLException{
Connection conn=connutil.getconn();
String sql=" select * from info_qq where qq_num=? ";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, userId);
ResultSet rs=ps.executeQuery();
QQUser qqUser=new QQUser();
while(rs.next()){
qqUser.setUserId(rs.getString("qq_num"));
qqUser.setUserName(rs.getString("nick_name"));
qqUser.setUserPassword(rs.getString("qq_pwd"));
qqUser.setBirthDate(rs.getString("birthDate"));
qqUser.setSex(rs.getString("sex"));
qqUser.setBirthplace(rs.getString("birthPlace"));
qqUser.setHobby(rs.getString("hobby"));
}
return qqUser;
}
public String getQQPwdById(String userId) throws SQLException{
Connection conn=connutil.getconn();
String sql=" select qq_pwd from info_qq where qq_num=? ";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, userId);
ResultSet rs=ps.executeQuery();
String qq_pwd="";
while(rs.next()){
qq_pwd = rs.getString("qq_pwd");
}
return qq_pwd;
}
}
UpdateDao类连接数据库修改用户信息
package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import entity.QQUser;
import util.ConnectionUtil;
public class UpdateDao {
ConnectionUtil connutil=new ConnectionUtil();
public int updateQQUserById(QQUser qqUser) throws SQLException{
Connection conn=connutil.getconn();
//sql���
String sql="update info_qq set nick_name=?,qq_pwd=?,birthDate=?,sex=?,birthPlace=?,hobby=? where qq_num=?";
PreparedStatement ps=conn.prepareStatement(sql);
ps.setString(1, qqUser.getUserName());
ps.setString(2,qqUser.getUserPassword());
ps.setString(3,qqUser.getBirthDate());
ps.setString(4,qqUser.getSex());
ps.setString(5, qqUser.getBirthplace());
ps.setString(6, qqUser.getHobby());
ps.setString(7, qqUser.getUserId());
int result=ps.executeUpdate();
return result;
}
QQUserServer类实例化将QQUser作为对象的方法
package server;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import dao.DeleteDao;
import dao.InsertDao;
import dao.SearchDao;
import dao.UpdateDao;
import entity.QQUser;
public class QQUserServer {
InsertDao insertDao=new InsertDao();
public boolean insertUser(QQUser qqUser){
boolean rusult=false;
try {
rusult=insertDao.insertUser(qqUser)>0;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rusult;
}
SearchDao searchDao = new SearchDao();
public List<QQUser> getQQUserList(){
List<QQUser> list=new ArrayList<QQUser>();
try {
list=searchDao.getQQUserList();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
public QQUser getQQUserById(String userId){
QQUser qqUser=new QQUser();
try {
qqUser=searchDao.getQQUserById(userId);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return qqUser;
}
public String getQQPwdById(String userId){
String qq_pwd="";
try {
qq_pwd=searchDao.getQQPwdById(userId);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return qq_pwd;
}
DeleteDao deleteDao = new DeleteDao();
public boolean deleteQQUserById(String userId){
boolean rusult=false;
try {
rusult=deleteDao.deleteQQUserById(userId)>0;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rusult;
}
UpdateDao updateDao = new UpdateDao();
public boolean updateQQUserById(QQUser qqUser){
boolean result=false;
try {
result=updateDao.updateQQUserById(qqUser)>0;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
}
DeleteServlet类处理delete请求
package servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.QQUser;
import server.QQUserServer;
public class DeleteServlet extends HttpServlet {
QQUserServer server=new QQUserServer();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
List<QQUser> list=new ArrayList();
list=server.getQQUserList();
request.setAttribute("list", list);
request.getRequestDispatcher("/users.jsp").forward(request,response);
}else{
doPost(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String userId=request.getParameter("userId");
boolean result=server.deleteQQUserById(userId);
if(result){
response.sendRedirect("/LoginTest/delete");
}else{
response.sendRedirect("/test/fail.html");
}
}
}
InsertServlet类处理insert请求
package servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.QQUser;
import server.QQUserServer;
public class InsertServlet extends HttpServlet {
QQUserServer server=new QQUserServer();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.sendRedirect("/LoginTest/regiter.html");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String userName="";
String userPassword="";
String birthDate="";
String sex="";
String userPlace="";
String hobby="";
if(request.getParameter("userName")==null||"".equals(request.getParameter("userName"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("userPwd")==null||"".equals(request.getParameter("userPwd"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("birthDate")==null||"".equals(request.getParameter("birthDate"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("sex")==null||"".equals(request.getParameter("sex"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("userPlace")==null||"".equals(request.getParameter("userPlace"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("hobby")==null||"".equals(request.getParameter("hobby"))){
response.sendRedirect("/LoginTest/fail.html");
}else{
//生成id
StringBuilder str=new StringBuilder();//定义变长字符串
Random random=new Random();
//随机生成数字,并添加到字符串
for(int i=0;i<8;i++){
str.append(random.nextInt(10)+1);
}
//将字符串转换为数字
String userId=str.toString();
userName=request.getParameter("userName");
userPassword=request.getParameter("userPwd");
birthDate = request.getParameter("birthDate");
sex = request.getParameter("sex");
userPlace = request.getParameter("userPlace");
hobby = request.getParameter("hobby");
QQUser qqUser=new QQUser();
qqUser.setUserId(userId);
qqUser.setUserName(userName);
qqUser.setUserPassword(userPassword);
qqUser.setBirthDate(birthDate);
qqUser.setSex(sex);
qqUser.setBirthplace(userPlace);
qqUser.setHobby(hobby);
boolean result=false;
result=server.insertUser(qqUser);
if(result){
List<QQUser> list=new ArrayList();
list=server.getQQUserList();
request.setAttribute("list", list);
request.getRequestDispatcher("/users.jsp").forward(request,response);
}else{
response.sendRedirect("/LoginTest/fail.html");
}
}
}
}
LoginServlet类处理login请求
package servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.QQUser;
import server.QQUserServer;
public class LoginServlet extends HttpServlet {
QQUserServer server=new QQUserServer();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
response.sendRedirect("/LoginTest/fail.html");
}else{
doPost(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String userPwd=request.getParameter("userPwd");
String userId=request.getParameter("userId");
String qq_pwd = server.getQQPwdById(userId);
if(qq_pwd.equals(userPwd)){
response.sendRedirect("/LoginTest/login_success.html");
}else{
response.sendRedirect("/LoginTest/fail.html");
}
}
}
UpdateServlet类处理update请求
package servlet;
import java.io.IOException;
import java.util.UUID;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import entity.QQUser;
import server.QQUserServer;
public class UpdateServlet extends HttpServlet {
QQUserServer server=new QQUserServer();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
response.sendRedirect("/LoginTest/fail.html");
}else{
String userId=request.getParameter("userId");
QQUser qqUser=new QQUser();
qqUser=server.getQQUserById(userId);
request.setAttribute("qqUser", qqUser);
request.getRequestDispatcher("/user_update.jsp").forward(request,response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
String userId="";
String userName="";
String userPassword="";
String birthDate="";
String sex="";
String userPlace="";
String hobby="";
if(request.getParameter("userId")==null||"".equals(request.getParameter("userId"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("userName")==null||"".equals(request.getParameter("userName"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("userPwd")==null||"".equals(request.getParameter("userPwd"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("birthDate")==null||"".equals(request.getParameter("birthDate"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("sex")==null||"".equals(request.getParameter("sex"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("userPlace")==null||"".equals(request.getParameter("userPlace"))){
response.sendRedirect("/LoginTest/fail.html");
}else if(request.getParameter("hobby")==null||"".equals(request.getParameter("hobby"))){
response.sendRedirect("/LoginTest/fail.html");
}else{
userId=request.getParameter("userId");
userName=request.getParameter("userName");
userPassword=request.getParameter("userPwd");
birthDate = request.getParameter("birthDate");
sex = request.getParameter("sex");
userPlace = request.getParameter("userPlace");
hobby = request.getParameter("hobby");
QQUser qqUser=new QQUser();
qqUser.setUserId(userId);
qqUser.setUserName(userName);
qqUser.setUserPassword(userPassword);
qqUser.setBirthDate(birthDate);
qqUser.setSex(sex);
qqUser.setBirthplace(userPlace);
qqUser.setHobby(hobby);
boolean result=server.updateQQUserById(qqUser);
if(result){
response.sendRedirect("/LoginTest/delete");
}else{
response.sendRedirect("/LoginTest/fail.html");
}
}
}
}
前面的类构成了前后台的交互以及对数据库进行操作。主要运用servlet技术