从数据库中读取数据展示,并可以修改与删除
展示的jsp页面
booklist.jsp
<%@ page import="javax.xml.transform.Result" %>
<%@ page import="java.sql.ResultSet" %><%--
Created by IntelliJ IDEA.
User: 16270
Date: 2021/5/25
Time: 10:40
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>
<script type="text/javascript">
function delete_form(id){
var c=confirm("删除吗?");
if (c==true){
window.location.href="../Servlet_book_delete?id="+id;
}else {
return;
}
}
</script>
<center><h1>展示界面</h1></center>
<table align="center" width="500" border="1">
<tr><td>username</td><td>password</td><td>specialty</td><td>sex</td><td>age</td><td>name</td><td>管理</td></tr>
<jsp:useBean id="bk" class="loginBean.loginbean" scope="page"/>
<%
String sql="select * from login";
ResultSet rs=bk.lianjie1_chaxun2(sql);
while (rs.next()){
String id=rs.getString(1);
out.println(
"<tr><td>"+
rs.getString(1)+"</td><td>"+
rs.getString(2)+"</td><td>"+
rs.getString(3)+"</td><td>"+
rs.getString(4)+"</td><td>"+
rs.getInt(5)+"</td><td>"+
rs.getString(6)+"</td><td>"+
"<a href='javascript:delete_form("+id+")'>"+"删除"+"</a>"+
"<a href='update.jsp?id="+id+"'>"+"修改"+"</a>"+
"</td><tr>");
}
/*
用完记得把bean里的数据库名改了,这里的数据库用的是one里的login表
*/
bk.closeall();
%>
</table>
</body>
</html>
删除页面实现
Servlet_book_delete
package book_demo;
import loginBean.loginbean;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "Servlet_book_delete", value = "/Servlet_book_delete")
public class Servlet_book_delete extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
//请求数据有中文
request.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();//在浏览器上打印输出
String a=request.getParameter("id");
loginbean loginbean=new loginbean();
if (loginbean.linajie1_delete(a)!=0){
out.println("<script type=\"text/javascript\">");
out.println("alert(\"删除成功!\");");
out.println("</script>");
response.setHeader("refresh","1;url=book_demo/booklist.jsp");//1是1秒后刷新;地址
}else {
out.println("<script type=\"text/javascript\">");
out.println("alert(\"删除失败!\");");
out.println("</script>");
response.setHeader("refresh","1;url=book_demo/booklist.jsp");//1是1秒后刷新;地址
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
修改数据
update.jsp
<%@ page import="java.sql.ResultSet" %><%--
Created by IntelliJ IDEA.
User: 16270
Date: 2021/5/28
Time: 16:17
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>
<jsp:useBean id="bk" class="loginBean.loginbean" scope="page"/>
<%
request.setCharacterEncoding("gb2312");
String id=request.getParameter("id");
ResultSet resultSet= bk.lianjie1_chaxun3(id);
resultSet.next();
%>
<form action="../Servlet_book_update" method="post">
<table width="50%" border="1" align="center">
<CAPTION>修改学生信息</CAPTION>
<tr>
<th width="30%">人名:</th>
<td width="70%">
<input name="bookname" type="text" value="<%=resultSet.getString(6)%>"></td>
</tr>
<tr>
<th>专业:</th>
<td><input name="author" type="text" value="<%=resultSet.getString(3)%>"></td>
</tr>
<tr>
<th>年龄:</th>
<td><input name="age" type="text" value="<%=resultSet.getString(5)%>">元</td>
</tr>
<tr>
<th colspan="2">
<input type="hidden" name="id" value="<%=id%>">
<input type="submit" value="修改">
<input type="reset" value="重置">
</th>
</tr>
</table>
</form>
</body>
</html>
Servlet_book_update
package book_demo;
import loginBean.loginbean;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(name = "Servlet_book_update", value = "/Servlet_book_update")
public class Servlet_book_update extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("utf-8");
//请求数据有中文
request.setCharacterEncoding("utf-8");
PrintWriter out=response.getWriter();//在浏览器上打印输出
String a=request.getParameter("bookname");
String b=request.getParameter("author");
int c=Integer.parseInt(request.getParameter("age"));
String d=request.getParameter("id");
loginbean loginbean=new loginbean();
if (loginbean.lianjie_update1(a,b,c,d)!=0){
out.println("<script type=\"text/javascript\">");
out.println("alert(\"修改成功!\");");
out.println("</script>");
response.setHeader("refresh","1;url=book_demo/booklist.jsp");//1是1秒后刷新;地址
}else {
out.println("<script type=\"text/javascript\">");
out.println("alert(\"修改失败!\");");
out.println("</script>");
response.setHeader("refresh","1;url=book_demo/booklist.jsp");//1是1秒后刷新;地址
}
}
}
login.bean
package loginBean;
import java.sql.*;
public class loginbean {
private String sql1="jdbc:mysql://127.0.0.1:3306/one?user=root&password=123456&serverTimezone=Asia/Shanghai&useSSL=false";//jdbc
private String sql2="select * from login where username=? and password=?";//查询sql语句
private String sql5="select * from login where username=?";//通过id查询sql语句
private String sql3="insert into login values(?,?,?,?,?,?)";//插入sql语句
private String sql4="delete from login where username=?";//delete sql语句
private String sql6="update login set name=?,specialty=?,age=? where username=?";//修改
int q;
ResultSet resultSet1=null;
Connection connection=null;
ResultSet resultSet=null;
PreparedStatement preparedStatement=null;
public loginbean(){//构造方法,一旦调用直接连接
try {
Class.forName("com.mysql.cj.jdbc.Driver");
connection = DriverManager.getConnection(sql1);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
//查询方法executeQuery
public ResultSet lianjie1_chaxun(String username, String password){
try {
preparedStatement= connection.prepareStatement(sql2);
preparedStatement.setString(1,username);//set。。。与数据库字段类型对应
preparedStatement.setString(2,password);//set。。。与数据库字段类型对应
resultSet=preparedStatement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
//查询方法executeQuery2
public ResultSet lianjie1_chaxun2(String sql){
try {
preparedStatement= connection.prepareStatement(sql);
resultSet=preparedStatement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
//通过id查询
public ResultSet lianjie1_chaxun3(String username){
try {
preparedStatement= connection.prepareStatement(sql5);
preparedStatement.setString(1,username);
resultSet=preparedStatement.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
return resultSet;
}
//插入方法executeUpdate()
public String lianjie1_charu(String username,String password,String specialty,String sex,int age,String name){
try {
preparedStatement= connection.prepareStatement(sql3);
preparedStatement.setString(1,username);
preparedStatement.setString(2,password);
preparedStatement.setString(3,specialty);
preparedStatement.setString(4,sex);
preparedStatement.setInt(5,age);
preparedStatement.setString(6,name);
preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return "插入成功";
}
//删除
public int linajie1_delete(String id){
try {
preparedStatement= connection.prepareStatement(sql4);
preparedStatement.setString(1,id);
q=preparedStatement.executeUpdate();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return q;
}
//更改数据
public int lianjie_update1(String name,String specialty,int age,String username){
try {
preparedStatement= connection.prepareStatement(sql6);
preparedStatement.setString(1,name);
preparedStatement.setString(2,specialty);
preparedStatement.setInt(3,age);
preparedStatement.setString(4,username);
q=preparedStatement.executeUpdate();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
return q;
}
//关闭连接
public void closeall(){
if (resultSet1!=null){
try {
resultSet1.close();
}catch (SQLException throwables){
throwables.printStackTrace();
}
}
if (preparedStatement!=null){
try {
preparedStatement.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
if (connection!=null){
try {
connection.close();
} catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
}