JSP + Servlet + JDBC + Mysql 实现增删改查 课程管理系统

1.项目目录结构

2.项目环境

Eclipse IDE  MYSQL  jdk tomcat

jar包

3.数据库相关配置

先创建一个course的数据库名,然后在建立一个course的表

要注意将id字段 自动递增

 4.源代码

    1.Course.java

package com.hjf.entity;

public class Course {

	private int id;
	private String name;
	private String teacher;
	private String classroom;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getTeacher() {
		return teacher;
	}
	public void setTeacher(String teacher) {
		this.teacher = teacher;
	}
	public String getClassroom() {
		return classroom;
	}
	public void setClassroom(String classroom) {
		this.classroom = classroom;
	}
	
	
	
	public Course(int id, String name, String teacher, String classroom) {
		this.id = id;
		this.name = name;
		this.teacher = teacher;
		this.classroom = classroom;
	}
	
	public Course(String name, String teacher, String classroom) {
		this.name = name;
		this.teacher = teacher;
		this.classroom = classroom;
	}
}

  2.DBUtil.java

package com.hjf.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * 数据库连接工具
 * @author zlj
 *
 */
public class DBUtil {
	
	public static String db_url = "jdbc:mysql://localhost:3306/course?useSSL=false";
	public static String db_user = "root";
	public static String db_pass = "199126";
	
