Javaweb初试——选课系统
题目:
就是制作一个界面将课程的名称,任课教师,课程教室等信息输入到界面框中,然后存入数据库。(教师信息和教室信息有限定信息)
题目如下:
在后台数据库中建立相应的表结构存储课程信息。
实现新课程添加的功能。 要求判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中一位。
要求上课地点开头为“一教、二教、三教、基教”中的一种。
实现数据存储功能。
要求:
(1)新课程信息必须唯一,如有重复,提示用户“课程名称重复,重新录入”;
(2)要求判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中一位。
(3)要求上课地点开头为“一教、二教、三教、基教”中的一种;
(4)将新课程信息添加入库。
需要准备的软件:编程:eclipse
服务器:Tomcat
数据库:Mysql
连接教程参看菜鸟教程
数据库设计
课程表:课程名称,任课教师,上课地点
代码设计:分四层
bean层:课程类:课程名称,任课教师,上课地点
dao层:需要用到的函数,本题只需要添加和浏览
servlet层:连接dao层和数据库
util层:DBUtil类连接数据库
jsp界面:
添加界面
调取数据库
源代码:
bean层
package bean; public class Lesson { private int id; private String lessonname; private String lessonteacher; private String lessonplace; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getLessonname() { return lessonname; } public void setLessonname(String lessonname) { this.lessonname = lessonname; } public String getLessonteacher() { return lessonteacher; } public void setLessonteacher(String lessonteacher) { this.lessonteacher = lessonteacher; } public String getLessonplace() { return lessonplace; } public void setLessonplace(String lessonplace) { this.lessonplace = lessonplace; } }
dao层:
package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import DBUtil; import HaveClass; public class ClassDaoImpl { public void add(HaveClass claz) { //获得链接对象 Connection connection = DBUtil.getConnection(); //准备sql语句 String sql = "insert into t_class(teachername,classname,place) values(?,?,?)"; PreparedStatement preparedStatement = null; try { //创建语句传输对象 preparedStatement = connection.prepareStatement(sql); preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, claz.getTeachername()); preparedStatement.setString(2, claz.getClassname()); preparedStatement.setString(3, claz.getPlace()); preparedStatement.executeUpdate(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { //关闭资源 DBUtil.close(preparedStatement); DBUtil.close(connection); } } }
servlet层:函数只有两个可以和dao层放一起
util层:
package com.jaovo.msg.Util; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtil { public static Connection getConnection() { try { //1 加载驱动 Class.forName("com.mysql.jdbc.Driver").newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } String user = "root"; String password = "root"; String url = "jdbc:mysql://localhost:8080/test"; Connection connection = null; try { //2 创建链接对象connection connection = DriverManager.getConnection(url,user,password); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return connection; } //关闭资源的方法 public static void close(Connection connection ) { try { if (connection != null) { connection.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(PreparedStatement preparedStatement ) { try { if (preparedStatement != null) { preparedStatement.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void close(ResultSet resultSet ) { try { if (resultSet != null) { resultSet.close(); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!