根据测试要求完成了石家庄铁道大学的选课系统实现javaweb增删改查。
要求如下:


Bean包:
course.java:
1 package Bean; 2 3 public class course { 4 public String id; 5 public String stunum; 6 public String name; 7 public String s; 8 public String getS() { 9 return s; 10 } 11 public void setS(String s) { 12 this.s = s; 13 } 14 public String getId() { 15 return id; 16 } 17 public void setId(String id) { 18 this.id = id; 19 } 20 public String getStunum() { 21 return stunum; 22 } 23 public void setStunum(String stunum) { 24 this.stunum = stunum; 25 } 26 public String getName() { 27 return name; 28 } 29 public void setName(String name) { 30 this.name = name; 31 } 32 33 34 }
information.java:
1 package Bean; 2 3 public class information { 4 public static String id; 5 public static String code; 6 public static String shenfen; 7 public static String getId() { 8 return id; 9 } 10 public static void setId(String id) { 11 information.id = id; 12 } 13 public static String getCode() { 14 return code; 15 } 16 public static void setCode(String code) { 17 information.code = code; 18 } 19 public static String getShenfen() { 20 return shenfen; 21 } 22 public static void setShenfen(String shenfen) { 23 information.shenfen = shenfen; 24 } 25 26 }
teainformation.java:
1 package Bean; 2 3 public class teainformation { 4 public String teaid; 5 public String teaname; 6 public String sex; 7 public String xueyuan; 8 public String zhicheng; 9 public String getTeaid() { 10 return teaid; 11 } 12 public void setTeaid(String teaid) { 13 this.teaid = teaid; 14 } 15 public String getTeaname() { 16 return teaname; 17 } 18 public void setTeaname(String teaname) { 19 this.teaname = teaname; 20 } 21 public String getSex() { 22 return sex; 23 } 24 public void setSex(String sex) { 25 this.sex = sex; 26 } 27 public String getXueyuan() { 28 return xueyuan; 29 } 30 public void setXueyuan(String xueyuan) { 31 this.xueyuan = xueyuan; 32 } 33 public String getZhicheng() { 34 return zhicheng; 35 } 36 public void setZhicheng(String zhicheng) { 37 this.zhicheng = zhicheng; 38 } 39 40 }
xuanke.java:
package Bean; public class xuanke { public String id; public String stuid; public String teaid; public String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getStuid() { return stuid; } public void setStuid(String stuid) { this.stuid = stuid; } public String getTeaid() { return teaid; } public void setTeaid(String teaid) { this.teaid = teaid; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
servlet层:
kechengp.java: 添加课程的判定与添加
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utilskecheng; @WebServlet("/kechengp") public class kechengp extends HttpServlet{ private static final long serialVersionUID = 1L; public kechengp() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utilskecheng to=new utilskecheng(); String id=request.getParameter("id"); String name=request.getParameter("name"); String stunum=request.getParameter("stunum"); String s=(String)request.getSession().getAttribute("idnum"); String sql="select * from kecheng where id =?"; Object[] objs1={id}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { System.out.println("课程已存在"); response.getWriter().append("课程已存在"); response.sendRedirect("projectplus.jsp"); } else { String sql2="insert into kecheng(id,name,stunum,s)values(?,?,?,?)"; Object[] objs2={id,name,stunum,s}; int a=to.update(sql2,objs2); if(a>0){ request.setAttribute("info","注册成功!!!"); request.setAttribute("link","teacher.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","注册失败!!!"); request.setAttribute("link","projectplus.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
lojin.java: menu.jsp登陆的servlet 根据所选的身份不同跳转到不同的操作界面(先验证用户账号密码是否正确)
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 javax.servlet.http.HttpSession; import utils.utils; @WebServlet("/lojin") public class lojin extends HttpServlet{ private static final long serialVersionUID = 1L; public lojin() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { HttpSession session=request.getSession(); request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); String id=request.getParameter("id"); String code=request.getParameter("code"); String shenfen=request.getParameter("shenfen"); String sql="select * from register where id =? and code=? and shenfen=?"; Object[] objs1={id,code,shenfen}; utils to=new utils(); ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { request.getSession().setAttribute("idnum", id); if(shenfen.equals("教师")) { request.setAttribute("info","登录成功!!!"); request.setAttribute("link","teacher.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); } else if(shenfen.equals("管理员")) { request.setAttribute("info","登录成功!!!"); request.setAttribute("link","manager.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); } else//学生 { request.setAttribute("info","登录成功!!!"); request.setAttribute("link","student.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); } } else { System.out.println("用户不存在或密码错误"); } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
managerstu.java: 这是管理员给学生添加信息的servlet
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utilss; @WebServlet("/managerpstu") public class managerpstu extends HttpServlet{ private static final long serialVersionUID = 1L; public managerpstu() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utilss to=new utilss(); String stuid=request.getParameter("stuid"); String name=request.getParameter("name"); String sex=request.getParameter("sex"); String banji=request.getParameter("banji"); String zhuanye=request.getParameter("zhuanye"); String s=(String)request.getSession().getAttribute("idnum"); String sql="select * from student where stuid =?"; Object[] objs1={s}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { System.out.println("已经有该用户"); response.getWriter().append("已经有该用户"); response.sendRedirect("managerpstu.jsp"); } else { String sql2="insert into student(stuid,name,sex,banji,zhuanye)values(?,?,?,?,?)"; Object[] objs2={s,name,sex,banji,zhuanye}; int a=to.update(sql2,objs2); if(a>0){ request.setAttribute("info","注册成功!!!"); request.setAttribute("link","manager.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","注册失败!!!"); request.setAttribute("link","managerpstu.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
managertea.java: 管理员给老师添加信息的servlet
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utilst; @WebServlet("/managerptea") public class managerptea extends HttpServlet{ private static final long serialVersionUID = 1L; public managerptea() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utilst to=new utilst(); String teaid=request.getParameter("teaid"); String teaname=request.getParameter("teaname"); String sex=request.getParameter("sex"); String xueyuan=request.getParameter("xueyuan"); String zhicheng=request.getParameter("zhicheng"); String sql="select * from teacher where teaid =?"; Object[] objs1={teaid}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { System.out.println("已经有该用户"); response.getWriter().append("已经有该用户"); response.sendRedirect("register.jsp"); } else { String sql2="insert into teacher(teaid,teaname,sex,xueyuan,zhicheng)values(?,?,?,?,?)"; Object[] objs2={teaid,teaname,sex,xueyuan,zhicheng}; int a=to.update(sql2,objs2); if(a>0){ request.setAttribute("info","注册成功!!!"); request.setAttribute("link","manager.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","注册失败!!!"); request.setAttribute("link","managerptea.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
register.java: 注册的servlet
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utils; @WebServlet("/register") public class register extends HttpServlet{ private static final long serialVersionUID = 1L; public register() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utils to=new utils(); String id=request.getParameter("id"); String code=request.getParameter("code"); String shenfen=request.getParameter("shenfen"); String sql="select * from register where id =?"; Object[] objs1={id}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { System.out.println("已经有该用户"); response.getWriter().append("已经有该用户"); response.sendRedirect("register.jsp"); } else { String sql2="insert into register(id,code,shenfen)values(?,?,?)"; Object[] objs2={id,code,shenfen}; int a=to.update(sql2,objs2); if(a>0){ request.setAttribute("info","注册成功!!!"); request.setAttribute("link","menu.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","注册失败!!!"); request.setAttribute("link","register.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
sturevise.java: 学生修改个人信息的servlet
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utilss; @WebServlet("/sturevise") public class sturevise extends HttpServlet{ private static final long serialVersionUID = 1L; public sturevise() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utilss to=new utilss(); //String stuid=request.getParameter("stuid"); String name=request.getParameter("name"); String sex=request.getParameter("sex"); String banji=request.getParameter("banji"); String zhuanye=request.getParameter("zhuanye"); String s=(String)request.getSession().getAttribute("idnum"); String sql="select * from student where stuid =?"; Object[] objs1={s}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { String sql2="update student set name=?,sex=?,banji=?,zhuanye=? where stuid=?"; Object[] objs2={name,sex,banji,zhuanye,s}; int a=to.update(sql2,objs2); if(a>0){ request.setAttribute("info","修改成功!!!"); request.setAttribute("link","student.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","修改失败!!!"); request.setAttribute("link","sturevise.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } else { System.out.println("不存在该用户"); request.setAttribute("link","sturevise.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
tearevise.java: 老师修改个人信息的servlet
package Servlet; import java.io.IOException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utilst; @WebServlet("/teacherrevise") public class teacherrevise extends HttpServlet{ private static final long serialVersionUID = 1L; public teacherrevise() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utilst to=new utilst(); String teaid=request.getParameter("teaid"); String teaname=request.getParameter("teaname"); String sex=request.getParameter("sex"); String xueyuan=request.getParameter("xueyuan"); String zhicheng=request.getParameter("zhicheng"); String sql="select * from teacher where teaid =?"; String s=(String)request.getSession().getAttribute("idnum"); Object[] objs1={s}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { String sql2="update teacher set teaname=?,sex=?,xueyuan=?,zhicheng=? where teaid=?"; Object[] objs2={teaname,sex,xueyuan,zhicheng,s}; int a=to.update(sql2,objs2); if(a>0){ request.setAttribute("info","修改成功!!!"); request.setAttribute("link","teacher.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","修改失败!!!"); request.setAttribute("link","teacherrevise.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } else { System.out.println("不存在该用户"); request.setAttribute("link","teacherrevise.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
xuanke.java: 判定选课的servlet
package Servlet; import java.io.IOException; //import java.sql.ResultSet; //import java.sql.SQLException; import java.sql.ResultSet; import java.sql.SQLException; 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 utils.utilsxuanke; //import @WebServlet("/xuanke") public class xuanke extends HttpServlet{ private static final long serialVersionUID = 1L; public xuanke() { super(); } protected void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); utilsxuanke to=new utilsxuanke(); String id=(String)request.getParameter("id"); String name=(String)request.getParameter("name"); String s=(String)request.getParameter("s"); //String id=(String)request.getAttribute("pid"); // String name=(String)request.getAttribute("pname"); // String s=(String)request.getAttribute("ps"); String stu=(String)request.getSession().getAttribute("idnum"); String sql="select * from xuanke where name=?"; Object[] objs1= {name}; ResultSet rs=to.query(sql, objs1); try { if(rs.next()) { System.out.println("已经选用该课程"); response.getWriter().append("已经选用该课程"); response.sendRedirect("seeproject.jsp"); } else { String sql2="insert into xuanke(id,stuid,teaid,name)values(?,?,?,?)"; Object[] objs2= {id,stu,s,name}; int a=to.update(sql2, objs2); if(a>0){ request.setAttribute("info","选课成功!!!"); request.setAttribute("link","seeproject.jsp"); request.getRequestDispatcher("alert.jsp").forward(request, response); }else{ request.setAttribute("info","选课失败!!!"); request.setAttribute("link","xuanke.jsp"); request.getRequestDispatcher("alert.jsp").forward(request,response); } } }catch(SQLException e) { e.printStackTrace(); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
这是所有的servlet 与Bean包代码
所出现的问题:
servlet层太过臃肿,重复的内容太多,这样子写导致代码量太大,逻辑关系会非常的乱,但是是可以理顺的。写完之后与同学交流我了解到了将登陆的ID弄成一个字段传奇整个系统的方法,这种方法会比我的这种减少很多的代码量,后期优化我会认真学习这种架构。
变量的命名不规范,这是我的错误。我会慢慢去改,去学习记忆专业的命名此语与规范。
后面的jsp页面与utils包我会再下个博客发布。
我写的系统中还有很多不足,如果各位大佬有更好的方法欢迎讨论交流。🤭🤭🤭🤭🤭
浙公网安备 33010602011771号