学生选课系统--管理员功能实现
学生选课系统--管理员功能实现
笔记:
学生选课系统笔记1 - yuanse - 博客园 (cnblogs.com)
学生选课系统--管理员--修改信息功能 - yuanse - 博客园 (cnblogs.com)
学生选课系统--管理员--删除功能 - yuanse - 博客园 (cnblogs.com)
代码...复制都不想复制了...
1.相关配置文件、实体类、工具类等
学生选课系统--配置文件+工具类+实体类+登录选择页面+登录的账户密码检查 - yuanse - 博客园 (cnblogs.com)
2.admin.jsp(管理者页面)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 0:53 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>admin.jsp</title> </head> <%--管理员选择页面:问题:很多会出现重复--%> <body> <h3>欢迎${uname}登录</h3> <a href="addstu.jsp">添加学生基本信息</a> <br> <a href="selectstu.jsp">修改学生基本信息</a><br> <a href="selectstu.jsp">删除学生基本信息</a> <br> <a href="addtea.jsp">添加教师基本信息</a> <br> <a href="selecttea.jsp">修改教师基本信息</a><br> <a href="selecttea.jsp">删除教师基本信息</a><br> <a href="addcla.jsp">新添课程基本信息</a><br> <a href="selectcla.jsp">修改课程基本信息</a><br> <a href="selectcla.jsp">删除课程基本信息</a><br> <a href="selectupwd.jsp">密码重置</a><br> </body> </html>
3.addstu.jsp(添加学生信息页面)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>addstu.jsp</title> </head> <body> <h2 align="center">添加学生信息</h2> <table align="center" width="800" border="1"> <form method="post" action="addstuServlet"> <tr> <td>学号</td> <td>系统自动生成</td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>性别</td> <td> <input type="radio" name="sex" value="男" checked>男 <input type="radio" name="sex" value="女">女 </td> </tr> <tr> <td>年龄</td> <td><input type="text" name="age" id="age"></td> </tr> <tr> <td>专业</td> <td> <input type="radio" name="pro" value="计算机科学与技术" checked>计算机科学与技术<br> <input type="radio" name="pro" value="软件工程">软件工程<br> <input type="radio" name="pro" value="网络工程">网络工程<br> <input type="radio" name="pro" value="数字媒体技术">数字媒体技术<br> </td> </tr> <tr> <td>班级</td> <td><input type="text" name="cla" id="cla"></td> </tr> <tr align="center"> <td colspan="2"><button>添加</button></td> </tr> </form> </table> </body> </html>
4.addstuServlet.java(添加学生信息Servlet接收)

package com.xxxx.servlet; import com.xxxx.entity.Stu; import com.xxxx.mapper.StuMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/addstuServlet") public class addstuServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String name=request.getParameter("name"); ;//姓名 String sex=request.getParameter("sex"); ;//性别 int age= Integer.parseInt(request.getParameter("age")); ;//年龄 String pro=request.getParameter("pro"); ;//专业 String cla=request.getParameter("cla"); ;//班级 Stu stu=new Stu(name,sex,age,pro,cla); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); StuMapper stuMapper = sqlSession.getMapper(StuMapper.class); stuMapper.add(stu); response.getWriter().write("添加成功"); response.getWriter().close(); sqlSession.close(); } }
5.selectstu.jsp(浏览学生信息,方便修改、删除操作)

