java web课程管理系统开发实例(从数据库连接到代码)
以下是几个简单知识:
JavaBean:用于传递数据,拥有与数据相关的逻辑处理
JSP:从Model接收数据并生成HTML
Servlet:接收HTTP请求并控制Model和View
jdbc:用于配置环境
前言:相关的软件下载和环境配置
1、下载并配置JDK。
2、下载eclipse。
3、下载并配置apache-tomcat(服务器)。
4、下载MySQL(数据库)。
5、下载Navicat for MySQL(数据库可视化工具),方便对数据库的操作。
6、下载jdbc用来实现eclipse中的项目与数据库实现连接。
(看网上教程就好)
一、【建立数据库】
库中设有课程,教师,教室三个值
二、【新建web项目】
打开eclipse,点击File—》New—》other—》Dynamic Web Project
点击Next
需要输入项目名,最好用英文填写,完成之后eclipse左侧会有刚刚创建的项目出现下图
在我的电脑中,打开你下载的jdbc(也就是mysql-connector-java-8.0.13)所在的文件夹中的
将mysql-connector-java-8.0.13文件复制
粘贴在eclipse中,你所建立的项目下的 WebContent/WEB-INF/lib 文件夹下,如下图
接下来便是jsp文件和java文件的写入了.
代码如下:
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- </style>
- </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: red;">课程信息录入</h1>
- <a href="index.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="teacher" name="teacher" />
- </div>
- <div class="a">
- 上课地点<input type="text" id="classroom" name="classroom" />
- </div>
- <div class="a">
- <button type="submit" class="b">保 存</button>
- </div>
- </form>
- </div>
- <script type="text/javascript">
- function check() {
- var name = document.getElementById("name");;
- var teacher = document.getElementById("teacher");
- var classroom = document.getElementById("classroom");
- //非空
- if(name.value == '') {
- alert('课程名称为空');
- name.focus();
- return false;
- }
- if(teacher.value == '') {
- alert('教师为空');
- teacher.focus();
- return false;
- }
- if(classroom.value == '') {
- alert('上课地点为空');
- classroom.focus();
- return false;
- }
- //教师
- if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
- alert('教师名称错误');
- return false;
- }
- //教室
- if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) {
- alert('上课地点错误');
- return false;
- }
- }
- </script>
- </body>
- </html>
add.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- </style>
- </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: red;">课程信息删除</h1>
- <a href="index.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">查 找</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>
del.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- .tb, td {
- border: 1px solid black;
- font-size: 22px;
- }
- </style>
- </head>
- <body>
- <div align="center">
- <h1 style="color: red;">课程信息删除</h1>
- <a href="index.jsp">返回主页</a>
- <table class="tb">
- <tr>
- <td>课程名称</td>
- <td>${course.name}</td>
- </tr>
- <tr>
- <td>任课教师</td>
- <td>${course.teacher}</td>
- </tr>
- <tr>
- <td>上课地点</td>
- <td>${course.classroom}</td>
- </tr>
- </table>
- <div class="a">
- <a onclick="return check()" href="CourseServlet?method=del&id=${course.id}">删 除</a>
- </div>
- </div>
- <script type="text/javascript">
- function check() {
- if (confirm("真的要删除吗?")){
- return true;
- }else{
- return false;
- }
- }
- </script>
- </body>
- </html>
detail.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- </style>
- </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: red;">课程信息修改</h1>
- <a href="index.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="teacher" name="teacher" value="${course.teacher}"/>
- </div>
- <div class="a">
- 上课地点<input type="text" id="classroom" name="classroom" value="${course.classroom}"/>
- </div>
- <input type="hidden" id="id" name="id" value="${course.id}"/>
- <div class="a">
- <button type="submit" class="b">修 改</button>
- </div>
- </form>
- </div>
- <script type="text/javascript">
- function check() {
- var name = document.getElementById("name");;
- var teacher = document.getElementById("teacher");
- var classroom = document.getElementById("classroom");
- //非空
- if(name.value == '') {
- alert('课程名称为空');
- name.focus();
- return false;
- }
- if(teacher.value == '') {
- alert('教师为空');
- teacher.focus();
- return false;
- }
- if(classroom.value == '') {
- alert('上课地点为空');
- classroom.focus();
- return false;
- }
- //教师
- if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
- alert('教师名称错误');
- return false;
- }
- //教室
- if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) {
- alert('上课地点错误');
- return false;
- }
- }
- </script>
- </body>
- </html>
detail2.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>首页</title>
- <style>
- .a{
- font-size: 26px;
- margin-top: 20px;
- }
- </style>
- </head>
- <body>
- <div align="center">
- <h1 style="color: red;">课程基本信息管理系统</h1>
- <div class="a">
- <a href="add.jsp">课程信息录入</a>
- </div>
- <div class="a">
- <a href="CourseServlet?method=list">课程信息修改</a>
- </div>
- <div class="a">
- <a href="del.jsp">课程信息删除</a>
- </div>
- <div class="a">
- <a href="search.jsp">课程信息查询</a>
- </div>
- </div>
- </body>
- </html>
index
- <%@ 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>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- .tb, td {
- border: 1px solid black;
- font-size: 22px;
- }
- </style>
- </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: red;">课程信息列表</h1>
- <a href="index.jsp">返回主页</a>
- <table class="tb">
- <tr>
- <td>id</td>
- <td>课程名称</td>
- <td>任课教师</td>
- <td>上课地点</td>
- <td align="center" colspan="2">操作</td>
- </tr>
- <c:forEach items="${courses}" var="item">
- <tr>
- <td>${item.id}</td>
- <td>${item.name}</td>
- <td>${item.teacher}</td>
- <td>${item.classroom}</td>
- <td><a href="CourseServlet?method=getcoursebyid&id=${item.id}">修改</a></td>
- </tr>
- </c:forEach>
- </table>
- </div>
- </body>
- </html>
list.jsp
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- </style>
- </head>
- <body>
- <div align="center">
- <h1 style="color: red;">课程信息查询</h1>
- <a href="index.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="teacher" name="teacher" />
- </div>
- <div class="a">
- 上课地点<input type="text" id="classroom" name="classroom" />
- </div>
- <div class="a">
- <button type="submit" class="b">查 询</button>
- </div>
- </form>
- </div>
- <script type="text/javascript">
- function check() {
- var name = document.getElementById("name");;
- var teacher = document.getElementById("teacher");
- var classroom = document.getElementById("classroom");
- //非空
- if(name.value == '' && teacher.value == '' && classroom.value == '') {
- alert('请填写一个条件');
- return false;
- }
- }
- </script>
- </body>
- </html>
search.jsp
- <%@ 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>Insert title here</title>
- <style>
- .a{
- margin-top: 20px;
- }
- .b{
- font-size: 20px;
- width: 160px;
- color: white;
- background-color: greenyellow;
- }
- .tb, td {
- border: 1px solid black;
- font-size: 22px;
- }
- </style>
- </head>
- <body>
- <div align="center">
- <h1 style="color: red;">课程信息列表</h1>
- <a href="index.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><a>${item.name}</a></td>
- <td>${item.teacher}</td>
- <td>${item.classroom}</td>
- </tr>
- </c:forEach>
- </table>
- </div>
- </body>
- </html>
searchlist.jsp
直接在上图中一起建立包和类
- package com.hjf;
- 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() {}
- 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;
- }
- }
Course.java
- package com.hjf;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.List;
- /**
- * 课程Dao
- * Dao层操作数据
- * @author Hu
- *
- */
- 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();
- } finally {
- DBUtil.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 = DBUtil.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 teacher = rs.getString("teacher");
- String classroom = rs.getString("classroom");
- course = new Course(id, name, teacher, classroom);
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- DBUtil.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 = DBUtil.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 teacher = rs.getString("teacher");
- String classroom = rs.getString("classroom");
- course = new Course(id, name, teacher, classroom);
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- DBUtil.close(rs, state, conn);
- }
- return course;
- }
- /**
- * 查找
- * @param name
- * @param teacher
- * @param classroom
- * @return
- */
- public List<Course> search(String name, String teacher, String classroom) {
- String sql = "select * from course where ";
- if (name != "") {
- sql += "name like '%" + name + "%'";
- }
- if (teacher != "") {
- sql += "teacher like '%" + teacher + "%'";
- }
- if (classroom != "") {
- sql += "classroom like '%" + classroom + "%'";
- }
- List<Course> list = new ArrayList<>();
- Connection conn = DBUtil.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 teacher2 = rs.getString("teacher");
- String classroom2 = rs.getString("classroom");
- bean = new Course(id, name2, teacher2, classroom2);
- list.add(bean);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- DBUtil.close(rs, state, conn);
- }
- return list;
- }
- /**
- * 全部数据
- * @param name
- * @param teacher
- * @param classroom
- * @return
- */
- public List<Course> list() {
- String sql = "select * from course";
- List<Course> list = new ArrayList<>();
- Connection conn = DBUtil.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 teacher2 = rs.getString("teacher");
- String classroom2 = rs.getString("classroom");
- bean = new Course(id, name2, teacher2, classroom2);
- list.add(bean);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- } finally {
- DBUtil.close(rs, state, conn);
- }
- return list;
- }
- }
CourseDao.java
- package com.hjf;
- import java.util.List;
- /**
- * CourseService
- * 服务层
- * @author Hu
- *
- */
- public class CourseService {
- CourseDao cDao = new CourseDao();
- /**
- * 添加
- * @param course
- * @return
- */
- public boolean add(Course course) {
- boolean f = false;
- if(!cDao.name(course.getName())) {
- cDao.add(course);
- f = true;
- }
- return f;
- }
- /**
- * 删除
- */
- public void del(int id) {
- cDao.delete(id);
- }
- /**
- * 修改
- * @return
- */
- public void update(Course course) {
- cDao.update(course);
- }
- /**
- * 通过ID得到一个Course
- * @return
- */
- public Course getCourseById(int id) {
- return cDao.getCourseById(id);
- }
- /**
- * 通过Name得到一个Course
- * @return
- */
- public Course getCourseByName(String name) {
- return cDao.getCourseByName(name);
- }
- /**
- * 查找
- * @return
- */
- public List<Course> search(String name, String teacher, String classroom) {
- return cDao.search(name, teacher, classroom);
- }
- /**
- * 全部数据
- * @return
- */
- public List<Course> list() {
- return cDao.list();
- }
- }
CourseService
- package com.hjf;
- 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;
- @WebServlet("/CourseServlet")
- public class CourseServlet extends HttpServlet {
- private static final long serialVersionUID = 1L;
- CourseService service = new CourseService();
- /**
- * 方法选择
- */
- 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 ("del".equals(method)) {
- del(req, resp);
- } else if ("update".equals(method)) {
- update(req, resp);
- } else if ("search".equals(method)) {
- search(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);
- }
- }
- /**
- * 添加
- * @param req
- * @param resp
- * @throws IOException
- * @throws ServletException
- */
- private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
- req.setCharacterEncoding("utf-8");
- String name = req.getParameter("name");
- String teacher = req.getParameter("teacher");
- String classroom = req.getParameter("classroom");
- Course course = new Course(name, teacher, classroom);
- //添加后消息显示
- 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);
- }
- }
- /**
- * 全部
- * @param req
- * @param resp
- * @throws ServletException
- */
- 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("detail2.jsp").forward(req,resp);
- }
- /**
- * 通过名字查找
- * 跳转至删除
- * @param req
- * @param resp
- * @throws IOException
- * @throws ServletException
- */
- 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("del.jsp").forward(req,resp);
- } else {
- req.setAttribute("course", course);
- req.getRequestDispatcher("detail.jsp").forward(req,resp);
- }
- }
- /**
- * 删除
- * @param req
- * @param resp
- * @throws IOException
- * @throws ServletException
- */
- private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
- req.setCharacterEncoding("utf-8");
- int id = Integer.parseInt(req.getParameter("id"));
- service.del(id);
- req.setAttribute("message", "删除成功!");
- req.getRequestDispatcher("del.jsp").forward(req,resp);
- }
- /**
- * 修改
- * @param req
- * @param resp
- * @throws IOException
- * @throws ServletException
- */
- 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 teacher = req.getParameter("teacher");
- String classroom = req.getParameter("classroom");
- Course course = new Course(id, name, teacher, classroom);
- service.update(course);
- req.setAttribute("message", "修改成功");
- req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
- }
- /**
- * 查找
- * @param req
- * @param resp
- * @throws ServletException
- */
- private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
- req.setCharacterEncoding("utf-8");
- String name = req.getParameter("name");
- String teacher = req.getParameter("teacher");
- String classroom = req.getParameter("classroom");
- List<Course> courses = service.search(name, teacher, classroom);
- req.setAttribute("courses", courses);
- req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
- }
- }
CourseServlet.java
- package com.hjf;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- /**
- * 数据库连接工具
- * @author Hu
- *
- */
- public class DBUtil {
- public static String db_url = "jdbc:mysql://localhost:3306/course?useSSL=false&useUnicode=true&characterEncoding=UTF-8";
- public static String db_user = "root";
- public static String db_pass = "123";
- 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();
- }
- }
- }
- }
DBUtil.java
关于为什么有的类需要单独一个包
为了不同项目间更好的对接.
附:
目录说明
com.astar
- config 用于放置配置文件,资源文件等。如Spring配置文件applicationContext.xml
- background 后台管理层结构
- common 项目中公用的文件,如下
- constant 常量
- enumeration 枚举类
- util 工具类
- dao 抽象接口及实现类,用于放置封装好的底层数据访问操作。如JPA的CURD
- service 抽象业务接口及实现类,用于调用同层dao目录中的DAO对象,便于被实现和继承
- controller 控制层,通过SpringMVC 实现请求处理,并转发。
- entity 实体层,用于放置项目中的公用实体
- filter 过滤层,放置过滤器
- center/finance/printer/keeper/editor 这是项目中的角色,每个角色作为一个独立层,便于分工和解耦,使每层中的业务功能内聚
- service 独立的,特有的业务
- dao 通过该层自己来处理DAO
java web课程管理系统开发实例(从数据库连接到代码)的更多相关文章
- 实战突击: Java Web项目整合开发(PDF)
实战突击: Java Web项目整合开发(PDF)
- 给大一的学弟学妹们培训java web的后台开发讨论班计划
蓝旭工作室5月大一讨论班课程计划 课时 讨论班性质 讨论班名称 主要内容 主讲人 第一讲 先导课 后台开发工具的使用与MySQL数据库基础 后台开发工具的基本使用方法与工程的创建,MySQL数 ...
- Java Web应用的开发环境配置
1:第一是下载好Eclipse开发工具,这里不做叙述,自行下载安装. 2:使用Eclipse开发WEB项目,启动Eclipse,选择File--->new --->other---> ...
- java web几种开发模式(转)
Java Web开发方案有多种可供选择,这里列举一些经典的开发模式进行横向比较,为Java Web的开发模式选择提供参考.除此之外还有好多方案(如Tapestry和Wicket)并不了解,这里就不列举 ...
- java web课程设计截图和服务器地址
企业办公测试截图和服务器地址 本篇博客主要围绕以下几个部分展开,登录.系统管理.工作流.个人事务管理.内部邮件.公共信息共六个部分.主要有界面截图和简要介绍. 一.登录.更改密码界面 登录界面包括以管 ...
- 服务器部署Java Web及微信开发调试
参考摘抄: 阿里云部署Java网站和微信开发调试心得技巧(上):https://www.imooc.com/article/20583 阿里云部署Java网站和微信开发调试心得技巧(下):https: ...
- 使用Spring Boot来加速Java web项目的开发
我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用 ...
- java web课程设计(简单商城的前后端双系统,基于maven三模块开发)
1.系统分析 1.1需求分析 实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想 1.2编程技术简介 本次课程主要使用的软件 ...
- Java Web应用的开发模式
一.概述 从互联网诞生的第一天起,web从一个简单的静态页面,发展到今天五花八门.令人眼花缭乱的复杂应用,大到企业级的web应用系统,小到简单的SPA管理系统.在硬件性能提升的同时,通过各种技术实现了 ...
随机推荐
- redis5.0集群配置
介绍 redis自3.0版本以来支持主从模式的集群,可用哨兵监控集群健康状态,但这种方式的集群很不成熟,数据备份需要全量拷贝.在之后的版本才真正支持集群分片. 在redis5.0中去除了以redis- ...
- JSP JSONArray使用遇坑!添加以下6个jar包
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- qt连接oracle数据库
由与qt开源版本没有提供oracle数据库驱动,需要自己根据源代码来手动编译oracle驱动. 经过近三天的折腾,终于成功编译oracle驱动,连接到数据库 ps:期间经过各种失败疼苦迷茫.现在终于完 ...
- TypeScript入门七:TypeScript的枚举
关于枚举 数字枚举 字符串枚举 异构枚举 计算的和常量成员 运行时的枚举与反向映射 常量枚举与外部枚举 一.关于枚举 枚举:一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计 ...
- Framework7 - 入门教程(安装、配置、创建一个H5应用)
1,Framework7介绍 (1)Framework7 是一个开源免费的框架.可以用来开发混合移动应用(原生和 HTML 混合)或者开发 iOS & Android 风格的 WEB APP. ...
- SAP UI5应用入口App.controller.js是如何被UI5框架加载的?
首先在UI5应用的manifes.json里,定义了UI5应用的入口视图为App: 调试器里的pending数组的两个元素: 实际上对应了我在App.controller.js里定义的两个依赖: 而a ...
- Redis二进制安全概念
二进制安全是指,在传输数据时,保证二进制数据的信息安全,也就是不被篡改.破译等,如果被攻击,能够及时检测出来. 二进制安全包含了密码学的一些东西,比如加解密.签名等. 举个例子,你把数据1111000 ...
- redis集群1
redis-trib.rb命令详解 redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准 ...
- 新人数据库连接不上或数据库配置管理器里面sql服务打不开问题
新人在链接数据库时可能会出现链接不上数据库,这个问题解决方法是大家找到配置管理器里面,把那些停用的功能开启一下应该就可以.但是我们有的电脑还会遇到里面配置里面什么也没有的情况,这个时候我们就得到控制面 ...
- 读HTTP权威指南的体会
国庆期间,我读了HTTP权威指南一书,现在我把总节为大家讲一下: Web 浏览器.服务器和相关的Web 应用程序都是通过HTTP 相互通信的.HTTP 是 现代全球因特网中使用的公共语言. 是对HTT ...