效果图:
初始页:

核心页:

增加学生:

修改:

代码:
index.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="stu?mark=query">查找全部学生</a>
</body>
</html>
list1.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
</script>
</head>
<body>
<center>
<a href="add.jsp">增加学生</a><br/>
<table border="1" width="50%">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>身高</th>
<th>操作</th>
</tr>
<c:forEach items="${list}" var="stu">
<tr>
<td>${stu.name}</td>
<td>${stu.age}</td>
<td>${stu.height}</td>
<td><a href="stu?mark=update&sid=${stu.sid}">修改</a>|<a href="stu?mark=delete&sid=${stu.sid}">删除</a></td>
</tr>
</c:forEach>
</table>
</center>
</body>
</html>
add.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<h5>---添加学生信息---</h5>
<form action="stu">
<input type="hidden" name="mark" value="add"/>
<table>
<tr>
<td>姓名:</td>
<td><input name="username"/></td>
</tr>
<tr>
<td>年龄:</td>
<td><input name="age"/></td>
</tr>
<tr>
<td>身高:</td>
<td><input name="height"/></td>
</tr>
<tr>
<td colspan="2"align="center"><input type="submit" value="增加"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
update.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<h5>---修改学生信息---</h5>
<form action="stu">
<input type="hidden" name="mark" value="updateInfo"/>
<input type="hidden" name="sid" value="${stu.sid}"/>
<table>
<tr>
<td>姓名:</td>
<td><input name="username" value="${stu.name}"/></td>
</tr>
<tr>
<td>年龄:</td>
<td><input name="age" value="${stu.age}"/></td>
</tr>
<tr>
<td>身高:</td>
<td><input name="height" value="${stu.height}"/></td>
</tr>
<tr>
<td colspan="2"align="center"><input type="submit" value="修改"></td>
</tr>
</table>
</form>
</center>
</body>
</html>
Student.java:
package text.bean;
public class Student {
private Integer sid;
private String name;
private Integer age;
private Integer height;
public Integer getSid() {
return sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
}
StudentDao.java:
package text.dao;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.Test;
import text.v2.c3p0.ComboPooledDataSource;
import text.bean.Student;
public class StudentDao {
@Test
public void method() {
List<Student> list = findAll();
for(Student stu : list) {
System.out.println(stu.getName());
}
}
@Test
public void method01() {
Student stu = findById(5);
System.out.println(stu.getName());
}
/*
* 查找全部学生
* *
*/
public List<Student> findAll(){
//数据源
ComboPooledDataSource ds = new ComboPooledDataSource();
//dbutils的核心类
QueryRunner qr = new QueryRunner(ds);
List<Student> list = null;
try {
list = qr.query("select * from students", new BeanListHandler<Student>(Student.class));
} catch (SQLException e) {
e.printStackTrace();
return null;
}
return list;
}
/*
* 一个学生对象
* */
public Student findById(Integer sid) {
// 数据源
ComboPooledDataSource ds = new ComboPooledDataSource();
// dbutils的核心类
QueryRunner qr = new QueryRunner(ds);
Student student = null;
try {
student = qr.query("select * from students where sid=?", new BeanHandler<Student>(Student.class),sid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return student;
}
/*
* 根据ID删除
* */
public Integer DeleteById(Integer sid) {
// 数据源
ComboPooledDataSource ds = new ComboPooledDataSource();
// dbutils的核心类
QueryRunner qr = new QueryRunner(ds);
int count = 0;
try {
count = qr.update("delete from students where sid=?",sid);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
/*
* 更改学生的信息
* */
public int updateInfo(Student stu) {
// 数据源
ComboPooledDataSource ds = new ComboPooledDataSource();
// dbutils的核心类
QueryRunner qr = new QueryRunner(ds);
int count = 0;
try {
count = qr.update("update students set name=?,age=?,height=? where sid=?",
stu.getName(), stu.getAge(), stu.getHeight(),
stu.getSid());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
/*
* 添加学生
*/
public int add(Student stu) {
// 数据源
ComboPooledDataSource ds = new ComboPooledDataSource();
// dbutils的核心类
QueryRunner qr = new QueryRunner(ds);
int count = 0;
try {
count = qr.update("insert into students values(null,?,?,?)", stu.getName(), stu.getAge(),
stu.getHeight());
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
}
StudentService.java:
package text.service;
import java.util.List;
import text.bean.Student;
import text.dao.StudentDao;
/*
* 业务层
* */
public class StudentService {
/*
* 查找全部的学生
* */
public List<Student> findAll(){
return new StudentDao().findAll();
}
/*
* 根据ID值进行查找
* */
public Student findById(Integer sid){
return new StudentDao().findById(sid);
}
/*
* 根据ID值进行删除
* */
public Integer deleteById(Integer sid){
return new StudentDao().DeleteById(sid);
}
/*
* 修改学生信息
* */
public int updateInfo(Student stu) {
return new StudentDao().updateInfo(stu);
}
/*
* 添加学生信息
* */
public int add(Student stu) {
return new StudentDao().add(stu);
}
}
StudentServlet.java:
package text.web.servlet;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import text.bean.Student;
import text.service.StudentService;
public class StudentServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String methodName = request.getParameter("mark");
if("query".equals(methodName)) {
//查找全部学生
findAll(request,response);
}else if("add".equals(methodName)) {
add(request,response);
}else if("delete".equals(methodName)) {
delete(request,response);
}else if("update".equals(methodName)) {
update(request,response);
}else if("updateInfo".equals(methodName)) {
updateInfo(request,response);
}
}
/*
* 更改学生的信息
* */
private void updateInfo(HttpServletRequest request, HttpServletResponse response) {
Student stu = new Student();
stu.setSid(Integer.parseInt(request.getParameter("sid")));
stu.setName(request.getParameter("username"));
stu.setAge(Integer.parseInt(request.getParameter("age")));
stu.setHeight(Integer.parseInt(request.getParameter("height")));
int count = new StudentService().updateInfo(stu);
if(count>0) {
findAll(request, response);
}
}
/*
* 更新学生
* */
private void update(HttpServletRequest request, HttpServletResponse response) {
// 两个连接 修改 修改完毕提交
Integer sid = Integer.parseInt(request.getParameter("sid"));
// 修改
Student stu = new StudentService().findById(sid);
try {
request.setAttribute("stu", stu);
request.getRequestDispatcher("update.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
/*
* 删除学生
* */
private void delete(HttpServletRequest request, HttpServletResponse response) {
Integer sid = Integer.parseInt(request.getParameter("sid"));
Integer count = new StudentService().deleteById(sid);
if(count>0) {
findAll(request,response);
}
}
/*
* 添加学生
* */
private void add(HttpServletRequest request, HttpServletResponse response) {
Student stu = new Student();
stu.setName(request.getParameter("username"));
stu.setAge(Integer.parseInt(request.getParameter("age")));
stu.setHeight(Integer.parseInt(request.getParameter("height")));
int count = new StudentService().add(stu);
if(count>0) {
findAll(request, response);
}
}
/*
* 查找全部学生
* */
private void findAll(HttpServletRequest request, HttpServletResponse response) {
//System.out.println("查询学生");
List<Student> list = new StudentService().findAll();
if(list!=null) {
//请求转发
try {
request.setAttribute("list", list);
request.getRequestDispatcher("list1.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
数据库:


这篇博客展示了如何使用JSP进行数据库信息的增删改查操作,包括了初始页面展示、添加学生、更新信息的功能实现,并给出了相关代码如index.jsp、list1.jsp、add.jsp、update.jsp等,以及涉及的Student类、Dao、Service和Servlet的详细说明。
1042

被折叠的 条评论
为什么被折叠?



