1、DBUtil包连接数据库

2、Bin包设计成员函数及方法

3、Dao包设计sql语句

4、servlet包增删改查方法

5、service连接servlet

6、设计jsp增删改查页面

7、连接各个页面

package 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 util.Util; import bin.Course; /**
* 课程Dao
* Dao层操作数据
* @author YP
*/
public class CourseDao {
/**
* 添加
* @param course
* @return
*/
public boolean add(Course course) {
String sql = "insert into course(name, teach, local) values('" + course.getName() + "','" + course.getTeach() + "','" + course.getLocal() + "')";
//创建数据库链接
Connection conn = Util.getConn();
Statement state = null;
boolean f = false;
int a = 0;
try {
state = conn.createStatement();
state.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
//关闭连接
Util.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 = Util.getConn();
Statement state = null;
int a = 0;
try {
state = conn.createStatement();
a = state.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
Util.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() + "', teach='" + course.getTeach() + "', local='" + course.getLocal()
+ "' where id='" + course.getId() + "'";
Connection conn = Util.getConn();
Statement state = null;
boolean f = false;
int a = 0;
try {
state = conn.createStatement();
a = state.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
Util.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 = Util.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();
} finally {
Util.close(rs, state, conn);
}
return flag;
}
/**
* 通过ID得到课程信息
* @param id
* @return
*/
public Course getCourseById(int id) {
String sql = "select * from course where id ='" + id + "'";
Connection conn = Util.getConn();
Statement state = null;
ResultSet rs = null;
Course course = null;
try {
state = conn.createStatement();
rs = state.executeQuery(sql);
while (rs.next()) {
String name = rs.getString("name");
String teach = rs.getString("teach");
String local = rs.getString("local");
course = new Course(id, name, teach, local);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Util.close(rs, state, conn);
}
return course;
}
/**
* 通过name得到Course
* @param name
* @return
*/
public Course getCourseByName(String name) {
String sql = "select * from course where name ='" + name + "'";
Connection conn = Util.getConn();
Statement state = null;
ResultSet rs = null;
Course course = null;
try {
state = conn.createStatement();
rs = state.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String teach = rs.getString("teach");
String local = rs.getString("local");
course = new Course(id, name, teach, local);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
Util.close(rs, state, conn);
}
return course;
}
/**
* 查找
* @param name
* @param teach
* @param local
* @return
*/
public List<Course> find(String name, String teach, String local) {
String sql = "select * from course where ";
if (name != "") {
sql += "name like '%" + name + "%'";
}
if (teach != "") {
sql += "teach like '%" + teach + "%'";
}
if (local != "") {
sql += "local like '%" + local + "%'";
}
List<Course> list = new ArrayList<>();
Connection conn = Util.getConn();
Statement state = null;
ResultSet rs = null;
try {
state = conn.createStatement();
rs = state.executeQuery(sql);
Course bean = null;
while (rs.next()) {
int id = rs.getInt("id");
String name2 = rs.getString("name");
String teach2 = rs.getString("teach");
String local2 = rs.getString("local");
bean = new Course(id, name2, teach2, local2);
list.add(bean);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
Util.close(rs, state, conn);
}
return list;
}
/**
* 全部数据
* @param name
* @param teach
* @param local
* @return
*/
public List<Course> list() {
String sql = "select * from course";
List<Course> list = new ArrayList<>();
Connection conn = Util.getConn();
Statement state = null;
ResultSet rs = null;
try {
state = conn.createStatement();
rs = state.executeQuery(sql);
Course bean = null;
while (rs.next()) {
int id = rs.getInt("id");
String name2 = rs.getString("name");
String teach2 = rs.getString("teach");
String local2 = rs.getString("local");
bean = new Course(id, name2, teach2, local2);
list.add(bean);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
Util.close(rs, state, conn);
}
return list;
}
}
package serverlet;

import java.io.IOException;
import java.util.List; 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 bin.Course;
import service.Service; @WebServlet("/CourseServlet")
public class CourseServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
Service service = new Service();
/**
* 方法选择
*/
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
String method = req.getParameter("method");
if ("add".equals(method)) {
add(req, resp);
} else if ("delete".equals(method)) {
delete(req, resp);
} else if ("update".equals(method)) {
update(req, resp);
} else if ("find".equals(method)) {
find(req, resp);
} else if ("getcoursebyid".equals(method)) {
getCourseById(req, resp);
} else if ("getcoursebyname".equals(method)) {
getCourseByName(req, resp);
} else if ("list".equals(method)) {
list(req, resp);
}
}
/**
* 添加*/
private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
req.setCharacterEncoding("utf-8");
//获取数据
String name = req.getParameter("name");
String teach = req.getParameter("teach");
String local = req.getParameter("local");
Course course = new Course(name, teach, local);
//添加后消息显示
if(service.add(course)) {
req.setAttribute("message", "添加成功");
req.getRequestDispatcher("add.jsp").forward(req,resp);
} else {
req.setAttribute("message", "课程名称重复,请重新录入");
req.getRequestDispatcher("add.jsp").forward(req,resp);
}
}
/**
* 全部*/
private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
req.setCharacterEncoding("utf-8");
List<Course> courses = service.list();
req.setAttribute("courses", courses);
req.getRequestDispatcher("list.jsp").forward(req,resp);
}
/**
* 通过ID得到Course
* @param req
* @param resp
* @throws ServletException
*/
private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
req.setCharacterEncoding("utf-8");
int id = Integer.parseInt(req.getParameter("id"));
Course course = service.getCourseById(id);
req.setAttribute("course", course);
req.getRequestDispatcher("update.jsp").forward(req,resp);
}
/**
* 通过名字查找
* 跳转至删除*/
private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
Course course = service.getCourseByName(name);
if(course == null) {
req.setAttribute("message", "查无此课程!");
req.getRequestDispatcher("delete.jsp").forward(req,resp);
} else {
req.setAttribute("course", course);
req.getRequestDispatcher("deletelist.jsp").forward(req,resp);
}
}
/**
* 删除*/
private void delete(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
req.setCharacterEncoding("utf-8");
int id = Integer.parseInt(req.getParameter("id"));
service.delete(id);
req.setAttribute("message", "删除成功!");
req.getRequestDispatcher("delete.jsp").forward(req,resp);
}
/**
* 修改*/
private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
req.setCharacterEncoding("utf-8");
int id = Integer.parseInt(req.getParameter("id"));
String name = req.getParameter("name");
String teach = req.getParameter("teach");
String local = req.getParameter("local");
Course course = new Course(id, name, teach, local);
service.update(course);
req.setAttribute("message", "修改成功");
req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
}
/**
* 查找
* @param req
* @param resp
* @throws ServletException
*/
private void find(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
req.setCharacterEncoding("utf-8");
String name = req.getParameter("name");
String teach = req.getParameter("teach");
String local = req.getParameter("local");
List<Course> courses = service.find(name, teach, local);
req.setAttribute("courses", courses);
req.getRequestDispatcher("findlist.jsp").forward(req,resp);
}
}
package service;