<%@ page import="org.apache.ibatis.session.SqlSession" %> <%@ page import="com.xxxx.util.GetSqlSession" %> <%@ page import="com.xxxx.mapper.StuMapper" %> <%@ page import="com.xxxx.entity.Stu" %><%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/14 Time: 23:41 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>selectstu.jsp</title> </head> <%--浏览所有学生,方便选择修改信息或者删除信息,超链接--%> <body> <table align="center" border="1" width="800"> <tr> <td>学生学号</td><td>学生姓名</td><td>性别</td><td>年龄</td><td>专业</td><td>班级</td><td></td> </tr> <% SqlSession sqlSession = GetSqlSession.CreateSqlSession(); StuMapper stuMapper = sqlSession.getMapper(StuMapper.class); Stu[] stus=stuMapper.selectAll(); for (Stu stu:stus) { %> <tr> <td><%=stu.getId()%></td><td><%=stu.getName()%></td><td><%=stu.getSex()%></td><td><%=stu.getAge()%></td><td><%=stu.getPro()%></td><td><%=stu.getCla()%></td> <td><a href="upstu.jsp?id=<%=stu.getId()%>">修改</a> <a href="destuServlet?id=<%=stu.getId()%>">删除</a> </td> </tr> <% } sqlSession.close(); %> </table> </body> </html>
6.upstu.jsp(修改学生信息页面)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>upstu.jsp</title> </head> <%--不符合*录入格式*,不可修改,,没完成--%> <body> <% String id=request.getParameter("id");//获取超链接传过来的id request.getSession().setAttribute("id",id);//设置域对象 %> <h2 align="center">修改学生信息</h2> <table align="center" width="800" border="1"> <form method="post" action="upstuServlet"> <tr> <td>学号</td> <td><%=id%></td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>性别</td> <td> <input type="radio" name="sex" value="男" checked>男 <input type="radio" name="sex" value="女">女 </td> </tr> <tr> <td>年龄</td> <td><input type="text" name="age" id="age"></td> </tr> <tr> <td>专业</td> <td> <input type="radio" name="pro" value="计算机科学与技术" checked>计算机科学与技术<br> <input type="radio" name="pro" value="软件工程">软件工程<br> <input type="radio" name="pro" value="网络工程">网络工程<br> <input type="radio" name="pro" value="数字媒体技术">数字媒体技术<br> </td> </tr> <tr> <td>班级</td> <td><input type="text" name="cla" id="cla"></td> </tr> <tr align="center"> <td colspan="2"><button>修改</button></td> </tr> </form> </table> </body> </html>
7.upstuServlet.java(接收修改页面的信息)

package com.xxxx.servlet;
import com.xxxx.entity.Stu;
import com.xxxx.mapper.StuMapper;
import com.xxxx.util.GetSqlSession;
import org.apache.ibatis.session.SqlSession;
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("/upstuServlet")
public class upstuServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
int id= Integer.valueOf((String) request.getSession().getAttribute("id"));//获取要修改的id写int会出错**
String name=request.getParameter("name"); //姓名
String sex=request.getParameter("sex"); //性别
int age= Integer.parseInt(request.getParameter("age")); //年龄
String pro=request.getParameter("pro"); //专业
String cla=request.getParameter("cla"); //班级
Stu stu=new Stu(id,name,sex,age,pro,cla);
SqlSession sqlSession = GetSqlSession.CreateSqlSession();
StuMapper stuMapper = sqlSession.getMapper(StuMapper.class);
stuMapper.update(stu);
response.getWriter().write("修改成功");
response.getWriter().close();
sqlSession.close();
}
}
8.destuServlet.java(删除学生信息)

