今日打卡——昨天的练习
简单地实现了一下系统用户登录的功能和教师、学生登录后填写基本信息的功能。
这是登陆的页面,没有添加任何样式:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>login</title> <script type="text/css"> form{ align-self: center; } </script> </head> <body> <form action="http://localhost:8080/web_09/userServlet?method=login" method="post" align = "center"> <table align="center"> <tr> <td>用户名:<input name="username" type="text"> </tr> <tr> <td> 密码:<input name = "pwd" type="password"> </td> </tr> <tr> <td> <select name="identy"> <option value="0">请输入你的身份</option> <option value="学生">学生</option> <option value="教师">教师</option> </select> </td> </tr> <tr> <td> <input type="submit" value="登录">  </td> <td> <a href="./zhuce.html">注册</a> </td> </tr> </table> </form> </body> </html>
这是学生和教师添加基本信息得页面:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>学生信息登记</title> <script type="text/css"> tr{ } </script> </head> <body> <form align="center" action="http://localhost:8080/web_09/stuServlet?method=register" method="post"> <table> <tr> <td>姓名:<input type="text" name = "stuName"></td> </tr> <tr> <td>班级:<input type="text" name="stuClass"></td> </tr> <tr> <td>年龄:<input type="text" name="stuAge"></td> </tr> <tr> <td>专业:<input type="text" name="stuMajor"></td> </tr> <tr> <td>学号:<input type="text" name="stuNo"></td> </tr> <tr> <td><input type="submit" value="提交"></td> <td><input type="reset" value="重填"></td> </tr> </table> </form> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form align="center" action="http://localhost:8080/web_09/teaServlet?method=register" method="post"> <table> <tr> <td>姓名:<input type="text" name = "teaName"></td> </tr> <tr> <td>工号:<input type="text" name="teaNo"></td> </tr> <tr> <td>职位:<input type="text" name="teaPosition"></td> </tr> <tr> <td>年龄:<input type="text" name="teaAge"></td> </tr> <tr> <td><input type="submit" value="提交"></td> <td><input type="reset" value="重填"></td> </tr> </table> </form> </body> </html>
这分别是学生、老师、还有系统管理员用户的servlet:
package com.web_09.servlet; import com.web_09.bean.User; import com.web_09.dao.Rootdao; import com.web_09.dao.Studao; import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.io.UnsupportedEncodingException; public class UserServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); if(method.equals("zhuce")){ try { zhuce(req,resp); } catch (Exception e) { e.printStackTrace(); } }else if(method.equals("login")){ login(req,resp); }else if(method.equals("resetpd")){ resetpd(req,resp); }else if(method.equals("deleteUser")){ deleteUser(req,resp); } } private void deleteUser(HttpServletRequest req, HttpServletResponse resp) { } private void resetpd(HttpServletRequest req, HttpServletResponse resp) { } private void login(HttpServletRequest req, HttpServletResponse resp) throws IOException { req.setCharacterEncoding("utf-8"); String username = req.getParameter("username"); String pwd = req.getParameter("pwd"); String identy = req.getParameter("identy"); System.out.println("用户名:"+username+"\n"+"密码:"+pwd); User user = new User(username,pwd); int flag = Rootdao.login(user); if(flag == 1 && identy.equals("学生")){ resp.sendRedirect("stumenu.html"); }else if(flag == 1 && identy.equals("教师")){ resp.sendRedirect("teamenu.html"); }else { resp.sendRedirect("login.html"); } } private void zhuce(HttpServletRequest req, HttpServletResponse resp) throws Exception { req.setCharacterEncoding("utf-8"); String username = req.getParameter("username"); String pwd = req.getParameter("pwd"); String identy = req.getParameter("identy"); System.out.println("用户名:"+username+"\n"+"密码:"+pwd+"\n"+"用户身份:"+identy); Rootdao.zhuce(username,pwd); System.out.println("注册成功"); if(identy.equals("教师")){ resp.sendRedirect("registerTea.html"); }else if(identy.equals("学生")){ resp.sendRedirect("registerStu.html"); } } }
package com.web_09.servlet; import com.web_09.bean.Student; import com.web_09.dao.Studao; import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.io.UnsupportedEncodingException; public class StuServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); if(method.equals("updatepd")){ updatepd(req,resp); }else if(method.equals("retrieveCourse")){ retrieveCourse(req,resp); }else if(method.equals("selectCourse")){ selectCourse(req,resp); }else if(method.equals("quitCourse")){ quitCourse(req,resp); }else if(method.equals("register")){ register(req,resp); } } private void register(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException { req.setCharacterEncoding("utf-8"); String stuName = req.getParameter("stuName"); String stuClass = req.getParameter("stuClass"); String stuAge = req.getParameter("stuAge"); String stuMajor = req.getParameter("stuMajor"); String stuNo = req.getParameter("stuNo"); int age = Integer.parseInt(stuAge); System.out.println("姓名:"+stuName+"\n"+"班级:"+stuClass+"\n"+"学号:"+stuNo+"\n"+"专业:"+stuMajor+"\n"+"年龄:"+stuAge); Student student = new Student(stuName,age,stuNo,stuMajor,stuClass); Studao.register(student); System.out.println("信息登记成功"); } private void quitCourse(HttpServletRequest req, HttpServletResponse resp) { } private void selectCourse(HttpServletRequest req, HttpServletResponse resp) { } private void retrieveCourse(HttpServletRequest req, HttpServletResponse resp) { } private void updatepd(HttpServletRequest req, HttpServletResponse resp) { } }
package com.web_09.servlet; import com.web_09.bean.Teacher; import com.web_09.dao.Teadao; import javax.servlet.*; import javax.servlet.http.*; import java.io.IOException; import java.io.UnsupportedEncodingException; public class TeaServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); String method = req.getParameter("method"); System.out.println(method); if(method.equals("updatepd")){ updatepd(req,resp); }else if(method.equals("retrieve")){ retrieve(req,resp); }else if(method.equals("register")){ register(req,resp); } } private void retrieve(HttpServletRequest req, HttpServletResponse resp) { } private void register(HttpServletRequest req, HttpServletResponse resp) throws UnsupportedEncodingException { req.setCharacterEncoding("utf-8"); String teaName = req.getParameter("teaName"); String teaNo = req.getParameter("teaNo"); String teaPosition = req.getParameter("teaPosition"); String teaAge = req.getParameter("teaAge"); int age = Integer.parseInt(teaAge); System.out.println("教师姓名:"+teaName+"\n"+"教师工号:"+teaNo+"\n"+"教师职位:"+teaPosition+"\n"+"教师年龄:"+age); Teacher teacher = new Teacher(teaName,teaNo,teaPosition,age); Teadao.register(teacher); System.out.println("信息登记成功"); } private void updatepd(HttpServletRequest req, HttpServletResponse resp) { } }
后台的数据库工具类
package com.web_09.JDBC; import com.web_09.bean.User; import java.lang.reflect.Field; import java.sql.*; import java.util.ArrayList; public class JDBC { //获取数据库连接 public static Connection getConnection(){ Connection conn = null; PreparedStatement pre = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); System.out.println("数据路驱动类加载成功"); String url = "jdbc:mysql://localhost:3306/courseselect_database"; String user = "root"; String password = "041765rsh"; conn = DriverManager.getConnection(url,user,password); System.out.println("连接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } //关闭数据库连接1 public static void close1(Connection conn, Statement state){ try { if(state != null) state.close(); if(conn != null) conn.close(); System.out.println("连接已关闭"); } catch (SQLException e) { e.printStackTrace(); } } //关闭数据库连接2 public static void close2(Connection conn,Statement state,ResultSet resultSet){ try { if(state != null) state.close(); if(conn != null) conn.close(); if(resultSet != null) resultSet.close(); } catch (SQLException e) { e.printStackTrace(); } } //增删改数据 public static void cudsql(String sql,Object ...args){ Connection conn = null; PreparedStatement pre = null; try { //获取链接 conn = JDBC.getConnection(); //预编译sql语句 pre = conn.prepareStatement(sql); //填充占位符 for(int i = 0; i< args.length;i++){ pre.setObject(i+1,args[i]); } //执行语句 pre.execute(); } catch (SQLException e) { e.printStackTrace(); } JDBC.close1(conn,pre); } public static ArrayList<User> retrieve(User user){ ArrayList<User>arrayList = new ArrayList<>(); Connection conn = null; PreparedStatement pre = null; ResultSet resultSet = null; String sql = "select * from systemuser where username = ? and userpassword= ?"; try { conn = JDBC.getConnection(); pre = conn.prepareStatement(sql); pre.setString(1,user.getUserName()); pre.setString(2,user.getUserPassword()); System.out.println(123); resultSet = pre.executeQuery(); System.out.println(1); while (resultSet.next()){ String username = resultSet.getString("username"); String password = resultSet.getString("userpassword"); User user1 = new User(username,password); arrayList.add(user1); } System.out.println("查询成功"); } catch (SQLException e) { System.out.println("查询失败"); }finally { JDBC.close2(conn,pre,resultSet); } return arrayList; } }
学生操作studentdao、教师dao、用户dao
package com.web_09.dao; import com.web_09.JDBC.JDBC; import com.web_09.bean.User; import java.sql.Connection; import java.util.ArrayList; public class Rootdao { //注册账号 public static void zhuce(String username,String password) throws Exception { Connection conn = null; conn = JDBC.getConnection(); String sql = "insert into systemuser(username,userpassword)values(?,?)"; JDBC.cudsql(sql,username,password); } //用户登录 public static int login(User user){ ArrayList<User>arrayList = JDBC.retrieve(user); System.out.println(arrayList); if(arrayList.size()==1){ return 1; }else return 0; } }
package com.web_09.dao; import com.web_09.JDBC.JDBC; import com.web_09.bean.Teacher; import java.sql.Connection; public class Teadao { //填写教师用户信息 public static void register(Teacher tea){ Connection conn = null; conn = JDBC.getConnection(); String sql = "insert into teacher(teaname,teano,teaposition,teage)values(?,?,?,?)"; JDBC.cudsql(sql,tea.getTeaName(),tea.getTeaNo(),tea.getTeaPosition(),tea.getTeaAge()); } }
package com.web_09.dao; import com.web_09.JDBC.JDBC; import com.web_09.bean.Student; import java.sql.Connection; public class Studao { //填写学生用户信息 public static void register(Student stu){ Connection conn = null; conn = JDBC.getConnection(); String sql = "insert into student(stuame,stuage,stuno,stuclass,stumajor)values(?,?,?,?,?)"; JDBC.cudsql(sql,stu.getStuName(),stu.getStuAge(),stu.getStuNo(),stu.getStuClass(),stu.getStuMajor()); } //修改密码 public static void updatepd(String username,String password,String newpassword){ Connection conn = null; conn = JDBC.getConnection(); String sql = "update systemuser set userpassword = ? where username = ?,userpassword = ?"; JDBC.cudsql(sql,newpassword,username,password); } //查看所有课程信息 //选课 }
这是今天完成部分工作,明天争取将所有功能实现完毕。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构