用eclipse,Tomcat和MySQL数据库实现如下的教师管理系统,实现的功能有:通过和数据库的交互,主页面实现教师的登录注册,登录进去后的教师管理页面可以增加学生,可以显示学生列表,也可以直接在列表中删除学生的全部信息。

教师登录注册界面的效果图如下:


学生管理界面的效果图如下:



下面,先完成教师的登录注册页面,其中,我们可以在项目编写四个类包,每个类包负责不同的任务。pojo类包实现对数据的get()和set()初始化,utils类包和数据库进行连接,dao类包对数据库进行增删改查,service类包用于构建业务,controller类包的代码则是实现数据的封装和请求的跳转。

需要编写的关键代码如下:

DbUtils.java
public static Connection getConnection() {String driver="org.gjt.mm.mysql.Driver";String url="jdbc:mysql://localhost:3306/teacher";String user="root";String password="123456";try {Class.forName(driver);return DriverManager.getConnection(url,user,password);}catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}   

其中,在写完和数据库进行连接的Java代码后,还可以写一个main函数测试是否成功连接到了数据库:

public static void main(String[] args) {System.out.println(DbUtils.getConnection());}
Teacher.java
    private Integer teacherId; //INT(11) NOT NULL,private String teacherName; //VARCHAR(50) NULL DEFAULT NULL,private String teacherAccount; //VARCHAR(50) NULL DEFAULT NULL,private String teacherSex; //VARCHAR(50) NULL DEFAULT NULL,private String teacherPwd; //VARCHAR(50) NULL DEFAULT NULL,public Integer getTeacherId() {return teacherId;}public void setTeacherId(Integer teacherId) {this.teacherId = teacherId;}public String getTeacherName() {return teacherName;}public void setTeacherName(String teacherName) {this.teacherName = teacherName;}public String getTeacherAccount() {return teacherAccount;}public void setTeacherAccount(String teacherAccount) {this.teacherAccount = teacherAccount;}public String getTeacherSex() {return teacherSex;}public void setTeacherSex(String teacherSex) {this.teacherSex = teacherSex;}public String getTeacherPwd() {return teacherPwd;}public void setTeacherPwd(String teacherPwd) {this.teacherPwd = teacherPwd;}

对数据进行初始化的get()和set()方法可以通过快捷键获取,而不用自己一个一个去手写,方法如下:在eclipse的空白处右击鼠标,然后选择Source——Generate Getters and Setters,选中全部之后确定即可完成对数据的初始化。

TeacherDAO.java
   //注册public int insert(Teacher teacher) throws SQLException{String sql="INSERT INTO tb_teacher (teacher_name, teacher_account, teacher_sex, teacher_pwd) VALUES (?, ?, ?, ?)";Connection connection=DbUtils.getConnection();PreparedStatement preparedStatement=connection.prepareStatement(sql);preparedStatement.setString(1, teacher.getTeacherName());preparedStatement.setString(2, teacher.getTeacherAccount());preparedStatement.setString(3, teacher.getTeacherSex());preparedStatement.setString(4, teacher.getTeacherPwd());int count=preparedStatement.executeUpdate();preparedStatement.close();connection.close();return count;}//登录public Teacher findByAccount(String teacherAccount) throws SQLException{String sql="SELECT * FROM tb_teacher where teacher_account=?";Connection connection=DbUtils.getConnection();PreparedStatement preparedStatement=connection.prepareStatement(sql);preparedStatement.setString(1, teacherAccount);ResultSet resultSet=preparedStatement.executeQuery();Teacher teacher=null;if(resultSet.next()) {teacher=new Teacher();teacher.setTeacherId(resultSet.getInt("teacher_id"));teacher.setTeacherName(resultSet.getString("teacher_name"));teacher.setTeacherAccount(resultSet.getString("teacher_account"));teacher.setTeacherSex(resultSet.getString("teacher_sex"));teacher.setTeacherPwd(resultSet.getString("teacher_pwd"));}resultSet.close();preparedStatement.close();connection.close();return teacher;}