package com.xxxx.servlet; import com.xxxx.mapper.StuMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/destuServlet") public class destuServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String id=request.getParameter("id"); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); StuMapper stuMapper = sqlSession.getMapper(StuMapper.class); stuMapper.deleteById(id); response.getWriter().write("删除成功"); response.getWriter().close(); sqlSession.close(); } }
9.addtea.jsp

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>addtea.jsp</title> </head> <%--工号和院需要校验 不要忘记return!! <td colspan="2"><button type="button" id="addBtn">添加</button></td>注意要写type,不然自动提交 --%> <body> <h2 align="center">添加教师信息</h2> <table align="center" width="800" border="1"> <form method="post" action="addteaServlet" id="addForm"> <tr> <td>工号</td> <td><input type="text" name="id" id="id"><span id="msg1" style="font-size: 16px;color: red"></span> </td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>职称</td> <td> <input type="radio" name="pro" value="助教">助教<br> <input type="radio" name="pro" value="讲师">讲师<br> <input type="radio" name="pro" value="副教授">副教授<br> <input type="radio" name="pro" value="教授">教授<br> </td> </tr> <tr> <td>所属学院</td> <td> <select name="yuan" id="yuan"> <option value="信息" >信息</option> <option value="土木" >土木</option> <option value="机械" >机械</option> <option value="电气" >电气</option> <option value="交通" >交通</option> </select> </td> </tr> <tr align="center"> <td colspan="2"><span id="msg2" style="font-size: 16px;color: red"></span><br><button type="button" id="addBtn">添加</button></td> </tr> </form> </table> <%--使用js校验 先验证工号格式,6位数字,前两位01-05 再看院系和工号是否对应 格式都正确,就提交表单 注意:不要忘记return 问题:如果第一次是工号和院系不匹配,弹出错误信息之后,下一次不刷新进行修改,这个错误信息会一直存在! --%> <script type="text/javascript" src="js/jquery-3.6.1.js"></script> <script type="text/javascript"> $("#addBtn").click(function(){ var id=$("#id").val(); var yuan=$("#yuan").val(); //先验证工号格式,6位数字,前两位01-5 if(isNaN(id)|| id.length!=6){ $("#msg1").html("工号格式错误1");return;//不要忘记return } else{ if(id[0]!='0'||id[1]>5||id[1]<1){//*** //工号错误 $("#msg1").html("工号格式错误2");return; } else { //工号正确了-->判断工号和院系是否对应 if((id[1]==1&&yuan!="信息")||(id[1]==2&&yuan!="土木")||(id[1]==3&&yuan!="机械")||(id[1]==4&&yuan!="电气")||(id[1]==5&&yuan!="交通")){ //工号和院系不匹配 $("#msg2").html("工号和院系不匹配");return; } else{ //所有条件都满足了 $("#addForm").submit(); } } } }); </script> </body> </html>
10.addteaServlet(添加教师Servlet)

package com.xxxx.servlet; import com.xxxx.entity.Stu; import com.xxxx.entity.Tea; import com.xxxx.mapper.StuMapper; import com.xxxx.mapper.TeaMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/addteaServlet") public class addteaServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); int id = Integer.parseInt(request.getParameter("id"));//工号 String name=request.getParameter("name") ;//姓名 String pro =request.getParameter("pro") ;//职位 String yuan=request.getParameter("yuan") ;//所属院 Tea tea=new Tea(id,name,pro,yuan); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); TeaMapper teaMapper = sqlSession.getMapper(TeaMapper.class); teaMapper.add(tea); response.getWriter().write("添加成功"); response.getWriter().close(); sqlSession.close(); } }
11.selecttea.jsp(查询全部教师信息)

<%@ page import="com.xxxx.entity.Tea" %> <%@ page import="com.xxxx.mapper.TeaMapper" %> <%@ page import="com.xxxx.util.GetSqlSession" %> <%@ page import="org.apache.ibatis.session.SqlSession" %><%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/15 Time: 10:19 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>selecttea.jsp</title> </head> <%--浏览所有教师,方便选择修改信息或者删除信息,超链接--%> <body> <table align="center" border="1" width="800"> <tr> <td>工号</td><td>姓名</td><td>职位</td><td>所属院</td><td></td> </tr> <% SqlSession sqlSession = GetSqlSession.CreateSqlSession(); TeaMapper teaMapper = sqlSession.getMapper(TeaMapper.class); Tea[] teas=teaMapper.selectAll(); for (Tea tea:teas) { %> <tr> <td><%=tea.getId()%></td><td><%=tea.getName()%></td><td><%=tea.getPro()%></td><td><%=tea.getYuan()%></td> <td><a href="uptea.jsp?id=<%=tea.getId()%>">修改</a> <a href="deteaServlet?id=<%=tea.getId()%>&teaname=<%=tea.getName()%>">删除</a> </td> </tr> <% } sqlSession.close(); %> </body> </html>
12.uptea.jsp(修改教师信息页面)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>uptea.jsp</title> </head> <body> <% String eid=request.getParameter("id");//获取超链接传过来的id request.getSession().setAttribute("eid",eid);//设置域对象 %> <h2 align="center">修改教师信息</h2> <table align="center" width="800" border="1"> <form method="post" action="upteaServlet" name="upForm" id="upForm"> <tr> <td>工号</td> <td><input type="text" name="id" id="id"><span id="msg1" style="font-size: 16px;color: red"></span> </td> </tr> <tr> <td>姓名</td> <td><input type="text" name="name" id="name"></td> </tr> <tr> <td>职称</td> <td> <input type="radio" name="pro" value="助教">助教<br> <input type="radio" name="pro" value="讲师">讲师<br> <input type="radio" name="pro" value="副教授">副教授<br> <input type="radio" name="pro" value="教授">教授<br> </td> </tr> <tr> <td>所属学院</td> <td> <select name="yuan" id="yuan"> <option value="信息" >信息</option> <option value="土木" >土木</option> <option value="机械" >机械</option> <option value="电气" >电气</option> <option value="交通" >交通</option> </select> </td> </tr> <tr align="center"> <td colspan="2"><button type="button" id="upBtn">修改</button></td> </tr> </form> </table> </body> <script type="text/javascript" src="js/jquery-3.6.1.js"></script> <script type="text/javascript"> $("#upBtn").click(function(){ var id=$("#id").val(); var yuan=$("#yuan").val(); //先验证工号格式,6位数字,前两位01-5 if(isNaN(id)|| id.length!=6){ $("#msg1").html("工号格式错误1");return;//不要忘记return } else{ if(id[0]!='0'||id[1]>5||id[1]<1){//*** //工号错误 $("#msg1").html("工号格式错误2");return; } else { //工号正确了-->判断工号和院系是否对应 if((id[1]==1&&yuan!="信息")||(id[1]==2&&yuan!="土木")||(id[1]==3&&yuan!="机械")||(id[1]==4&&yuan!="电气")||(id[1]==5&&yuan!="交通")){ //工号和院系不匹配 $("#msg2").html("工号和院系不匹配");return; } else{ //所有条件都满足了 $("#upForm").submit(); } } } }); </script> </html>
13.upteaServlet.java(接收jsp中要修改的信息)

package com.xxxx.servlet; import com.xxxx.entity.Stu; import com.xxxx.entity.Tea; import com.xxxx.mapper.StuMapper; import com.xxxx.mapper.TeaMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/upteaServlet") public class upteaServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); int eid= Integer.valueOf((String) request.getSession().getAttribute("eid"));//获取要修改的id写int会出错**接收先前的id int id = Integer.parseInt(request.getParameter("id"));//工号 String name =request.getParameter("name");//姓名 String pro =request.getParameter("pro");//职位 String yuan =request.getParameter("yuan");//所属院 Tea tea=new Tea(id,name,pro,yuan); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); TeaMapper teaMapper = sqlSession.getMapper(TeaMapper.class); teaMapper.updateByeid(tea,eid); response.getWriter().write("修改成功"); response.getWriter().close(); sqlSession.close(); } }
14.deteaServlet.java(删除教师信息)

package com.xxxx.servlet; import com.xxxx.entity.Cla; import com.xxxx.mapper.ClaMapper; import com.xxxx.mapper.StuMapper; import com.xxxx.mapper.TeaMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/deteaServlet") public class deteaServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String id=request.getParameter("id"); String teaname=request.getParameter("teaname");//这个需要多传一个name值 SqlSession sqlSession = GetSqlSession.CreateSqlSession(); //先查看这个教师是否承担教学任务cla ClaMapper claMapper=sqlSession.getMapper(ClaMapper.class); Cla cla=claMapper.selectByTeaname(teaname);//如果cla不等于空,就说明承担了课程 if(cla==null){//为空 TeaMapper stuMapper = sqlSession.getMapper(TeaMapper.class); stuMapper.deleteById(id); response.getWriter().write("删除成功"); response.getWriter().close(); } else{ response.getWriter().write("删除失败,该教师承担了课程任务"); response.getWriter().close(); } sqlSession.close(); } }
15.addscla.jsp(添加课程)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>addscla.jsp</title> </head> <body> <h2 align="center">添加课程信息</h2> <table align="center" width="800" border="1"> <form method="post" action="addclaServlet"> <tr> <td>课程编号</td> <td>系统自动生成</td> </tr> <tr> <td>课程名称</td> <td><input type="text" name="name"></td> </tr> <tr> <td>开课时间</td> <td> <select name="time"> <option value="星期一" selected>星期一</option> <option value="星期二">星期二</option> <option value="星期三">星期三</option> <option value="星期四">星期四</option> <option value="星期五">星期五</option> </select> </td> </tr> <tr> <td>开课节次</td> <td> <select name="ci"> <option value="1-2节" selected>1-2节</option> <option value="3-4节">3-4节</option> <option value="5-6节">5-6节</option> <option value="7-8节">7-8节</option> <option value="9-10节">9-10节</option> </select> </td> </tr> <tr> <td>所属学院</td> <td> <select name="yuan" id="yuan"> <option value="信息" >信息</option> <option value="土木" >土木</option> <option value="机械" >机械</option> <option value="电气" >电气</option> <option value="交通" >交通</option> </select> </td> </tr> <tr> <td>任课教师工号</td> <td><input type="text" name="teaid"></td> </tr> <tr> <td>任课教师名称</td> <td><input type="text" name="tea"></td> </tr> <tr> <td>选课限制人数</td> <td><input type="text" name="people"></td> </tr> <tr align="center"> <td colspan="2"><button>添加</button></td> </tr> </form> </table> </body> </html>
16.addclaServlet

package com.xxxx.servlet; import com.xxxx.entity.Cla; import com.xxxx.entity.Tea; import com.xxxx.mapper.ClaMapper; import com.xxxx.mapper.TeaMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/addclaServlet") public class addclaServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String name=request.getParameter("name");//课程名称 String time=request.getParameter("time");//开课时间星期几 String ci =request.getParameter("ci");//上课时间1-2节 String yuan=request.getParameter("yuan");//开课院系 String tea =request.getParameter("tea");//任课老师名字 int teaid = Integer.parseInt(request.getParameter("teaid"));//老师id int people = Integer.parseInt(request.getParameter("people"));//限制人数 Cla cla=new Cla(name,time,ci,yuan,tea,teaid,people); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); ClaMapper claMapper = sqlSession.getMapper(ClaMapper.class); claMapper.add(cla); response.getWriter().write("添加成功"); response.getWriter().close(); sqlSession.close(); } }
17.selectcla.jsp(浏览课程)

<%@ page import="com.xxxx.util.GetSqlSession" %> <%@ page import="org.apache.ibatis.session.SqlSession" %> <%@ page import="com.xxxx.mapper.ClaMapper" %> <%@ page import="com.xxxx.entity.Cla" %><%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/15 Time: 10:19 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>selectcla.jsp</title> </head> <%--浏览所有课程信息,方便选择修改信息或者删除信息,超链接--%> <body> <table align="center" border="1" width="800"> <tr> <td>课程编号</td><td>课程名称</td><td>开课时间</td><td>上课时间</td><td>开课院系</td> <td>任课老师</td><td>老师工号</td><td>限制人数</td><td></td> </tr> <% SqlSession sqlSession = GetSqlSession.CreateSqlSession(); ClaMapper claMapper = sqlSession.getMapper(ClaMapper.class); Cla[] clas=claMapper.selectAll(); for (Cla cla:clas) { %> <tr> <td><%=cla.getId()%></td><td><%=cla.getName()%></td><td><%=cla.getTime()%></td><td><%=cla.getCi()%></td> <td><%=cla.getYuan()%></td><td><%=cla.getTea()%></td><td><%=cla.getTeaid()%></td><td><%=cla.getPeople()%></td> <td><a href="upcla.jsp?id=<%=cla.getId()%>&name=<%=cla.getName()%>">修改</a> <a href="declaServlet?id=<%=cla.getId()%>&xuan=<%=cla.getXuan()%>">删除</a> </td> </tr> <% } sqlSession.close(); %> </body> </html>
18.upcla.jsp(修改课程)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>upcla.jsp</title> </head> <% String id=request.getParameter("id");//获取超链接传过来的id(不可修改) request.getSession().setAttribute("id",id);//设置域对象 String name=request.getParameter("name");//(不可修改) %> <body> <h2 align="center">修改课程信息</h2> <table align="center" width="800" border="1"> <form method="post" action="upclaServlet"> <tr> <td>课程编号</td> <td><%=id%> (不可修改)</td> </tr> <tr> <td>课程名称</td> <td><%=name%> (不可修改)</td> </tr> <tr> <td>开课时间</td> <td> <select name="time"> <option value="星期一" selected>星期一</option> <option value="星期二">星期二</option> <option value="星期三">星期三</option> <option value="星期四">星期四</option> <option value="星期五">星期五</option> </select> </td> </tr> <tr> <td>开课节次</td> <td> <select name="ci"> <option value="1-2节" selected>1-2节</option> <option value="3-4节">3-4节</option> <option value="5-6节">5-6节</option> <option value="7-8节">7-8节</option> <option value="9-10节">9-10节</option> </select> </td> </tr> <tr> <td>所属学院</td> <td> <select name="yuan" id="yuan"> <option value="信息" >信息</option> <option value="土木" >土木</option> <option value="机械" >机械</option> <option value="电气" >电气</option> <option value="交通" >交通</option> </select> </td> </tr> <tr> <td>任课教师工号</td> <td><input type="text" name="teaid"></td> </tr> <tr> <td>任课教师名称</td> <td><input type="text" name="tea"></td> </tr> <tr> <td>选课限制人数</td> <td><input type="text" name="people"></td> </tr> <tr align="center"> <td colspan="2"><button>修改</button></td> </tr> </form> </table> </body> </html>
19.upclaServlet.java

package com.xxxx.servlet; import com.xxxx.entity.Cla; import com.xxxx.entity.Stu; import com.xxxx.mapper.ClaMapper; import com.xxxx.mapper.StuMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/upclaServlet") public class upclaServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); int id= Integer.valueOf((String) request.getSession().getAttribute("id"));//获取要修改的id写int会出错** // String name=request.getParameter("name");//课程名称 String time=request.getParameter("time");//开课时间星期几 String ci =request.getParameter("ci");//上课时间1-2节 String yuan=request.getParameter("yuan");//开课院系 String tea =request.getParameter("tea");//任课老师名字 int teaid = Integer.parseInt(request.getParameter("teaid"));//老师id int people = Integer.parseInt(request.getParameter("people"));//限制人数 Cla cla=new Cla(); cla.setId(id);cla.setTime(time);cla.setCi(ci);cla.setYuan(yuan);cla.setTea(tea);cla.setTeaid(teaid);cla.setPeople(people); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); ClaMapper claMapper = sqlSession.getMapper(ClaMapper.class); claMapper.update(cla); response.getWriter().write("修改成功"); response.getWriter().close(); sqlSession.close(); } }
20.declaServlet.java(删除课程)

package com.xxxx.servlet; import com.xxxx.mapper.ClaMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/declaServlet") public class declaServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); int id= Integer.parseInt(request.getParameter("id"));//课程id int xuan= Integer.parseInt(request.getParameter("xuan"));//已选人数 if(xuan!=0){ response.getWriter().write("该课程已经被选择,无法删除"); response.getWriter().close(); } else{ SqlSession sqlSession = GetSqlSession.CreateSqlSession(); ClaMapper claMapper = sqlSession.getMapper(ClaMapper.class); claMapper.deleteById(id); response.getWriter().write("课程删除成功"); response.getWriter().close(); sqlSession.close(); } } }
21.selectupwd.jsp(密码重置)

<%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/15 Time: 12:36 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>selectupwd</title> </head> <%--管理员重置密码前需要把教师或学生的id输入,先查询再修改--%> <body> <form action="selectupwdServlet" method="post"> 输入id<input type="text" name="id"><br> 被修改用户身份:<input type="radio" name="type" value="教师">教师 <input type="radio" name="type" value="学生">学生<br> <span name="msg" style="font-size: 16px;color: red">${msg}</span>- <button>查询</button> </form> </body> </html>
22.selectupwdServlet.java(接收selectupwd.jsp的信息,查找要重置的用户的信息)

package com.xxxx.servlet; import com.xxxx.entity.Stu; import com.xxxx.entity.Tea; import com.xxxx.mapper.StuMapper; import com.xxxx.mapper.TeaMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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; /** * 重置密码前查询信息 * 先看要修改的是学生还是教师(这一步是为了看要查教师表还是学生表,为了查到账号名:为教师/学生的姓名; * 如果直接设置账号名为id号,则可以直接查login登录表,不用这么麻烦) * 存在->可以进入修改页面 * 不存在则返回,提示错误信息(需要回显:域对象) */ @WebServlet("/selectupwdServlet") public class selectupwdServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); int id= Integer.parseInt(request.getParameter("id"));//获取id String type=request.getParameter("type");//获取身份 System.out.println(type); if(type.equals("学生")){ //重置学生密码 SqlSession sqlSession = GetSqlSession.CreateSqlSession(); StuMapper stuMapper = sqlSession.getMapper(StuMapper.class); Stu stu=stuMapper.selectByid(id); if(stu==null){ request.setAttribute("msg","学生id不存在"); request.getRequestDispatcher("selectupwd.jsp").forward(request,response); } else{ request.getSession().setAttribute("type","1");//设1为学生,2为老师 request.getSession().setAttribute("stu" ,stu);//把学生全部信息传到重置密码页面 response.sendRedirect("upupwd.jsp"); } sqlSession.close(); } else{ //重置老师密码 SqlSession sqlSession = GetSqlSession.CreateSqlSession(); TeaMapper teaMapper = sqlSession.getMapper(TeaMapper.class); Tea tea=teaMapper.selectByid(id); if(tea==null){ request.setAttribute("msg","教师id不存在"); request.getRequestDispatcher("selectupwd.jsp").forward(request,response); } else{ request.getSession().setAttribute("type","2");//设1为学生,2为老师 request.getSession().setAttribute("tea" ,tea);//把学生全部信息传到重置密码页面 response.sendRedirect("upupwd.jsp"); } sqlSession.close(); } } }
23.upupwd.jsp(确认重置密码upwd页面)

<%@ page import="com.xxxx.entity.Stu" %> <%@ page import="com.xxxx.entity.Tea" %> <%@ page import="org.apache.ibatis.session.SqlSession" %> <%@ page import="com.xxxx.util.GetSqlSession" %> <%@ page import="com.xxxx.mapper.StuMapper" %> <%@ page import="com.xxxx.mapper.LoginMapper" %> <%@ page import="com.xxxx.entity.Login" %><%-- Created by IntelliJ IDEA. User: 22466 Date: 2022/11/13 Time: 1:16 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>upupwd.jsp</title> </head> <%--修改密码,我想直接在js中修改--%> <body> <% String type= (String) request.getSession().getAttribute("type"); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); LoginMapper loginMapper = sqlSession.getMapper(LoginMapper.class); Login login;String uname;//为了后面能调用login if(type.equals("1")){//学生 Stu stu= (Stu) request.getSession().getAttribute("stu"); uname=stu.getName(); login=loginMapper.selectByUname(stu.getName()); } else{//老师 Tea tea=(Tea)request.getSession().getAttribute("tea"); uname=tea.getName(); login=loginMapper.selectByUname(tea.getName()); } request.getSession().setAttribute("uname",uname);//设立域对象 %> <h2 align="center">重置密码</h2> <table align="center" width="800" border="1"> <form method="post" action="upupwdServlet"> <tr> <td>账户</td> <td><%=login.getUname()%></td> </tr> <tr> <td>密码</td> <td><%=login.getUpwd()%></td> </tr> <span id="msg" style="font-size: 16px;color: red"></span> <tr align="center"> <td colspan="2"><button>重置密码</button></td> </tr> </form> </table> </body> </html>
24.upupwdServlet.java(重置upwd密码操作)

