功能图
- 主界面:
- 添加:
-
修改:
4:按性别查询 并分页显示:
entity
-
Page
package com.ge.entity;
import java.util.List;
public class Page<T> {
private int currentPage; //当前页数
private int totalPage; //总页数
private int pageSize; //每页的记录数
private int totalSize; //总的记录数
private List<T> list;
public Page() {
}
public Page(int currentPage, int totalPage, int pageSize, int totalSize, List<T> list) {
this.currentPage = currentPage;
this.totalPage = totalPage;
this.pageSize = pageSize;
this.totalSize = totalSize;
this.list = list;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalSize() {
return totalSize;
}
public void setTotalSize(int totalSize) {
this.totalSize = totalSize;
}
public List<T> getList() {
return list;
}
public void setList(List<T> list) {
this.list = list;
}
@Override
public String toString() {
return "Page{" +
"currentPage=" + currentPage +
", totalPage=" + totalPage +
", pageSize=" + pageSize +
", totalSize=" + totalSize +
", list=" + list +
'}';
}
}
- Student
package com.ge.entity;
public class Student {
private int id;
private String name;
private int age;
private String gender;
private String address;
public Student() {
}
public Student(int id, String name, int age, String gender, String address) {
this.id = id;
this.name = name;
this.age = age;
this.gender = gender;
this.address = address;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", gender='" + gender + '\'' +
", address='" + address + '\'' +
'}';
}
}
dao
- 登录
UserDao
package com.ge.dao;
import java.sql.SQLException;
public interface UserDao {
//登录
public Boolean login(String userName, String passWord) throws SQLException, ClassNotFoundException;
}
UserDaoImpl
package com.ge.dao;
import com.ge.utils.JdbcUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UserDaoImpl implements UserDao{
@Override
public Boolean login(String userName ,String passWord) {
Connection conn = null;
PreparedStatement pre = null;
ResultSet rs =null;
try {
conn = JdbcUtil.getConnection();
String sql = "select * from t_user where username = ? and password = ?";
pre = conn.prepareStatement(sql);
pre.setObject(1, userName);
pre.setObject(2, passWord);
rs = pre.executeQuery();
return rs.next();
} catch (Exception e) {
e.printStackTrace();
}finally {
JdbcUtil.release(pre, conn, rs);
}
return false;
}
}
StuDao
package com.ge.dao;
import com.ge.entity.Student;
import java.sql.SQLException;
import java.util.List;
public interface StuDao {
int PAGE_SIZE = 5;
List<Student> findStudentByPage(int currentPage) throws SQLException, ClassNotFoundException;
int findStuCount() throws SQLException, ClassNotFoundException;
void deleteByID(int id) throws SQLException, ClassNotFoundException;
void insert(String name,int age,String gender,String address) throws SQLException, ClassNotFoundException;
Student selectByID(int id) throws SQLException, ClassNotFoundException;
void update(Student student) throws SQLException, ClassNotFoundException;
List<Student> searchCount(String name,String gender) throws SQLException, ClassNotFoundException;
List<Student> search(String name,String gender,int currentPage) throws SQLException, ClassNotFoundException;
}
StuDaoImpl
package com.ge.dao;
import com.ge.entity.Student;
import com.ge.utils.JdbcUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class StuDaoImpl implements StuDao{
@Override
public List<Student> findStudentByPage(int currentPage) throws SQLException, ClassNotFoundException {
Connection conn = JdbcUtil.getConnection();
String sql = "select * from t_stu limit ? offset ?";
PreparedStatement pre = conn.prepareStatement(sql);
pre.setObject(1,PAGE_SIZE);
pre.setObject(2, (currentPage-1)*PAGE_SIZE);
ResultSet rs = pre.executeQuery();
List<Student> list = new ArrayList<Student>();
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
String gender = rs.getString("gender");
String address = rs.getString("address");
Student student = new Student(id,name,age,gender,address);
list.add(student);
}
JdbcUtil.release(pre,conn,rs);
return list;
}
@Override
public int findStuCount() throws SQLException, ClassNotFoundException {
Connection conn = JdbcUtil.getConnection();
String sql = "select count(*) from t_stu";
PreparedStatement pre = conn.prepareStatement(sql);
ResultSet rs = pre.executeQuery();
int count = 0 ;
while(rs.next()){
count = rs.getInt(1);
}
JdbcUtil.release(pre, conn,rs);
return count;
}
@Override
public void deleteByID(int id) throws SQLException, ClassNotFoundException {
Connection conn = JdbcUtil.getConnection();
String sql = "delete from t_stu where id = ?";
PreparedStatement pre = conn.prepareStatement(sql);
pre.setInt(1,id);
pre.executeUpdate();
JdbcUtil.release(conn,pre);
}
@Override
public void insert(String name, int age, String gender, String address) throws SQLException, ClassNotFoundException {
Connection conn = JdbcUtil.getConnection();
String sql = "insert into t_stu(name,age,gender,address) values(?,?,?,?) ";
PreparedStatement pre = conn.prepareStatement(sql);
pre.setString(1,name);
pre.setInt(2,age);
pre.setString(3,gender);
pre.setString(4,address);
pre.executeUpdate();
JdbcUtil.release(conn,pre);
}
@Override
public Student selectByID(int id) throws SQLException, ClassNotFoundException {
Connection conn = JdbcUtil.getConnection();
String sql = "select * from t_stu where id = ?";
PreparedStatement pre = conn.prepareStatement(sql);
pre.setInt(1,id);
ResultSet rs = pre.executeQuery();
rs.next();
Student student = new Student(rs.getInt(1), rs.getString(2),rs.getInt(3),rs.getString(4),rs.getString(5));
JdbcUtil.release(pre, conn, rs);
return student;
}
@Override
public void update(Student student) throws SQLException, ClassNotFoundException {
Connection conn = JdbcUtil.getConnection();
String sql = "update t_stu set name = ?, age = ?, gender = ?, address = ? where id = ?";
PreparedStatement pre = conn.prepareStatement(sql);
pre.setString(1,student.getName());
pre.setInt(2,student.getAge());
pre.setString(3,student.getGender());
pre.setString(4,student.getAddress());
pre.setInt(5,student.getId());
pre.executeUpdate();
JdbcUtil.release(conn,pre);
}
@Override
public List<Student> searchCount(String name, String gender) throws SQLException, ClassNotFoundException {
List<Student> list = new ArrayList<Student>();
Connection conn = JdbcUtil.getConnection();
String sql = "select * from t_stu where 1=1 ";
if(!("".equals(name))){
sql = sql + "and name = '"+name+"'";
}
if(!("".equals(gender))){
sql = sql + "and gender = '"+gender+"'";
}
PreparedStatement pre = conn.prepareStatement(sql);
ResultSet rs = pre.executeQuery();
while (rs.next()){
Student student = new Student(rs.getInt(1),rs.getString(2),rs.getInt(3),rs.getString(4),rs.getString(5));
list.add(student);
}
return list;
}
@Override
public List<Student> search(String name, String gender,int currentPage) throws SQLException, ClassNotFoundException {
List<Student> list = new ArrayList<Student>();
Connection conn = JdbcUtil.getConnection();
String sql = "select * from t_stu where 1=1 ";
if(!("".equals(name))){
sql=sql+" and name = '"+name+"'";
}
if(!("".equals(gender))){
sql = sql+" and gender ='"+gender+"' ";
}
sql = sql+"limit "+PAGE_SIZE+" offset "+(currentPage-1)*PAGE_SIZE+" ";
System.out.println(sql);
PreparedStatement pre = conn.prepareStatement(sql);
ResultSet rs = pre.executeQuery();
while (rs.next()){
Student student = new Student(rs.getInt(1),rs.getString(2),rs.getInt(3),rs.getString(4),rs.getString(5));
list.add(student);
}
JdbcUtil.release(pre, conn, rs);
return list;
}
}
Service
StuService
package com.ge.service;
import com.ge.entity.Student;
import java.sql.SQLException;
import java.util.List;
public interface StuService {
List<Student> findStudentByPage(int currentPage) throws SQLException, ClassNotFoundException;
int findStuCount() throws SQLException, ClassNotFoundException;
void deleteByID(int id) throws SQLException, ClassNotFoundException;
void insert(String name,int age,String gender,String address) throws SQLException, ClassNotFoundException;
Student selectByID(int id) throws SQLException, ClassNotFoundException;
void update(Student student) throws SQLException, ClassNotFoundException;
List<Student> searchCount(String name, String gender) throws SQLException, ClassNotFoundException;
List<Student> search(String name,String gender,int currentPage) throws SQLException, ClassNotFoundException;
}
StuServiceImpl
package com.ge.service;
import com.ge.dao.StuDao;
import com.ge.dao.StuDaoImpl;
import com.ge.entity.Student;
import java.sql.SQLException;
import java.util.List;
public class StuServiceImpl implements StuService{
@Override
public List<Student> findStudentByPage(int currentPage) throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
return stuDao.findStudentByPage(currentPage);
}
@Override
public int findStuCount() throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
return stuDao.findStuCount();
}
@Override
public void deleteByID(int id) throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
stuDao.deleteByID(id);
}
@Override
public void insert(String name, int age, String gender, String address) throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
stuDao.insert(name, age, gender, address);
}
@Override
public Student selectByID(int id) throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
return stuDao.selectByID(id);
}
@Override
public void update(Student student) throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
stuDao.update(student);
}
@Override
public List<Student> searchCount(String name, String gender) throws SQLException, ClassNotFoundException {
return new StuDaoImpl().searchCount(name, gender);
}
@Override
public List<Student> search(String name, String gender,int currentPage) throws SQLException, ClassNotFoundException {
StuDao stuDao = new StuDaoImpl();
return stuDao.search(name, gender, currentPage);
}
}
servlet
LoginServlet
package com.ge.servlet;
import com.ge.dao.UserDao;
import com.ge.dao.UserDaoImpl;
import com.ge.entity.Page;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
import javax.servlet.ServletContext;
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;
import java.sql.SQLException;
import static com.ge.dao.StuDao.PAGE_SIZE;
@WebServlet("/login")
public class loginServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
String userName = req.getParameter("userName");
String passWord = req.getParameter("passWord");
UserDao userDao = new UserDaoImpl();
try {
Boolean isSucess = userDao.login(userName, passWord);
if(isSucess){
//统计访问量
ServletContext servletContext = this.getServletContext();
Integer count = (Integer) servletContext.getAttribute("count");
if(count==null){
count=1;
servletContext.setAttribute("count",count);
}else{
servletContext.setAttribute("count",++count);
}
Page page = new Page();
StuService stuService = new StuServiceImpl();
page.setList(stuService.findStudentByPage(1));
req.getSession().setAttribute("userName", req.getParameter("userName"));
page.setCurrentPage(1);
page.setPageSize(PAGE_SIZE );
page.setTotalSize(stuService.findStuCount());
page.setTotalPage(stuService.findStuCount() % PAGE_SIZE == 0 ? stuService.findStuCount()/PAGE_SIZE : (stuService.findStuCount()/PAGE_SIZE+1));
req.setAttribute("page",page);
req.setAttribute("list",page.getList());
req.getRequestDispatcher("stu.jsp").forward(req,resp);
}else{
req.setAttribute("message","密码错误,请重新输入");
req.getRequestDispatcher("index.jsp").forward(req,resp);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
PageServlet
package com.ge.servlet;
import com.ge.entity.Page;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
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;
import static com.ge.dao.StuDao.PAGE_SIZE;
@WebServlet("/pageServlet")
public class PageServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp){
try {
int currentPage = Integer.parseInt(req.getParameter("currentPage"));
Page page = new Page();
StuService stuService = new StuServiceImpl();
page.setList(stuService.findStudentByPage(currentPage));
page.setCurrentPage(currentPage);
page.setTotalPage(stuService.findStuCount() % PAGE_SIZE ==0 ? stuService.findStuCount() / PAGE_SIZE : (stuService.findStuCount()/PAGE_SIZE+1));
page.setPageSize(PAGE_SIZE);
page.setTotalSize(stuService.findStuCount());
req.setAttribute("list",page.getList());
req.setAttribute("page",page);
req.getRequestDispatcher("stu.jsp").forward(req,resp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
DeleteServlet
package com.ge.servlet;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
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;
import java.sql.SQLException;
@WebServlet("/delete")
public class DeleteServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
int id = Integer.parseInt(req.getParameter("id"));
StuService stuService = new StuServiceImpl();
try {
stuService.deleteByID(id);
} catch (Exception e) {
e.printStackTrace();
}
req.getRequestDispatcher("/pageServlet?currentPage=1").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
@Override
protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doDelete(req, resp);
}
}
InsertServlet
package com.ge.servlet;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
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("/insert")
public class InsetServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
try {
String name = req.getParameter("name");
int age = Integer.parseInt(req.getParameter("age"));
String gender = req.getParameter("gender");
String address = req.getParameter("address");
StuService stuService = new StuServiceImpl();
stuService.insert(name,age,gender,address);
req.getRequestDispatcher("/pageServlet?currentPage=1").forward(req,resp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
}
}
SelectByIDServlet
package com.ge.servlet;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/selectByID")
public class SelectByIDServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp){
try {
int id = Integer.parseInt(req.getParameter("id"));
StuService stuService = new StuServiceImpl();
req.setAttribute("student",stuService.selectByID(id));
req.getRequestDispatcher("/update.jsp").forward(req,resp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
doGet(req,resp);
}
}
UpdateServlet
package com.ge.servlet;
import com.ge.entity.Student;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/updateServlet")
public class UpdateServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp){
try {
Student student = new Student(Integer.parseInt(req.getParameter("id")),req.getParameter("name"),Integer.parseInt(req.getParameter("age")),req.getParameter("gender"),req.getParameter("address"));
StuService stuService = new StuServiceImpl();
stuService.update(student);
req.getRequestDispatcher("/pageServlet?currentPage=1").forward(req,resp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp){
doGet(req,resp);
}
}
SearchServlet
package com.ge.servlet;
import com.ge.entity.Page;
import com.ge.entity.Student;
import com.ge.service.StuService;
import com.ge.service.StuServiceImpl;
import static com.ge.dao.StuDao.PAGE_SIZE;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@WebServlet("/search")
public class searchServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
try {
req.setCharacterEncoding("UTF-8");
resp.setContentType("text/html; charset=UTF-8");
String name = req.getParameter("name");
String gender = req.getParameter("gender");
req.setAttribute("name",name);
req.setAttribute("gender",gender);
System.out.println(name+gender);
StuService stuService = new StuServiceImpl();
int currentPage = Integer.parseInt(req.getParameter("currentPage"));
List<Student> list = stuService.search(name, gender,currentPage);
Page page = new Page();
page.setList(list);
req.setAttribute("list",list);
page.setPageSize(PAGE_SIZE);
page.setCurrentPage(currentPage);
List<Student> lists = stuService.searchCount(name, gender);
page.setTotalSize(lists.size());
page.setTotalPage(lists.size()%PAGE_SIZE == 0 ? lists.size()/PAGE_SIZE : (lists.size()/PAGE_SIZE+1));
req.setAttribute("page",page);
req.getRequestDispatcher("/search.jsp").forward(req,resp);
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
doGet(req,resp);
}
}
配置文件:datebase.properties
driverClass:com.mysql.jdbc.Driver
url:jdbc:mysql://localhost:3306/mybase
userName:root
passWord:123456
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ge.stuMangers</groupId>
<artifactId>stuMangers</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>stuMangers Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
<build>
<finalName>stuMangers</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
jsp
index.jsp
<%@page language="java" pageEncoding="UTF-8" %>
<%@ page isELIgnored="false" %>
<html>
<body>
<form action="/login" method="post">
账号:<input type="text" name="userName"><br>
密码:<input type="password" name="passWord"><br><p style="color: red">${message}</p><br>
<input type="submit" value="登录">
</form>
</body>
</html>
stu.jsp
<%@ page isELIgnored="false"%> <%--关于el标签不起作用--%>
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>>学生管理系统</title>
</head>
<body>
<h1 style="text-align: center">学生管理系统</h1>
<form action="/search?currentPage=${1}" method="post">
<p style="margin-left:1000px ">
欢迎${userName}登录 访问量:${count}
</p>
<table border="1" width="700px" align="center">
<tr style="text-align: center">
<td colspan="5">
姓名:<input type="text" name="name">
性别:
<select name="gender" size="1">
<option value="">--请选择--</option>
<option value="男" >男</option>
<option value="女" >女</option>
<input type="submit" value="查询">
</select>
<td><a href="/insertStu.jsp">添加</a></td>
</td>
</tr>
<tr align="center">
<th>id</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>国家</th>
<th>操作</th>
</tr>
<c:forEach items="${list}" var="stu">
<tr align="center">
<td>${stu.id }</td>
<td>${stu.name }</td>
<td>${stu.age}</td>
<td>${stu.gender }</td>
<td>${stu.address}</td>
<td><a href="/selectByID?id=${stu.id}">修改</a> <a href="/delete?id=${stu.id}">删除</a></td>
</tr>
</c:forEach>
<tr>
<td colspan="6">
第${page.currentPage}/${page.totalPage}页
每页显示${page.pageSize}条数据
总人数:${page.totalSize}
<c:if test="${page.currentPage != 1}">
<a href="/pageServlet?currentPage=1">首页</a>|<a href="/pageServlet?currentPage=${page.currentPage-1}">上一页</a>
</c:if>
<c:forEach begin="1" end="${page.totalPage}" var="i">
<c:if test="${page.currentPage == i}">
${i}
</c:if>
<c:if test="${page.currentPage != i}">
<a href="/pageServlet?currentPage=${i}">${i}</a>
</c:if>
</c:forEach>
<c:if test="${page.currentPage != page.totalPage}">
<a href="/pageServlet?currentPage=${page.currentPage+1}">下一页</a>|<a href="/pageServlet?currentPage=${page.totalPage}">尾页</a>
</c:if>
</td>
</tr>
</table>
</form>
</body>
</html>
insert.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>添加学生</title>
</head>
<body>
<h1 align="center">添加学生信息</h1>
<form action="/insert" method="get">
<table border="1" width="700px" align="center">
<tr>
<td>姓名</td>
<td><input type="text" name = "name"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>性别</td>
<td><input type="text" name="gender"></td>
</tr>
<tr>
<td>国家</td>
<td> <input type="text" name="address"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>
update.jsp
<%@ page isELIgnored="false"%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>添加学生</title>
</head>
<body>
<h1 align="center">修改学生信息</h1>
<form action="/updateServlet" method="get">
<input type="hidden" name = "id" value="${student.id}">
<table border="1" width="700px" align="center">
<tr>
<td>姓名</td>
<td><input type="text" name="name" value="${student.name}"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age" value="${student.age}"></td>
</tr>
<tr>
<td>性别</td>
<td><input type="text" name="gender" value="${student.gender}"></td>
</tr>
<tr>
<td>国家</td>
<td><input type="text" name="address" value="${student.address}"></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="修改"> <a href="/pageServlet?currentPage=${1}">返回</a></td>
</tr>
</table>
</form>
</body>
</html>
search.jsp
<%@ page isELIgnored="false"%> <%--关于el标签不起作用--%>
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>>学生管理系统</title>
</head>
<body>
<h1 style="text-align: center">${gender}学生信息</h1>
<form action="/search?currentPage=${1}" method="post">
<p style="margin-left:1000px ">
欢迎${userName}登录 访问量:${count}
</p>
<table border="1" width="700px" align="center">
<tr style="text-align: center">
<td colspan="5">
姓名:<input type="text" name="name">
性别:
<select name="gender" size="1">
<option value="">--请选择--</option>
<option value="男" >男</option>
<option value="女" >女</option>
<input type="submit" value="查询">
</select>
<td><a href="/insertStu.jsp">添加</a></td>
</td>
</tr>
<tr align="center">
<th>id</th>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>国家</th>
<th>操作</th>
</tr>
<c:forEach items="${list}" var="stu">
<tr align="center">
<td>${stu.id }</td>
<td>${stu.name }</td>
<td>${stu.age}</td>
<td>${stu.gender }</td>
<td>${stu.address}</td>
<td><a href="/selectByID?id=${stu.id}">修改</a> <a href="/delete?id=${stu.id}">删除</a></td>
</tr>
</c:forEach>
<tr>
<td colspan="6">
第${page.currentPage}/${page.totalPage}页
每页显示${page.pageSize}条数据
人数:${page.totalSize}
<c:if test="${page.currentPage != 1}">
<a href="/search?currentPage=1&name=${name}&gender=${gender}">首页</a>|<a href="/search?currentPage=${page.currentPage-1}&name=${name}&gender=${gender}">上一页</a>
</c:if>
<c:forEach begin="1" end="${page.totalPage}" var="i">
<c:if test="${page.currentPage == i}">
${i}
</c:if>
<c:if test="${page.currentPage != i}">
<a href="/search?currentPage=${i}&name=${name}&gender=${gender}">${i}</a>
</c:if>
</c:forEach>
<c:if test="${page.currentPage != page.totalPage}">
<a href="/search?currentPage=${page.currentPage+1}&name=${name}&gender=${gender}">下一页</a>|<a href="/search?currentPage=${page.totalPage}&name=${name}&gender=${gender}">尾页</a>
</c:if>
</td>
</tr>
</table>
</form>
</body>
</html>