import java.util.List;

import dao.CourseDao;
import bin.Course; /**
* CourseService
* 服务层
* @author YP
*
*/
public class Service {
CourseDao cDao = new CourseDao();
/**
* 添加
*/
public boolean add(Course course) {
boolean f = false;
if(!cDao.name(course.getName())) {
cDao.add(course);
f = true;
}
return f;
}
/**
* 删除
*/
public void delete(int id) {
cDao.delete(id);
}
/**
* 修改
*/
public void update(Course course) {
cDao.update(course);
}
/**
* 通过ID得到一个Course
* @return
*/
public Course getCourseById(int id) {
return cDao.getCourseById(id);
}
/**
* 通过Name得到Course
*/
public Course getCourseByName(String name) {
return cDao.getCourseByName(name);
}
/**
* 查找
*/
public List<Course> find(String name, String teacher, String classroom) {
return cDao.find(name, teacher, classroom);
}
/**
* 全部数据
*/
public List<Course> list() {
return cDao.list();
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>新增课程</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: black;">课程信息录入</h1>
<a href="main.jsp">返回主页</a>
<form action="CourseServlet?method=add" method="post" onsubmit="return check()">
<div class="a">
课程名称<input type="text" id="name" name="name"/>
</div>
<div class="a">
任课教师<input type="text" id="teach" name="teach" />
</div>
<div class="a">
上课地点<input type="text" id="local" name="local" />
</div>
<div class="a">
<button type="submit" class="b">保&nbsp;&nbsp;&nbsp;存</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");;
var teach = document.getElementById("teach");
var local = document.getElementById("local");
//非空
if(name.value == '') {
alert('课程名称为空');
name.focus();
return false;
}
if(teach.value == '') {
alert('教师为空');
teach.focus();
return false;
}
if(local.value == '') {
alert('上课地点为空');
local.focus();
return false;
}
//教师
if(teach.value != '王建民' && teach.value != '王辉' && teach.value != '刘丹' && teach.value != '刘立嘉' && teach.value != '杨子光'){
alert('教师名称错误');
return false;
}
//教室
if(!/^基教/.test(local.value) && !/^一教/.test(local.value) && !/^二教/.test(local.value) && !/^三教/.test(local.value)) {
alert('上课地点错误');
return false;
}
}
</script>
</body>
</html>
<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html >
<html>
<head>
<meta charset="UTF-8">
<title>删除查询</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){ %>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: black;">课程信息删除</h1>
<a href="main.jsp">返回主页</a>
<form action="CourseServlet?method=getcoursebyname" method="post" onsubmit="return check()">
<div class="a">
课程名称<input type="text" id="name" name="name"/>
</div>
<div class="a">
<button type="submit" class="b">查&nbsp;&nbsp;&nbsp;找</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");;
//非空
if(name.value == '') {
alert('课程名称为空');
name.focus();
return false;
}
}
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>删除界面</title>
</head>
<body>
<div align="center">
<h1 style="color: black;">课程信息删除</h1>
<a href="main.jsp">返回主页</a>
<table class="tb">
<tr>
<td>课程名称</td>
<td>${course.name}</td>
</tr>
<tr>
<td>任课教师</td>
<td>${course.teach}</td>
</tr>
<tr>
<td>上课地点</td>
<td>${course.local}</td>
</tr>
</table>
<div class="a">
<a onclick="return check()" href="CourseServlet?method=delete&id=${course.id}">删&nbsp;&nbsp;&nbsp;除</a>
</div>
</div>
<script type="text/javascript">
function check() {
if (confirm("真的要删除吗?")){
return true;
}else{
return false;
}
}
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>显示</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: black;">课程信息列表</h1>
<a href="main.jsp">返回主页</a>
<table class="tb">
<tr>
<td>id</td>
<td>课程名称</td>
<td>任课教师</td>
<td>上课地点</td>
<td>操作</td>
</tr>
<c:forEach items="${courses}" var="item" varStatus="status">
<tr>
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.teach}</td>
<td>${item.local}</td>
<td><a href="CourseServlet?method=getcoursebyid&id=${item.id}">修改</a></td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改课程信息页面</title>
</head>
<body>
<%
Object message = request.getAttribute("message");
if(message!=null && !"".equals(message)){
%>
<script type="text/javascript">
alert("<%=request.getAttribute("message")%>");
</script>
<%} %>
<div align="center">
<h1 style="color: black;">课程信息修改</h1>
<a href="main.jsp">返回主页</a>
<form action="CourseServlet?method=update" method="post" onsubmit="return check()">
<div class="a">
课程名称<input type="text" id="name" name="name" value="${course.name}"/>
</div>
<div class="a">
任课教师<input type="text" id="teach" name="teach" value="${course.teach}"/>
</div>
<div class="a">
上课地点<input type="text" id="local" name="local" value="${course.local}"/>
</div>
<input type="hidden" id="id" name="id" value="${course.id}"/>
<div class="a">
<button type="submit" class="b">修&nbsp;&nbsp;&nbsp;改</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");;
var teach = document.getElementById("teach");
var local = document.getElementById("local");
//非空
if(name.value == '') {
alert('课程名称为空');
name.focus();
return false;
}
if(teach.value == '') {
alert('教师为空');
teach.focus();
return false;
}
if(local.value == '') {
alert('上课地点为空');
local.focus();
return false;
}
//教师
if(teach.value != '王建民' && teach.value != '王辉' && teach.value != '刘丹' && teach.value != '刘立嘉' && teach.value != '杨子光'){
alert('教师名称错误');
return false;
}
//教室
if(!/^基教/.test(local.value) && !/^一教/.test(local.value) && !/^二教/.test(local.value) && !/^三教/.test(local.value)) {
alert('上课地点错误');
return false;
}
}
</script>
</body>
</html>
<%@page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html >
<html>
<head>
<meta charset="UTF-8">
<title>查找界面</title>
</head>
<body>
<div align="center">
<h1 style="color: black;">课程信息查询</h1>
<a href="main.jsp">返回主页</a>
<form action="CourseServlet?method=search" method="post" onsubmit="return check()">
<div class="a">
课程名称<input type="text" id="name" name="name"/>
</div>
<div class="a">
任课教师<input type="text" id="teach" name="teach" />
</div>
<div class="a">
上课地点<input type="text" id="local" name="local" />
</div>
<div class="a">
<button type="submit" class="b">查&nbsp;&nbsp;&nbsp;询</button>
</div>
</form>
</div>
<script type="text/javascript">
function check() {
var name = document.getElementById("name");
var teach = document.getElementById("teach");
var local = document.getElementById("local");
//非空
if(name.value == '' && teach.value == '' && local.value == '') {
alert('请填写一个条件');
return false;
}
}
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询结果</title>
</head>
<body>
<div align="center">
<h1 style="color: black;">课程信息列表</h1>
<a href="main.jsp">返回主页</a>
<table class="tb">
<tr>
<td>id</td>
<td>课程名称</td>
<td>任课教师</td>
<td>上课地点</td>
</tr>
<!-- forEach遍历出adminBeans -->
<c:forEach items="${courses}" var="item" varStatus="status">
<tr>
<td>${item.id}</td>
<td>${item.name}</td>
<td>${item.teach}</td>
<td>${item.local}</td>
</tr>
</c:forEach>
</table>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html >
<html>
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1 style="font-family:宋体;font-size:1.5em; width:550px" align="right">课程信息管理系统</h1>
<div align="center">
<div class="a">
<a href="add.jsp">课程信息添加</a>
</div>
<div class="a">
<a href="CourseServlet?method=list">课程信息修改</a>
</div>
<div class="a">
<a href="delete.jsp">课程信息删除</a>
</div>
<div class="a">
<a href="find.jsp">课程信息查询</a>
</div>
</div>
</body>
</html>