package com.xxxx.servlet; import com.xxxx.mapper.LoginMapper; import com.xxxx.mapper.StuMapper; import com.xxxx.util.GetSqlSession; import org.apache.ibatis.session.SqlSession; 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("/upupwdServlet") public class upupwdServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=utf-8"); String uname= (String) request.getSession().getAttribute("uname"); SqlSession sqlSession = GetSqlSession.CreateSqlSession(); LoginMapper loginMapper = sqlSession.getMapper(LoginMapper.class); loginMapper.updateByuname(uname); response.getWriter().write("重置密码成功"); response.getWriter().close(); sqlSession.close(); } }
25.ClaMapper.java(Mapper接口类)

package com.xxxx.mapper; import com.xxxx.entity.Cla; public interface ClaMapper { void add(Cla cla); Cla[] selectAll(); void update(Cla cla); Cla selectByTeaname(String teaname); void deleteById(int id); }
26.ClaMapper.xml(xml文件)

<?xml version="1.0" encoding="UTF-8"?> <!--<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"--> <!-- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"--> <!-- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"--> <!-- version="4.0">--> <!--</web-app>--> <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace:命名空间--> <mapper namespace = "com.xxxx.mapper.ClaMapper"> <insert id="add"> insert into cla (name,time,ci,yuan,tea,teaid,people) values (#{name},#{time},#{ci},#{yuan},#{tea},#{teaid},#{people}); </insert> <update id="update"> update cla set time=#{time},ci=#{ci},yuan=#{yuan},tea=#{tea},teaid=#{teaid},people=#{people} where id=#{id}; </update> <delete id="deleteById"> delete from cla where id=#{id}; </delete> <select id="selectAll" resultType="com.xxxx.entity.Cla"> select * from cla; </select> <select id="selectByTeaname" resultType="com.xxxx.entity.Cla"> select * from cla where tea=#{teaname}; </select> </mapper>
27.LoginMapper.java(Mapper接口)

