Web JSP Servlet MySQL数据库 MVC模式可以制作很多系统,如图书管理系统,新闻发布系统,App审核系统等等,其实他们的操作都很相似,无非就是增删改查,只要掌握其中一个,剩下的问题都迎刃而解。
首先我这个是简单的APP审核系统!
DBClass.java:用来连接数据库。
package DB;
import java.sql.Connection;
import java.sql.DriverManager;
public class DBClass {
public Connection getConn()throws Exception{
//这两句是MySOL8.0的写法
Class.forName("com.mysql.cj.jdbc.Driver");// MySQL5.0不行的话可以删去cj。
String url="jdbc:mysql://localhost:3306/content?serverTimezone=UTC";
String username="root";
String password="123456";
Connection connection = DriverManager.getConnection(url, username, password);
return connection;
}
}
JSP模块:
其中用到了div css美观界面(如果只是应付作业,这些div css都可以删掉 这些美观界面也是从网上copy下来,再自己修改而来)。
zManageLogin.jsp
<%--
Created by IntelliJ IDEA.
User: 86137
Date: 2021/6/22
Time: 11:30
To change this template use File | Settings | File Templates.
--%>
<%@ page pageEncoding="utf-8" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<!--图书馆管理系统页面-->
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">管理员登入</a>
</div>
</div><!-- /.container-fluid -->
</nav>
<div class="container">
<div class="panel-body">
<center>
<font size=6 color="red">管理员登入</font><br>
<br>
<form class="form-inline center-pill" action="BossLoginServlet" method="post">
<div class="form-group">
<div class="input-group">
<span class="input-group-addon ">管理员账号</span>
<input type="text" size="16" class="form-control" name="name" placeholder="请输入管理员账号">
</div><br>
<br>
<div class="input-group">
<span class="input-group-addon ">密码</span>
<input type="text" size="22" class="form-control" name="password" placeholder="请输入密码">
</div><br>
<input type="hidden" name="flag2" value="2">
<br>
<input type="submit" class="btn btn-primary" value="登入">
<input type="reset" class="btn btn-primary" value="重置"><br>
<br>
</div>
</form>
</center>
</div>
</div>
</body>
</html>
zShowAll.jsp:
<%@ page import="DB.DBClass" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="ZDAO.AppDAO" %>
<%@ page import="ZJavaBean.App" %><%--
Created by IntelliJ IDEA.
User: 86137
Date: 2021/6/22
Time: 16:38
To change this template use File | Settings | File Templates.
--%>
<%@ page pageEncoding="utf-8" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<!--图书馆管理系统页面-->
<%
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String name=request.getParameter("name");
String check=request.getParameter("check");
%>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">软件审核</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多操作 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="zManageLogin.jsp">管理员登入</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
<!-- Collect the nav links, forms, and other content for toggling -->
</div><!-- /.container-fluid -->
</nav>
<div class="container">
<div class="row">
<div class="col-md-2">
<div class="list-group">
<%if(check.equals("0")){%>
<a href="zExamine.jsp" class="list-group-item active">待审核</a>
<a href="zExamineYes.jsp" class="list-group-item">审核通过</a>
<a href="zExamineNo.jsp" class="list-group-item">审核未通过</a>
<%}%>
<%if(check.equals("1")){%>
<a href="zExamine.jsp" class="list-group-item">待审核</a>
<a href="zExamineYes.jsp" class="list-group-item">审核通过</a>
<a href="zExamineNo.jsp" class="list-group-item active">审核未通过</a>
<%}%>
<%if(check.equals("2")){%>
<a href="zExamine.jsp" class="list-group-item">待审核</a>
<a href="zExamineYes.jsp" class="list-group-item active">审核通过</a>
<a href="zExamineNo.jsp" class="list-group-item">审核未通过</a>
<%}%>
</div>
</div>
<div class="col-md-10">
<div class="panel panel-primary">
<div class="panel-heading clearfix">
<h3 class="panel-title">软件基本信息<span class="glyphicon glyphicon-leaf pull-right"></span></h3>
</div>
<a href="zCheck.jsp?flag=2" class="btn btn-success btn-sm">返回上一页</a>
<div class="panel-body">
<table class="table table-hover table-striped table-bordered" style="margin-top: 10px">
<thead>
<tr>
<th>软件名称</th>
<th>审核状态</th>
<th>软件基本信息</th>
</thead>
<%
ArrayList apps=new AppDAO().AllApp3(name);
for(int i=0;i<apps.size();i++){
App app= (App) apps.get(i);
%>
<form action="ExamineServlet" method="post">
<tbody>
<tr>
<td><%=app.getName()%></td>
<td><%=app.getZhuangtai()%></td>
<td><%=app.getXinxi()%></td>
</tr>
</tbody>
</form>
<%}%>
</table>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
zExamine.jsp
<%@ page import="DB.DBClass" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="ZDAO.AppDAO" %>
<%@ page import="ZJavaBean.App" %><%--
Created by IntelliJ IDEA.
User: 86137
Date: 2021/6/22
Time: 16:38
To change this template use File | Settings | File Templates.
--%>
<%@ page pageEncoding="utf-8" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<!--图书馆管理系统页面-->
<%
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
%>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">软件审核</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多操作 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="zManageLogin.jsp">管理员登入</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
<!-- Collect the nav links, forms, and other content for toggling -->
</div><!-- /.container-fluid -->
</nav>
<div class="container">
<div class="row">
<div class="col-md-2">
<div class="list-group">
<a href="zExamine.jsp" class="list-group-item active">待审核</a>
<a href="zExamineYes.jsp" class="list-group-item ">审核通过</a>
<a href="zExamineNo.jsp" class="list-group-item">审核未通过</a>
</div>
</div>
<div class="col-md-10">
<div class="panel panel-primary">
<div class="panel-heading clearfix">
<h3 class="panel-title">软件待审核信息<span class="glyphicon glyphicon-leaf pull-right"></span></h3>
</div>
<div class="panel-body">
<table class="table table-hover table-striped table-bordered" style="margin-top: 10px">
<thead>
<tr>
<th>软件名称</th>
<th>审核状态</th>
<th class="text-center">审核操作</th></tr>
</thead>
<%
int pageno;
AppDAO appDao=new AppDAO();
if(request.getParameter("pageno")==null){
pageno=1;
}else{
pageno=Integer.parseInt(request.getParameter("pageno"));
}
int pageCount=appDao.getCount(3);
ArrayList apps=new AppDAO().AllApp(pageno,3);
for(int i=0;i<apps.size();i++){
App app= (App) apps.get(i);
%>
<form action="ExamineServlet" method="post">
<tbody>
<tr>
<td><a href="zShowAll.jsp?check=0&&name=<%=app.getName()%>"><%=app.getName()%></a> </td>
<td><%=app.getZhuangtai()%></td>
<td class="text-center">
<a href="ExamineServlet?zhuangtai=审核通过&&name=<%=app.getName()%>" class="btn btn-primary btn-sm">通过</a>
<a href="ExamineServlet?zhuangtai=审核未通过&&name=<%=app.getName()%>" class="btn btn-danger btn-sm">未通过</a>
</td>
</tr>
</tbody>
</form>
<%}%>
</table>
共有<%=pageCount%>页,这是第<%=pageno%>页。
<%if(pageno>1){%>
<a href="zExamine.jsp?pageno=1">《第一页》</a>
<a href="zExamine.jsp?pageno=<%=pageno-1%>">《上一页》</a>
<%}%>
<%if(pageno!=pageCount){%>
<a href="zExamine.jsp?pageno=<%=pageno+1%>">《下一页》</a>
<a href="zExamine.jsp?pageno=<%=pageCount%>">《最后一页》</a>
<%}%>
<%if(pageCount==0){%>
<p>无</p>
<%}%>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
zExamineNo.jsp
<%@ page import="DB.DBClass" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="ZDAO.AppDAO" %>
<%@ page import="ZJavaBean.App" %><%--
Created by IntelliJ IDEA.
User: 86137
Date: 2021/6/22
Time: 16:38
To change this template use File | Settings | File Templates.
--%>
<%@ page pageEncoding="utf-8" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<!--图书馆管理系统页面-->
<%
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
%>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">软件审核</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多操作 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="zManageLogin.jsp">管理员登入</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
<!-- Collect the nav links, forms, and other content for toggling -->
</div><!-- /.container-fluid -->
</nav>
<div class="container">
<div class="row">
<div class="col-md-2">
<div class="list-group">
<a href="zExamine.jsp" class="list-group-item">待审核</a>
<a href="zExamineYes.jsp" class="list-group-item ">审核通过</a>
<a href="zExamineNo.jsp" class="list-group-item active">审核未通过</a>
</div>
</div>
<div class="col-md-10">
<div class="panel panel-primary">
<div class="panel-heading clearfix">
<h3 class="panel-title">软件待审核信息<span class="glyphicon glyphicon-leaf pull-right"></span></h3>
</div>
<div class="panel-body">
<table class="table table-hover table-striped table-bordered" style="margin-top: 10px">
<thead>
<tr>
<th>软件名称</th>
<th>审核状态</th>
<th class="text-center">审核操作</th></tr>
</thead>
<%
int pageno;
AppDAO appDao=new AppDAO();
if(request.getParameter("pageno")==null){
pageno=1;
}else{
pageno=Integer.parseInt(request.getParameter("pageno"));
}
int pageCount=appDao.getCount2(3);
ArrayList apps=new AppDAO().AllApp2(pageno,3);
for(int i=0;i<apps.size();i++){
App app= (App) apps.get(i);
%>
<form action="ExamineServlet" method="post">
<tbody>
<tr>
<td><a href="zShowAll.jsp?check=0&&name=<%=app.getName()%>"><%=app.getName()%></a> </td>
<td><%=app.getZhuangtai()%></td>
<td class="text-center">
<a href="ExamineServlet?zhuangtai=待审核&&name=<%=app.getName()%>" class="btn btn-danger btn-sm">撤销</a>
</td>
</tr>
</tbody>
</form>
<%}%>
</table>
共有<%=pageCount%>页,这是第<%=pageno%>页。
<%if(pageno>1){%>
<a href="zExamineNo.jsp?pageno=1">《第一页》</a>
<a href="zExamineNo.jsp?pageno=<%=pageno-1%>">《上一页》</a>
<%}%>
<%if(pageno!=pageCount){%>
<a href="zExamineNo.jsp?pageno=<%=pageno+1%>">《下一页》</a>
<a href="zExamineNo.jsp?pageno=<%=pageCount%>">《最后一页》</a>
<%}%>
<%if(pageCount==0){%>
<p>目前没有记录</p>
<%}%>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
zExamineYes.jsp
<%@ page import="DB.DBClass" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.ResultSet" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="ZDAO.AppDAO" %>
<%@ page import="ZJavaBean.App" %><%--
Created by IntelliJ IDEA.
User: 86137
Date: 2021/6/22
Time: 16:38
To change this template use File | Settings | File Templates.
--%>
<%@ page pageEncoding="utf-8" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<link href="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.bootcss.com/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<!--图书馆管理系统页面-->
<%
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
%>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">软件审核</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">更多操作 <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="zManageLogin.jsp">管理员登入</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
<!-- Collect the nav links, forms, and other content for toggling -->
</div><!-- /.container-fluid -->
</nav>
<div class="container">
<div class="row">
<div class="col-md-2">
<div class="list-group">
<a href="zExamine.jsp" class="list-group-item">待审核</a>
<a href="zExamineYes.jsp" class="list-group-item active">审核通过</a>
<a href="zExamineNo.jsp" class="list-group-item">审核未通过</a>
</div>
</div>
<div class="col-md-10">
<div class="panel panel-primary">
<div class="panel-heading clearfix">
<h3 class="panel-title">软件待审核信息<span class="glyphicon glyphicon-leaf pull-right"></span></h3>
</div>
<div class="panel-body">
<table class="table table-hover table-striped table-bordered" style="margin-top: 10px">
<thead>
<tr>
<th>软件名称</th>
<th>审核状态</th>
<th class="text-center">审核操作</th></tr>
</thead>
<%
int pageno;
AppDAO appDao=new AppDAO();
if(request.getParameter("pageno")==null){
pageno=1;
}else{
pageno=Integer.parseInt(request.getParameter("pageno"));
}
int pageCount=appDao.getCount1(3);
ArrayList apps=new AppDAO().AllApp1(pageno,3);
for(int i=0;i<apps.size();i++){
App app= (App) apps.get(i);
%>
<form action="ExamineServlet" method="post">
<tbody>
<tr>
<td><a href="zShowAll.jsp?check=0&&name=<%=app.getName()%>"><%=app.getName()%></a> </td>
<td><%=app.getZhuangtai()%></td>
<td class="text-center">
<a href="ExamineServlet?zhuangtai=待审核&&name=<%=app.getName()%>" class="btn btn-danger btn-sm">撤销</a>
</td>
</tr>
</tbody>
</form>
<%}%>
</table>
共有<%=pageCount%>页,这是第<%=pageno%>页。
<%if(pageno>1){%>
<a href="zExamineYes.jsp?pageno=1">《第一页》</a>
<a href="zExamineYes.jsp?pageno=<%=pageno-1%>">《上一页》</a>
<%}%>
<%if(pageno!=pageCount){%>
<a href="zExamineYes.jsp?pageno=<%=pageno+1%>">《下一页》</a>
<a href="zExamineYes.jsp?pageno=<%=pageCount%>">《最后一页》</a>
<%}%>
<%if(pageCount==0){%>
<p>目前没有记录</p>
<%}%>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
zCheck.jsp 弹窗提示功能
<%--
Created by IntelliJ IDEA.
User: 86137
Date: 2021/6/27
Time: 14:04
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
String flag=request.getParameter("flag");
%>
<%
if(flag.equals("1")){
%>
<script>{
window.alert("操作成功!");
window.history.go(-1)
}
</script>
<%
}else if(flag.equals("2")){
%>
<script>{
window.history.go(-2)
}
</script>
<%
}else if(flag.equals("3")){
%>
<script>{
window.alert("用户注册成功!回到用户登入界面!");
window.history.go(-2)
}
</script>
<%
}else if(flag.equals("4")){
%>
<script>{
window.alert("用户名或密码错误!");
window.history.go(-1)
}
</script>
<%
}else if(flag.equals("5")){
%>
<script>{
window.alert("用户名或密码不能为空!");
window.history.go(-1)
}
</script>
<%}%>
</body>
</html>
DAO模块:
AppDAO.java
其中getCount方法是用来实现分页效果。
package ZDAO;
import DB.DBClass;
import ZJavaBean.App;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
public class AppDAO {
//UPDATE更改App的状态 数据库语句
public void ChangeZhuangtai(String name,String zhuangtai,String time) throws Exception {
Connection connection = new DBClass().getConn();
PreparedStatement preparedStatement = connection.prepareStatement("select * from EXAMINE");
ResultSet resultSet = preparedStatement.executeQuery();
String sql = "UPDATE EXAMINE SET ZHUANGTAI='" + zhuangtai + "',TIME='"+time+"'WHERE NAME='" + name + "'";
int i = preparedStatement.executeUpdate(sql);
resultSet.close();
preparedStatement.close();
connection.close();
}
//实现分页操作
public int getCount(int pageSize) throws Exception {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
int recordCount = 0, t1 = 0, t2 = 0;
conn = new DBClass().getConn();
String sql = "select count(*) from examine where zhuangtai='待审核'";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
recordCount = rs.getInt(1);
t1 = recordCount % pageSize;
t2 = recordCount / pageSize;
return t1 == 0 ? t2 : t2 + 1;
}
//实现分页操作
public int getCount1(int pageSize) throws Exception {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
int recordCount = 0, t1 = 0, t2 = 0;
conn = new DBClass().getConn();
String sql = "select count(*) from examine where zhuangtai='审核通过'";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
recordCount = rs.getInt(1);
t1 = recordCount % pageSize;
t2 = recordCount / pageSize;
return t1 == 0 ? t2 : t2 + 1;
}
//实现分页操作
public int getCount2(int pageSize) throws Exception {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
int recordCount = 0, t1 = 0, t2 = 0;
conn = new DBClass().getConn();
String sql = "select count(*) from examine where zhuangtai='审核未通过'";
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
rs.next();
recordCount = rs.getInt(1);
t1 = recordCount % pageSize;
t2 = recordCount / pageSize;
return t1 == 0 ? t2 : t2 + 1;
}
//用ArrayList保存数据
public ArrayList AllApp(int pageNo, int pageSize) throws Exception{
ArrayList App = new ArrayList();
int startRecno = (pageNo - 1) * pageSize;
Connection connection = new DBClass().getConn();
PreparedStatement preparedStatement = connection.prepareStatement("select * from examine where zhuangtai='待审核' order by time desc limit ?,?");
preparedStatement.setInt(1, startRecno);
preparedStatement.setInt(2, pageSize);
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
App app = new App();
app.setName(resultSet.getString(1));
app.setZhuangtai(resultSet.getString(2));
app.setXinxi(resultSet.getString(3));
App.add(app);
}
resultSet.close();
preparedStatement.close();
connection.close();
return App;
}
//用ArrayList保存数据
public ArrayList AllApp1(int pageNo, int pageSize) throws Exception{
ArrayList App = new ArrayList();
int startRecno = (pageNo - 1) * pageSize;
Connection connection = new DBClass().getConn();
PreparedStatement preparedStatement = connection.prepareStatement("select * from examine where zhuangtai='审核通过' order by time desc limit ?,?");
preparedStatement.setInt(1, startRecno);
preparedStatement.setInt(2, pageSize);
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
App app = new App();
app.setName(resultSet.getString(1));
app.setZhuangtai(resultSet.getString(2));
app.setXinxi(resultSet.getString(3));
App.add(app);
}
resultSet.close();
preparedStatement.close();
connection.close();
return App;
}
//用ArrayList保存数据
public ArrayList AllApp2(int pageNo, int pageSize) throws Exception{
ArrayList App = new ArrayList();
int startRecno = (pageNo - 1) * pageSize;
Connection connection = new DBClass().getConn();
PreparedStatement preparedStatement = connection.prepareStatement("select * from examine where zhuangtai='审核未通过' order by time desc limit ?,?");
preparedStatement.setInt(1, startRecno);
preparedStatement.setInt(2, pageSize);
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
App app = new App();
app.setName(resultSet.getString(1));
app.setZhuangtai(resultSet.getString(2));
app.setXinxi(resultSet.getString(3));
App.add(app);
}
resultSet.close();
preparedStatement.close();
connection.close();
return App;
}
//用ArrayList保存数据
public ArrayList AllApp3(String name) throws Exception{
ArrayList App = new ArrayList();
Connection connection = new DBClass().getConn();
PreparedStatement preparedStatement = connection.prepareStatement("select * from examine where name='"+name+"'");
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
App app = new App();
app.setName(resultSet.getString(1));
app.setZhuangtai(resultSet.getString(2));
app.setXinxi(resultSet.getString(3));
App.add(app);
}
resultSet.close();
preparedStatement.close();
connection.close();
return App;
}
}
BossDAO.java
package ZDAO;
import DB.DBClass;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
//Boss管理员登入
public class BossDAO {
public boolean BossCheck(String user,String psw) throws Exception {
boolean flag=false;
Connection connection = new DBClass().getConn();
PreparedStatement preparedStatement = connection.prepareStatement("select * from boss");
ResultSet resultSet = preparedStatement.executeQuery();
while(resultSet.next()){
if(user.equals(resultSet.getString(1))&&psw.equals(resultSet.getString(2))){
flag= true;
}
}
resultSet.close();
preparedStatement.close();
connection.close();
return flag;
}
}
JavaBean模块:
package ZJavaBean;
public class App {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getZhuangtai() {
return zhuangtai;
}
public void setZhuangtai(String zhuangtai) {
this.zhuangtai = zhuangtai;
}
public String getXinxi() {
return xinxi;
}
public void setXinxi(String xinxi) {
this.xinxi = xinxi;
}
String zhuangtai;
String xinxi;
}
package ZJavaBean;
public class Boss {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
String name;
String password;
}
Servlet模块如下:
BossLoginServlet.java
package ZServlet;
import ZDAO.BossDAO;
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 javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/BossLoginServlet")
public class BossLoginServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String name=request.getParameter("name");
String password=request.getParameter("password");
if(name.equals("")||password.equals("")){
response.sendRedirect("zCheck.jsp?flag=5");
}
else{
try {
boolean flag3=new BossDAO().BossCheck(name,password);
if(flag3==true){
response.sendRedirect("zExamine.jsp");
}
else {
response.sendRedirect("zCheck.jsp?flag=4");
}
}
catch (Exception e) {
response.sendRedirect("zCheck.jsp?flag=5");
e.printStackTrace();
}
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
ExamineServlet.java
package ZServlet;
import ZDAO.AppDAO;
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 java.io.IOException;
@WebServlet("/ExamineServlet")
public class ExamineServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
String name=request.getParameter("name");
String zhuangtai=request.getParameter("zhuangtai");
String time=new java.util.Date().toLocaleString();
//System.out.println(name);
// System.out.println(zhuangtai);
try
{
new AppDAO().ChangeZhuangtai(name,zhuangtai,time);
response.sendRedirect("zCheck.jsp?flag=1");
}
catch (Exception e) {
e.printStackTrace();
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request,response);
}
}
数据库表:
boss表:
APP审核examine表
管理员登入界面:
审核表界面:
希望能给你们带来帮助!