TeacherService.java
 //注册public boolean addTeacher(Teacher teacher) throws SQLException{TeacherDAO teacherDAO=new TeacherDAO();int count=teacherDAO.insert(teacher);if(count>0) {return true;}else {return false;}}//登录public Teacher loginTeacher(Teacher teacher)throws SQLException{TeacherDAO teacherDAO=new TeacherDAO();Teacher resultTeacher=teacherDAO.findByAccount(teacher.getTeacherAccount());if(resultTeacher!=null) {if(resultTeacher.getTeacherPwd().equals(teacher.getTeacherPwd())) {return resultTeacher;}}return null;}
TeacherAddController.java
    @Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");//接收参数String teacherName=req.getParameter("teacherName");String teacherAccount=req.getParameter("teacherAccount");String teacherSex=req.getParameter("teacherSex");String teacherPwd=req.getParameter("teacherPwd");//封装数据Teacher teacher=new Teacher();teacher.setTeacherName(teacherName);teacher.setTeacherAccount(teacherAccount);teacher.setTeacherSex(teacherSex);teacher.setTeacherPwd(teacherPwd);TeacherService teacherService=new TeacherService();try {boolean flag=teacherService.addTeacher(teacher);if(flag) {req.setAttribute("teacher_add_msg", "注册成功");}else {req.setAttribute("teacher_add_msg", "注册失败");}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}req.getRequestDispatcher("/addTeacher.jsp").forward(req, resp);   }