javaweb课程信息管理系统的更多相关文章

  1. Java之从头开始编写简单课程信息管理系统

    编写简单的课程管理系统对于新手并不友好,想要出色的完成并不容易以下是我的一些经验和方法 详情可参考以下链接: https://www.cnblogs.com/dream0-0/p/10090828.h ...

  2. 从零开始,编写简单的课程信息管理系统(使用jsp+servlet+javabean架构)

    一.相关的软件下载和环境配置 1.下载并配置JDK. 2.下载eclipse. 3.下载并配置apache-tomcat(服务器). 4.下载MySQL(数据库). 5.下载Navicat for M ...

  3. 石家庄铁道大学课程信息管理系统(javaWeb+servlet+Mysql)

    实现网页版的课程管理系统,具有增删改查的功能. 1.首先连接数据库,具体数据库的使用及如何连接eclipse,参考     https://blog.csdn.net/lrici/article/de ...

  4. 课程信息管理系统(javabean + Servlet + jsp)

    此项目做的事一个课程管理系统,需要通过web做一个可以实现课程的增删改查的功能. 需要用到数据库,Servlet和jsp等(第一次使用Servlet和数据库连接,所以代码都比较低级,页面也比较粗糙,还 ...

  5. 记C++课程设计--学生信息管理系统

                                                                                  C++课程设计--学生信息管理系统     ...

  6. 详细介绍idea实现javaweb项目登入注册(华东交通大学教务处信息管理系统)、模糊查询

    详细介绍idea实现javaweb项目登入注册(华东交通大学教务处信息管理系统).模糊查询 1,创建数据库,我的用户名:root 密码:root,数据库名称:lianwei,表名:login 2,效果 ...

  7. Java课程设计---学生信息管理系统需求分析及总体设计

    按照软件工程实践的原则,开发大型程序需要经历需求分析.总体设计.详细设计.编码实现.系统测试.系统维护等几个阶段. 1.需求分析 本阶段是整个软件开发过程中最重要的环节.通过了解实际运行的系统或与用户 ...

  8. javaweb中上传图片并显示图片,用我要上传课程信息(里面包括照片)这个例子说明

    原理:  从客户端上传到服务器                照片——文件夹——数据库 例如:桌面一张照片,在tomacat里创建upload文件夹,把桌面照片上传到upload文件夹里,并且把照片的 ...

  9. java开发学生信息管理系统的实现(简洁易懂),适合计算机专业学生参考,课程设计、毕业论文设计参考等

    编写一个简单的学生管理信息系统. 在oracle中设计一张学生表,以学号作为关键字. 其他学生信息有:姓名.手机号. 在进入系统时,显示如下菜单: ************************** ...

随机推荐

  1. xlrd与xlwt的下载

    读excel表格: xlrd 地址:https://pypi.org/project/xlrd/ 下载语句:pip install xlrd 写excel表格: xlwt https://pypi.o ...

  2. Spring Cloud 入门指南

    Spring Cloud 方志朋-史上最简单的 Spring Cloud 教程

  3. 【做题】agc008f - Black Radius——计数&讨论&思维

    原文链接 https://www.cnblogs.com/cly-none/p/9794411.html \[ \newcommand{\stif}[2]{\left[ \begin{matrix} ...

  4. LOJ6284 数列分块入门8(分块)

    两个锅 一个是sametag[i]==c 另一个是a[j]不要写成a[i] #include <cstdio> #include <cstring> #include < ...

  5. 洛谷P1679神奇的四次方数--DP

    原题请戳>>https://www.luogu.org/problem/show?pid=1679<< 题目描述 在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知 ...

  6. JS计算前一天或后一天,前一月后一月

    JS计算前一天或后一天,前一月后一月,上一天下一下,上一月下一月. 方法一: function ktkGetNextMonth(currentDate, scaleStep) { //scaleSte ...

  7. web前端关于html转义符的常用js函数

    web前端关于html转义符的常用js函数 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+? ...

  8. SAP按销售订单生产和标准结算配置及操作手册

    SAP按销售订单生产和标准结算配置及操作手册 http://blog.sina.com.cn/s/blog_6787c0b80101a3tl.html SAP按销售订单生产和标准结算配置及操作手册 S ...

  9. 【Django】【问题集锦】

    参考:http://www.linuxidc.com/Linux/2013-03/80649.htm 1. Django的shell模式下,如果报warning,则再执行一次,也许就好了 2. Dja ...

  10. 【BZOJ】2331: [SCOI2011]地板

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2331 一眼插头DP... 考虑一个L形的东西,要构成它可以划分为两个阶段,即当前线段是拐了 ...