	public static Connection getConn () {
		Connection conn = null;
		
		try {
			Class.forName("com.mysql.jdbc.Driver");//加载驱动
			conn = DriverManager.getConnection(db_url, db_user, db_pass);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return conn;
	}
	
	/**
	 * 关闭连接
	 * @param state
	 * @param conn
	 */
	public static void close (Statement state, Connection conn) {
		if (state != null) {
			try {
				state.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
	
	public static void close (ResultSet rs, Statement state, Connection conn) {
		if (rs != null) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
		if (state != null) {
			try {
				state.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
		
		if (conn != null) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}

}

  3.CourseDao.java

package com.hjf.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import com.hjf.entity.Course;
import com.hjf.util.DBUtil;

/**
 * 课程Dao
 * Dao层操作数据
 * @author zhang
 *
 */
public class CourseDao {

	/**
	 * 添加
	 * @param course
	 * @return
	 */
	public boolean add(Course course) {
		String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
		Connection conn = DBUtil.getConn();
		Statement state = null;
		boolean f = false;
		int a = 0;
		
		try {
			state = conn.createStatement();
			state.executeUpdate(sql);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			DBUtil.close(state, conn);
		}
		
		if (a > 0) {
			f = true;
		}
		return f;
	}

	/**
	 * 删除
	 * 
	 * @param id
	 * @return
	 */
	public boolean delete (int id) {
		boolean f = false;
		String sql = "delete from course where id='" + id + "'";
		Connection conn = DBUtil.getConn();
		Statement state = null;
		int a = 0;
		
		try {
			state = conn.createStatement();
			a = state.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			DBUtil.close(state, conn);
		}
		
		if (a > 0) {
			f = true;
		}
		return f;
	}

	/**
	 * 修改
	 * @param name
	 * @param pass
	 */
	public boolean update(Course course) {
		String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom()
			+ "' where id='" + course.getId() + "'";
		Connection conn = DBUtil.getConn();
		Statement state = null;
		boolean f = false;
		int a = 0;

		try {
			state = conn.createStatement();
			a = state.executeUpdate(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			DBUtil.close(state, conn);
		}
		
		if (a > 0) {
			f = true;
		}
		return f;
	}
	
	/**
	 * 验证课程名称是否唯一
	 * true --- 不唯一
	 * @param name
	 * @return
	 */
	public boolean name(String name) {
		boolean flag = false;
		String sql = "select name from course where name = '" + name + "'";
		Connection conn = DBUtil.getConn();
		Statement state = null;
		ResultSet rs = null;
		
		try {
			state = conn.createStatement();
			rs = state.executeQuery(sql);
			while (rs.next()) {
				flag = true;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} finall
  • 6
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 课程管理系统是一款软件系统,用于管理和维护学校的课程信息。为了实现增删改查功能,需要使用多种技术和工具。其中,JSPServlet是JavaWeb中的核心技术,用于实现网页的动态生成和交互。JDBC则是Java操作数据库的标准方式,用于连接和操作MySQL数据库。 为了实现增删改查的功能,首先需要建立数据库,包括建立课程信息表、学生信息表等相关表格。然后,需要编写JSP页面,实现用户与系统交互的界面,如添加、删除、更新和查询课程信息的页面。接着,使用Servlet处理用户的请求,对数据库进行操作,根据用户的需求来增删改查数据,将结果返回到JSP界面上。 具体操作步骤是,首先编写一个servlet程序,通过JDBC连接数据库,并实现Servlet中的doGet方法,处理GET请求,用于查询课程信息,将数据传回JSP界面上。同时,还需实现doPost方法,处理POST请求,用于添加、删除和更新课程信息,先获取用户提交的数据,然后使用SQL语句实现对数据表的增删改查操作。最后,将结果返回给用户。这样,就能够实现一个简单课程管理系统。 总之,对于课程管理系统实现,需要掌握Java Web相关技术和MySQL数据库的基础知识,编写JSP页面、Servlet程序,实现增删改查操作。相信通过不断的学习和实践,可以实现更加高效和优秀的课程管理系统。 ### 回答2: JSP (JavaServer Pages) 是一种动态网页开发技术,是 Java Servlet 技术的扩展,可以使用 Java 代码嵌入 HTML 页面中,可以以类似于PHP的方式动态生成网页。课程管理系统可以采用 JSP 技术来实现页面的动态生成和数据的呈现,比如可以使用 JSTL 标签库来实现动态表格的生成。 Servlet 是 Java 语言编写的服务器端程序,可以接收和处理客户端发送的请求,生成响应并返回给客户端。课程管理系统可以采用 Servlet 技术来实现与数据库的交互,比如可以使用 Servlet 接收 JSP 页面传来的请求,然后调用 DAO(数据访问对象)层的代码来访问数据库。 JDBC 是 Java 数据库连接技术,可以使用 JDBC 来访问各种数据库,包括 MySQL课程管理系统可以采用 JDBC 技术来访问 MySQL 数据库,比如可以使用 MySQL Connector/J 驱动来建立连接,然后使用 JDBC API 来执行 SQL 查询。 MySQL 是一种关系型数据库管理系统,是开源且免费的。课程管理系统可以采用 MySQL 来存储课程信息和用户信息,比如可以创建两个表格,一个用于存储课程信息,一个用于存储用户信息。对于增删改查操作,可以编写相应的 SQL 语句,然后使用 JDBC API 来执行这些 SQL 语句。 在具体实现过程中,我们可以将每个功能模块封装成 DAO 对象,然后在 Servlet 中实例化这些 DAO 对象,从而实现与数据库的交互。比如,课程管理系统中可以有一个 CourseDAO 类,用于实现课程信息表格的增删改查操作。在 Servlet 中,我们可以通过实例化 CourseDAO 对象,然后调用其相应的方法来实现课程信息的管理。同样的,我们也可以编写一个 UserDAO 类来实现对用户信息表格的增删改查操作。 总之,使用 JSPServletJDBCMySQL 可以很方便地实现一个课程管理系统,使其具有动态页面展示和数据库交互的功能。 ### 回答3: JSPServletJDBCMySQL 是 Java Web 开发中常用的技术框架和数据库。其中 JSPServlet 是 Java Web 开发的核心技术,JDBC 是 Java 访问关系型数据库的标准接口,而 MySQL 是一种流行的开源关系型数据库,可以用来存储和管理数据。通过这些技术选型,可以实现一个功能齐全的课程管理系统,具体实现步骤如下: 一、需求分析 在系统设计阶段,首先需要了解业务需求和功能要求,明确系统的基本框架和模块划分,这个过程需要和业务人员充分沟通和确认。例如,在课程管理系统中,需要实现课程增删改查,学生的选课和退课等功能。 二、技术选型 在确定业务需求和功能要求之后,需要选择合适的技术框架和数据库,以实现系统功能和性能的最佳组合。例如,在课程管理系统中,可以选择使用 JSPServlet 技术框架,JDBC 接口实现数据操作,MySQL 数据库存储和管理数据。 三、系统设计 在决定了技术框架和数据库之后,需要进行详细的系统设计和模块划分。例如,在课程管理系统中,需要设计学生、课程、学生选课等实体数据的表结构和关联关系。与此同时,需要设计页面和控制器等程序代码,实现系统功能和交互逻辑。 四、系统实现 在系统设计完成之后,可以开始实现代码。在实现代码时,需要编写 JSP 页面代码、Servlet 程序代码、JDBC 驱动程序代码和 MySQL 数据库配置代码等。例如,在课程管理系统中,可以实现课程管理页面、学生管理页面、选课页面等,通过 Servlet 程序和 JDBC 接口实现数据的增删改查操作,最后通过 MySQL 数据库存储和管理数据。 五、系统测试 在实现代码之后,需要进行一定程度的测试,包括单元测试、集成测试和验收测试等。例如,在课程管理系统中,需要测试对课程、学生、选课等数据的正确性和有效性,确保系统功能和性能达到预期要求。 六、系统部署 在系统测试通过之后,可以将系统部署到生产环境中。例如,在课程管理系统中,需要将代码部署到 Web 服务器上,并配置好 MySQL 数据库和相关服务,确保系统可以稳定运行和提供业务服务。 综上所述,通过使用 JSPServletJDBCMySQL 等技术框架和数据库,可以实现一个功能齐全的课程管理系统,具体实现过程需要进行需求分析、技术选型、系统设计、系统实现、系统测试和系统部署等多个步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值