TeacherLoginController.java
 @Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {req.setCharacterEncoding("UTF-8");resp.setCharacterEncoding("UTF-8");System.out.println("成员登录");//接收参数TeacherService teacherService=new TeacherService();String teacherAccount=req.getParameter("teacherAccount");String teacherPwd=req.getParameter("teacherPwd");//封装数据Teacher teacher=new Teacher();teacher.setTeacherAccount(teacherAccount);teacher.setTeacherPwd(teacherPwd);System.out.println("账号名:"+teacher.getTeacherAccount());try {Teacher resultTeacher=teacherService.loginTeacher(teacher);if(resultTeacher!=null) {HttpSession session=req.getSession();session.setAttribute("teacher", resultTeacher);resp.sendRedirect(req.getContextPath()+"/inTeacher.jsp");return ;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}req.setAttribute("teacher_add_msg", "登录失败");req.getRequestDispatcher("/loginTeacher.jsp").forward(req, resp);}
addTeacher.jsp
 <div style="text-align: center"><%if(request.getAttribute("teacher_add_msg")!=null) {out.print(request.getAttribute("teacher_add_msg"));}%><br/><div>==教师注册==</div><br/><div><form action="<%=request.getContextPath()%>/teacher.do" method="post">教师姓名:<input name="teacherName" type="text"><br /> <br/>教师账号:<input name="teacherAccount" type="text"><br /> <br/>教师性别:<input name="teacherSex" type="text"><br/><br/>教师密码:<input name="teacherPwd" type="password"><br /><br/><input value="注册" type="submit"></form><form action="select.jsp" style="float:right"><input value="返回主页" type="submit"></form></div></div>
loginTeacher.jsp
<div style="text-align: center"><div>==教师登录==</div><br/><div><form action="<%=request.getContextPath()%>/teacherLogin.do" method="post">账号:<input name="teacherAccount" type="text"><br /> <br/>       密码:<input name="teacherPwd" type="password"><br /><br/><input value="登录" type="submit"><br /></form></div></div>
主页面的教师登录注册功能可参考上述代码实现,登录后的增加学生,显示学生列表功能的关键代码会在实现一个简易的教师管理系统(二)列出。

实现一个简易的教师管理系统(一)相关推荐

  1. 学习记录:python实现一个简易的校园管理系统7.19

    实现一个简易的校园管理系统,使用容器保存学生数据和老师数据. 学员信息有: 姓名, 年龄, 性别,班级,学号 讲师信息有:姓名, 年龄, 性别, 课程, 工号 (可以使用列表嵌套字典的方式保存学生和讲 ...

  2. 如何用Python做一个简易学生信息管理系统

    一.系统简介 实现一个学生信息的管理系统:主要功能有: 添加学生信息 删除学生信息 修改学生信息 查询学生信息 显示学生信息 退出当前系统 二.步骤分析 显示功能界面 用户输入功能序号 对不同序号的功 ...

  3. ySQL挑战搭建一个简易的成绩管理系统的数据库

    文章为自己搜索网上资源,再在这里进行整理,所以标注为转载 [实验步骤](https://www.shiyanlou.com/courses/reports/1347700) 总结做实验注意事项: 1. ...

  4. 使用 PyQT5 来做一个简易版库存管理系统(三)

    上篇已经做好了查询出入库单的功能,那么查询的数据要从哪里来呢?这一篇就来做一下出/入库单录入. 一.录入界面规划 还是使用查询功能中使用过的控件QTableWidget,然后底下放置三个按钮,新增.删 ...

  5. 一个简易的会员管理系统(C语言)

    由于大一最后的课设,就写了会员管理系统,有需要的小伙伴可以看一下. 系统功能如下: 1.登录窗口 2.管理员登录 3.会员登录 4.其他就是增删改查了 源代码: #include <stdio. ...

  6. jsp简易的图书管理系统

    jsp简易的图书管理系统 用web链接数据库做一个简易的图书管理系统 1.以下是效果演示图 2.下面是jsp页面代码 下面是DBUtil类用于链接数据库 下面是接口与实现类 3.下面是查询的servl ...

  7. 库存商品表html源码,JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统...

    [实例简介] JSP+Servlet+数据库的方式完成一个简易的库存商品管理系统 [实例截图] [核心代码] f48fd612-281d-454e-97d3-20c8f775879f └── Prod ...

  8. java写的学生信息查询系统_用JAVA写一个简易的学生信息管理系统

    前言:写这篇文章的目的: 为了以后复习方便,当你回头看自己的代码的时候不至于想不起你写下这段代码的思路: 慢慢锻炼自己总结的能力,养成习惯以后去写自己的技术博客,古人云,温故而知新 作为一个技术拓荒者 ...

  9. 用python写管理系统局域网_详解用python -m http.server搭一个简易的本地局域网

    工作时同事间几mb小文件的传输,一般使用QQ或者微信就足够了,但当传输文件几百MB或者几十G时,这种方法的效率就显得不足了.本篇就是简单说明一个python小功能,让大家能利用python方便的搭建一 ...

  10. python车辆管理系统_Python简易版停车管理系统

    本文实例为大家分享了Python简易版停车管理系统的具体代码,供大家参考,具体内容如下 import time # 最大停车数 max_car = 100 # 当前停车数,初始为0 cur_car = ...

最新文章

  1. 【Linux 内核】进程管理 ( 进程状态 | 进程创建 | 进程终止 | 调用 exit 系统调用函数主动退出 | main 函数返回自动退出 | kill 杀死进程 | 执行异常退出 )
  2. OpenCV XML和YAML文件的文件输入和输出
  3. python Exception(异常处理)
  4. java中集合(List)的嵌套分配值、移除等操作
  5. web.config中的InProc模式 与 StateServer模式[转]
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的线上超市管理系统
  7. java 从控制台输入/读取 四种方法 实现+原理
  8. STM32CubeMX使用(二)之串口通信
  9. 浅谈Js对象的概念、创建、调用、删除、修改!
  10. java并发编程实战读书笔记3
  11. 直线旋转动画html5,多视角3D可旋转的HTML5 Logo动画
  12. 偏微分方程的引入及概述
  13. SQL Server数据类型一览表
  14. 生活中哪些地方运用计算机网络,计算机网络技术在生活中应用.doc
  15. 5分钟latex 使用入门写llncs论文
  16. 山东省软件设计大赛参赛经验
  17. 14个创意lut电影大片级别调色预设
  18. 机器学习入门之异常检测
  19. 正则设置首字母大、小写
  20. 2018千元内的UGP VR一体机开箱评测:ugp vr一体机怎么样真的好吗?

热门文章

  1. 2015-5-23PDF的下载链接
  2. 2015-5-5分享的pdf
  3. 【转】密码破解全能工具:Hashcat密码破解攻略
  4. hp linux还原系统还原,酷越一键备份还原 惠普电脑系统还原
  5. 一篇吃透前置加加和后置加加(附练习题)
  6. 应用ITIL提升企业IT服务管理
  7. 为什么图灵奖获得者戴克斯特拉痛恨 BASIC 语言
  8. 向网页中插入透明Flash的方法和技巧
  9. Excel表格的35招必学秘技[配图]
  10. 网页右下角弹出的图片无法显示