1. 项目结构
2.1 com.bean
package com.pojo;
import java.util.Date;
public class Users {
private int id;
private String userName;
private String pwd;
private int status;
private int qq;
private Date registTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public int getStatus() {
return status;
}
public void setStatus(int status) {
this.status = status;
}
public int getQq() {
return qq;
}
public void setQq(int qq) {
this.qq = qq;
}
public Date getRegistTime() {
return registTime;
}
public void setRegistTime(Date registTime) {
this.registTime = registTime;
}
@Override
public String toString() {
return "Users [id=" + id + ", userName=" + userName + ", pwd=" + pwd + ", status=" + status + ", qq=" + qq
+ ", registTime=" + registTime + "]";
}
}
2.2 com.dao
package com.dao;
import java.util.List;
import com.pojo.Users;
public interface UserDao {
public List<Users> findAllUserList(int status);
}
package com.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 com.pojo.Users;
import com.utils.ConnectionFactoryUtil;
public class UserDaoImpl implements UserDao {
Connection conn = ConnectionFactoryUtil.getConnection();
public List<Users> findAllUserList(int status) {
PreparedStatement ps = null;
Users user = null;
ResultSet rs = null;
List<Users> list=new ArrayList<Users>();
String sql = "select * from users ";
if (status != -1)
sql = sql+" where status=?";
try {
ps = conn.prepareStatement(sql);
if(status != -1)
ps.setInt(1, status);
rs = ps.executeQuery();
while (rs.next()) {
user = new Users();
user.setId(rs.getInt(1));
user.setStatus(rs.getInt("status"));
user.setPwd(rs.getString(3));
user.setRegistTime(rs.getTimestamp("registtime"));
user.setQq(rs.getInt("qq"));
user.setUserName(rs.getString("username"));
list.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
2.3 com.service
package com.service;
import java.util.List;
import com.pojo.Users;
public interface UserService {
public List<Users> findAllUserList(int status);
}
package com.service;
import java.util.List;
import com.dao.UserDao;
import com.dao.UserDaoImpl;
import com.pojo.Users;
public class UserServiceImpl implements UserService{
UserDao ud=new UserDaoImpl();
@Override
public List<Users> findAllUserList(int status) {
return ud.findAllUserList(status);
}
}
2.4 com.controller
package com.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
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 com.pojo.Users;
import com.service.UserService;
import com.service.UserServiceImpl;
/**
* Servlet implementation class FindUserInfoServlet
*/
@WebServlet("/FindUserInfoServlet")
public class FindUserInfoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public FindUserInfoServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String status = request.getParameter("status");
UserService us = new UserServiceImpl();
List<Users> userList = new ArrayList<Users>();
if (status != null) {
int s = Integer.parseInt(status);
userList = us.findAllUserList(s);
}
request.setAttribute("userList", userList);
request.getRequestDispatcher("findUserList.jsp").forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
2.5 com.uitils
package com.utils;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class ConnectionFactoryUtil {
private static ConnectionFactoryUtil connectionFactoryUtil;
private static final String url = "jdbc:mysql://localhost:3306/etc02?characterEncoding=utf-8";
private static final String user = "root";
private static final String password = "root";
private ConnectionFactoryUtil() {
};
public static ConnectionFactoryUtil getInstance() {
if (connectionFactoryUtil == null) {
synchronized (ConnectionFactoryUtil.class) {
if (connectionFactoryUtil == null) {
connectionFactoryUtil = new ConnectionFactoryUtil();
}
}
}
return connectionFactoryUtil;
}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, user,
password);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeConnection(ResultSet rs, PreparedStatement ps, Connection conn) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (ps != null) {
ps.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
2.6 findIndex.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/FindUserInfoServlet" method="post">
选择查询条件:<br> 状态
<select name="status">
<option value="-1">全部</option>
<option value="0">激活</option>
<option value="1">冻结</option>
</select>
<input type="submit" value="查询"/>
</form>
</body>
</html>
2.7findUserlist.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1">
<tr>
<td>用户名</td>
<td>状态</td>
<td>qq</td>
<td>注册时间</td>
</tr>
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.userName }</td>
<td>
<c:choose>
<c:when test="${user.status==0 }">激活</c:when>
<c:otherwise>冻结</c:otherwise>
</c:choose>
</td>
<td>${user.qq }</td>
<td><fmt:formatDate value="${user.registTime }" pattern="yyyy-MM-dd hh:mm:ss"/></td>
</tr>
</c:forEach>
</table>
</body>
</html>