学生选课系统--管理员--修改信息功能
学生选课系统--管理员--修改信息功能
小总结:
1.修改功能(修改学生、教师、课程信息),我的想法是先显示所有信息,然后有修改和删除的按钮,这样点击修改按钮的时候,通过超链接把id信息传到修改.jsp页面,然后再设立域对象把这个id信息给传到对应的Servlet中
在各个过程中,因为有很多重复的代码,我就会复制粘贴,但是特别容易出现的问题就是有些地方需要修改但是忘记修改,就会卡很久,比如说路径的修改,还有一些新添的代码,比如说学生的id是不允许修改的,但是教师的工号可以修改,这时候就有修改前id和修改后id的区分,还有因为教师信息添加和修改的时候都需要先JS校验看看是否符合格式,复制过来的代码Form表格的id要注意,还有button按钮的id也需要注意的,不然很容易传不过来,一直报null错误。
浏览信息的时候,xml里面不要忘记写返回类型!
2.修改(重置密码和前面的的修改功能的要求不太一样)
学生修改:
1.StuMapper.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> <select id="selectAll" resultType="com.xxxx.entity.Stu"> select * from stu01; </select> </mapper>
2.StuMapper.java
package com.xxxx.mapper; import com.xxxx.entity.Stu; public interface StuMapper { void add(Stu stu); void update(Stu stu); Stu[] selectAll(); }
3.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="destu.jsp?id=<%=stu.getId()%>">删除</a> </td> </tr> <% } sqlSession.close(); %> </table> </body> </html>
4.upstu.jsp(修改学生信息jsp)
<%@ 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>
5.upstuServlet.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("/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();
}
}
教师修改:
1.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> <select id="selectAll" resultType="com.xxxx.entity.Tea"> select * from tea01; </select> <update id="updateByeid"> update tea01 set id=#{tea.id},name=#{tea.name},pro=#{tea.pro},yuan=#{tea.yuan} where id=#{eid}; </update> </mapper>
2.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);
}
3.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="detea.jsp?id=<%=tea.getId()%>">删除</a> </td> </tr> <% } sqlSession.close(); %> </body> </html>
4.uptea.jsp(修改教师信息jsp)
<%@ 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>
5.upteaServlet.java(实现修改教师信息的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("/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(); } }
课程修改:
1.ClaMapper.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> <select id="selectAll" resultType="com.xxxx.entity.Cla"> select * from cla; </select> </mapper>
2.ClaMapper.java
package com.xxxx.mapper;
import com.xxxx.entity.Cla;
public interface ClaMapper {
void add(Cla cla);
Cla[] selectAll();
void update(Cla cla);
}
3.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="decla.jsp?id=<%=cla.getId()%>&name=<%=cla.getName()%>">删除</a> </td> </tr> <% } sqlSession.close(); %> </body> </html>
4.upcla.jsp(修改课程信息jsp)
<%@ 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>
5.upclaServlet.java(实现修改课程信息的Servlet)
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(); } }
密码重置:
1.LoginMapper.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>
2.LoginMapper.java
package com.xxxx.mapper;
import com.xxxx.entity.Login;
public interface LoginMapper {
Login selectByUname(String uname);
void updateByuname(String uname);
}
3.selectupwd.jsp(输入要重置密码的学生/老师的id)这里需要注意的是这个input里面一定要有value不然去打牌selectupwdServlet中通过type获取不到"教师"或者是"学生"的
<%@ 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>
4.selectupwdServlet.java(实现查找学生/老师,不存在就输出错误信息,存在就查询到详细的账号密码信息)
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");//获取身份 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(); } } }
5.upupwd.jsp(详细信息,点击则进行重置)
<%@ 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>
6.upupwdServlet.java(进行密码重置的Servlet)
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(); } }
浙公网安备 33010602011771号