欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 2-jsp-实现增删改功能

2-jsp-实现增删改功能

2025/2/21 4:28:10 来源:https://blog.csdn.net/2301_80189168/article/details/144200942  浏览:    关键词:2-jsp-实现增删改功能

jsp改造stuid项目

将所有的前端页面改为.jsp

image-20241202161941869

  • 确定编码格式

image-20241202162055015

将所有的项目名改为jsp动态获取

image-20241202162205042

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><a href="<%=request.getContextPath() + "/list"%>">启动学生管理系统</a>
</body>
</html>

image-20241202162621825

image-20241202162627306

  • 成功访问,==》 该项目成功

新增功能

image-20241202163050782

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1>添加学生</h1>
<%--    动态获取项目名字--%><form action="<%=request.getContextPath() + "/add"%>">姓名:<input type="text" name="name"><br>学号:<input type="text" name="stuid"><br>专业:<input type="text" name="zhuanye" ><br><input type="submit" value="确认提交"></form></body>
</html>

image-20241202163315584

doAdd( )

 private void doAdd(HttpServletRequest request, HttpServletResponse response) throws IOException {
//        需要获取请求数据,所以,这里必须设置编码,跟查询不一样request.setCharacterEncoding("UTF-8");String name = request.getParameter("name");String stuid = request.getParameter("stuid");String zhuanye = request.getParameter("zhuanye");Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {connection = DBUtil.getConnection();connection.setAutoCommit(false);String sql = "INSERT INTO student(name,stuid,zhuanye) VALUES(?,?,?)";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1,name);preparedStatement.setString(2,stuid);preparedStatement.setString(3,zhuanye);preparedStatement.execute();connection.commit();} catch (SQLException e) {if (connection != null) {try {connection.rollback();} catch (SQLException ex) {throw new RuntimeException(ex);}}throw new RuntimeException(e);}finally {DBUtil.close(resultSet,preparedStatement,connection);}
//        进行重定向response.sendRedirect(request.getContextPath()+"/list");}

image-20241202164148159

修改功能

修改前的查询功能

<%@ page import="java.util.ArrayList" %>
<%@ page import="com.bean.Student" %>
<%@ page import="java.util.List" %><%--设置类型与编码格式--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1>学生信息</h1><table border="1px" width="600px"><tr><td>姓名</td><td>学号</td><td>专业</td><td>操作</td></tr>
<%--        获取请求域中拿到  集合--%>
<%--        使用 多个 " <%  %>"--%><%List<Student> studentList = (List<Student>)request.getAttribute("studentList");for (Student student : studentList){%><tr>
<%--            <%= 含有变量的字符串/变量  %>--%>
<%--            通过集合中每一个Student 对象调研 bean  对应的方法来获取 name  stuid zhuanye--%><td><%=student.getName()%></td><td><%=student.getStuid()%></td><td><%=student.getZhuanye()%></td><td><a href="add.jsp">新增</a>
<%--                点击修改并发送学号--%><a href="<%=request.getContextPath() + "/modifyQuery" + "?stuno=" + student.getStuid()%>">修改</a><a href="#">删除</a></td></tr><%}%></table>
</body>
</html>

doModifyQuery()

private void doModifyQuery(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {request.setCharacterEncoding("UTF-8");String stuno = request.getParameter("stuno");Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;
//        放大 list 集合的作用域,存放每一个student 对象List<Student> students = new ArrayList<>();try {connection = DBUtil.getConnection();connection.setAutoCommit(false);String sql = "SELECT * FROM student where STUID = '"+stuno+"'";preparedStatement = connection.prepareStatement(sql);resultSet  = preparedStatement.executeQuery();
//            处理结果集,并封装到 集合中while (resultSet.next()){
//                获取表中的字段String name = resultSet.getString("name");String stuid = resultSet.getString("stuid");String zhuanye = resultSet.getString("zhuanye");
//                将字段封装到 beanStudent student = new Student();student.setName(name);student.setStuid(stuid);student.setZhuanye(zhuanye);
//              将每一个对象添加到list集合students.add(student);}connection.commit();} catch (SQLException e) {if (connection != null) {try {connection.rollback();} catch (SQLException ex) {throw new RuntimeException(ex);}}throw new RuntimeException(e);}finally {DBUtil.close(resultSet,preparedStatement,connection);}
//        数据添加到请求域request.setAttribute("studentList",students);
//        转发request.getRequestDispatcher("/modify.jsp").forward(request,response);}

修改前的展示与修改数据的提交

<%@ page import="java.util.List" %>
<%@ page import="com.bean.Student" %>
<%@ page import="java.util.Iterator" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1>修改学生</h1><form action="<%=request.getContextPath() + "/modify"%>"><%List<Student> studentList = (List<Student>) request.getAttribute("studentList");
//            集合中只有一个学生类对象,不需要循环Iterator<Student> iterator = studentList.iterator();Student student= iterator.next();%>原姓名:<%=student.getName()%><br>原学号:<%=student.getStuid()%><br>原专业:<%=student.getZhuanye()%><br>姓名:<input type="text" name="name"><br>学号:<input type="text" name="stuid"  value="<%=student.getStuid()%>" readonly><br>专业:<input type="text" name="zhuanye" ><br><input type="submit" value="确认修改"></form>
</body>
</html>

处理修改提交的数据

doModify()

private void doModify(HttpServletRequest request, HttpServletResponse response) throws IOException {
//        需要获取输入的数据,所以,编码格式request.setCharacterEncoding("utf-8");String stuno = request.getParameter("stuid");String name = request.getParameter("name");String zhuanye = request.getParameter("zhuanye");Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {connection = DBUtil.getConnection();connection.setAutoCommit(false);String sql = "update student set name =?,zhuanye=? where stuid =?";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1,name);preparedStatement.setString(2,zhuanye);preparedStatement.setString(3,stuno);preparedStatement.execute();connection.commit();} catch (SQLException e) {if (connection != null) {try {connection.rollback();} catch (SQLException ex) {throw new RuntimeException(ex);}}throw new RuntimeException(e);}finally {DBUtil.close(resultSet,preparedStatement,connection);}
//        进行重定向response.sendRedirect(request.getContextPath()+"/list");}

image-20241202224529376

删除功能

image-20241202225810342

private void doDel(HttpServletRequest request, HttpServletResponse response) throws IOException {request.setCharacterEncoding("utf-8");String stuno = request.getParameter("stuno");Connection connection = null;PreparedStatement preparedStatement = null;ResultSet resultSet = null;try {connection = DBUtil.getConnection();connection.setAutoCommit(false);String sql = "delete from student where stuid =?";preparedStatement = connection.prepareStatement(sql);preparedStatement.setString(1, stuno);preparedStatement.execute();connection.commit();} catch (SQLException e) {if (connection != null) {try {connection.rollback();} catch (SQLException ex) {throw new RuntimeException(ex);}}throw new RuntimeException(e);} finally {DBUtil.close(resultSet, preparedStatement, connection);}
//        进行重定向response.sendRedirect(request.getContextPath() + "/list");}

image-20241202225309764

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词