package com.xxxx.mapper; import com.xxxx.entity.Login; public interface LoginMapper { Login selectByUname(String uname); void updateByuname(String uname); }
28.LoginMapper.xml(xml文件)

<?xml version="1.0" encoding="UTF-8"?> <!--<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"--> <!-- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"--> <!-- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"--> <!-- version="4.0">--> <!--</web-app>--> <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace:命名空间--> <mapper namespace = "com.xxxx.mapper.LoginMapper"> <update id="updateByuname"> update login set upwd ="123456" where uname=#{uname}; </update> <select id="selectByUname" resultType="com.xxxx.entity.Login"> select * from login where uname=#{uname}; </select> </mapper>
29.StuMapper.java(mapper接口类)

package com.xxxx.mapper; import com.xxxx.entity.Stu; public interface StuMapper { void add(Stu stu); void update(Stu stu); Stu[] selectAll(); Stu selectByid(int id); void deleteById(String id); }
30.StuMapper.xml(xml文件)

<?xml version="1.0" encoding="UTF-8"?> <!--<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"--> <!-- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"--> <!-- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"--> <!-- version="4.0">--> <!--</web-app>--> <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace:命名空间--> <mapper namespace = "com.xxxx.mapper.StuMapper"> <insert id="add"> insert into stu01(name,sex,age,pro,cla) values (#{name},#{sex},#{age},#{pro},#{cla}); </insert> <update id="update"> update stu01 set name=#{name},sex=#{sex},age=#{age},pro=#{pro},cla=#{cla} where id=#{id}; </update> <delete id="deleteById"> delete from stu01 where id=#{id}; </delete> <select id="selectAll" resultType="com.xxxx.entity.Stu"> select * from stu01; </select> <select id="selectByid" resultType="com.xxxx.entity.Stu"> select * from stu01 where id=#{id}; </select> </mapper>
31.TeaMapper.java

package com.xxxx.mapper; import com.xxxx.entity.Tea; import org.apache.ibatis.annotations.Param; public interface TeaMapper { void add(Tea tea); Tea[] selectAll(); void updateByeid(@Param("tea") Tea tea, @Param("eid") int eid); Tea selectByid(int id); void deleteById(String id); }
32.TeaMapper.xml

<?xml version="1.0" encoding="UTF-8"?> <!--<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"--> <!-- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"--> <!-- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"--> <!-- version="4.0">--> <!--</web-app>--> <!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace:命名空间--> <mapper namespace = "com.xxxx.mapper.TeaMapper"> <insert id="add"> insert into tea01 (id,name,pro,yuan) values (#{id},#{name},#{pro},#{yuan}); </insert> <delete id="deleteById"> delete from tea01 where id=#{id}; </delete> <select id="selectAll" resultType="com.xxxx.entity.Tea"> select * from tea01; </select> <select id="selectByid" resultType="com.xxxx.entity.Tea"> select * from tea01 where id=#{id}; </select> <update id="updateByeid"> update tea01 set id=#{tea.id},name=#{tea.name},pro=#{tea.pro},yuan=#{tea.yuan} where id=#{eid}; </update> </mapper>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?