• 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文件的写入了.

    代码如下:

     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 <style>
     9     .a{
    10         margin-top: 20px;
    11     }
    12     .b{
    13         font-size: 20px;
    14          160px;
    15         color: white;
    16         background-color: greenyellow;
    17     }
    18 </style>
    19 </head>
    20 <body>
    21     <%
    22          Object message = request.getAttribute("message");
    23          if(message!=null && !"".equals(message)){
    24       
    25     %>
    26          <script type="text/javascript">
    27               alert("<%=request.getAttribute("message")%>");
    28          </script>
    29     <%} %>
    30     <div align="center">
    31         <h1 style="color: red;">课程信息录入</h1>
    32         <a href="index.jsp">返回主页</a>
    33         <form action="CourseServlet?method=add" method="post" onsubmit="return check()">
    34             <div class="a">
    35                 课程名称<input type="text" id="name" name="name"/>
    36             </div>
    37             <div class="a">
    38                 任课教师<input type="text" id="teacher" name="teacher" />
    39             </div>
    40             <div class="a">
    41                 上课地点<input type="text" id="classroom" name="classroom" />
    42             </div>
    43             <div class="a">
    44                 <button type="submit" class="b">保   存</button>
    45             </div>
    46         </form>
    47     </div>
    48     <script type="text/javascript">
    49         function check() {
    50             var name = document.getElementById("name");;
    51             var teacher = document.getElementById("teacher");
    52             var classroom = document.getElementById("classroom");
    53              
    54             //非空
    55             if(name.value == '') {
    56                 alert('课程名称为空');
    57                 name.focus();
    58                 return false;
    59             }
    60             if(teacher.value == '') {
    61                 alert('教师为空');
    62                 teacher.focus();
    63                 return false;
    64             }
    65             if(classroom.value == '') {
    66                 alert('上课地点为空');
    67                 classroom.focus();
    68                 return false;
    69             }
    70              
    71             //教师
    72             if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
    73                 alert('教师名称错误');
    74                 return false;
    75             }
    76              
    77             //教室
    78             if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) {
    79                 alert('上课地点错误');
    80                 return false;
    81             }
    82         }
    83     </script>
    84 </body>
    85 </html>
    add.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 <style>
     9     .a{
    10         margin-top: 20px;
    11     }
    12     .b{
    13         font-size: 20px;
    14          160px;
    15         color: white;
    16         background-color: greenyellow;
    17     }
    18 </style>
    19 </head>
    20 <body>
    21     <%
    22          Object message = request.getAttribute("message");
    23          if(message!=null && !"".equals(message)){
    24       
    25     %>
    26          <script type="text/javascript">
    27               alert("<%=request.getAttribute("message")%>");
    28          </script>
    29     <%} %>
    30     <div align="center">
    31         <h1 style="color: red;">课程信息删除</h1>
    32         <a href="index.jsp">返回主页</a>
    33         <form action="CourseServlet?method=getcoursebyname" method="post" onsubmit="return check()">
    34             <div class="a">
    35                 课程名称<input type="text" id="name" name="name"/>
    36             </div>
    37             <div class="a">
    38                 <button type="submit" class="b">查   找</button>
    39             </div>
    40         </form>
    41     </div>
    42     <script type="text/javascript">
    43         function check() {
    44             var name = document.getElementById("name");;
    45              
    46             //非空
    47             if(name.value == '') {
    48                 alert('课程名称为空');
    49                 name.focus();
    50                 return false;
    51             }
    52         }
    53     </script>
    54 </body>
    55 </html>
    del.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 <style>
     9     .a{
    10         margin-top: 20px;
    11     }
    12     .b{
    13         font-size: 20px;
    14          160px;
    15         color: white;
    16         background-color: greenyellow;
    17     }
    18     .tb, td {
    19         border: 1px solid black;
    20         font-size: 22px;
    21     }
    22 </style>
    23 </head>
    24 <body>
    25     <div align="center">
    26         <h1 style="color: red;">课程信息删除</h1>
    27         <a href="index.jsp">返回主页</a>
    28         <table class="tb">
    29             <tr>
    30                 <td>课程名称</td>
    31                 <td>${course.name}</td>
    32             </tr>
    33             <tr>
    34                 <td>任课教师</td>
    35                 <td>${course.teacher}</td>
    36             </tr>
    37             <tr>
    38                 <td>上课地点</td>
    39                 <td>${course.classroom}</td>
    40             </tr>
    41         </table>
    42         <div class="a">
    43             <a onclick="return check()" href="CourseServlet?method=del&id=${course.id}">删   除</a>
    44         </div>
    45     </div>
    46     <script type="text/javascript">
    47         function check() {
    48             if (confirm("真的要删除吗?")){
    49                 return true;
    50             }else{
    51                 return false;
    52             }
    53         }
    54     </script>
    55 </body>
    56 </html>
    detail.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 <style>
     9     .a{
    10         margin-top: 20px;
    11     }
    12     .b{
    13         font-size: 20px;
    14          160px;
    15         color: white;
    16         background-color: greenyellow;
    17     }
    18 </style>
    19 </head>
    20 <body>
    21     <%
    22          Object message = request.getAttribute("message");
    23          if(message!=null && !"".equals(message)){
    24       
    25     %>
    26          <script type="text/javascript">
    27               alert("<%=request.getAttribute("message")%>");
    28          </script>
    29     <%} %>
    30     <div align="center">
    31         <h1 style="color: red;">课程信息修改</h1>
    32         <a href="index.jsp">返回主页</a>
    33         <form action="CourseServlet?method=update" method="post" onsubmit="return check()">
    34             <div class="a">
    35                 课程名称<input type="text" id="name" name="name" value="${course.name}"/>
    36             </div>
    37             <div class="a">
    38                 任课教师<input type="text" id="teacher" name="teacher" value="${course.teacher}"/>
    39             </div>
    40             <div class="a">
    41                 上课地点<input type="text" id="classroom" name="classroom" value="${course.classroom}"/>
    42             </div>
    43             <input type="hidden" id="id" name="id" value="${course.id}"/>
    44             <div class="a">
    45                 <button type="submit" class="b">修   改</button>
    46             </div>
    47         </form>
    48     </div>
    49     <script type="text/javascript">
    50         function check() {
    51             var name = document.getElementById("name");;
    52             var teacher = document.getElementById("teacher");
    53             var classroom = document.getElementById("classroom");
    54              
    55             //非空
    56             if(name.value == '') {
    57                 alert('课程名称为空');
    58                 name.focus();
    59                 return false;
    60             }
    61             if(teacher.value == '') {
    62                 alert('教师为空');
    63                 teacher.focus();
    64                 return false;
    65             }
    66             if(classroom.value == '') {
    67                 alert('上课地点为空');
    68                 classroom.focus();
    69                 return false;
    70             }
    71              
    72             //教师
    73             if(teacher.value != '王建民' && teacher.value != '王辉' && teacher.value != '刘丹' && teacher.value != '刘立嘉' && teacher.value != '杨子光'){
    74                 alert('教师名称错误');
    75                 return false;
    76             }
    77              
    78             //教室
    79             if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)) {
    80                 alert('上课地点错误');
    81                 return false;
    82             }
    83         }
    84     </script>
    85 </body>
    86 </html>
    detail2.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>首页</title>
     8 <style>
     9     .a{
    10         font-size: 26px;
    11         margin-top: 20px;
    12     }
    13 </style>
    14 </head>
    15 <body>
    16     <div align="center">
    17         <h1 style="color: red;">课程基本信息管理系统</h1>
    18         <div class="a">
    19             <a href="add.jsp">课程信息录入</a>
    20         </div>
    21         <div class="a">
    22             <a href="CourseServlet?method=list">课程信息修改</a>
    23         </div>
    24         <div class="a">
    25             <a href="del.jsp">课程信息删除</a>
    26         </div>
    27         <div class="a">
    28             <a href="search.jsp">课程信息查询</a>
    29         </div>
    30     </div>
    31 </body>
    32 </html>
    index
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     4 <!DOCTYPE html>
     5 <html>
     6 <head>
     7 <meta charset="UTF-8">
     8 <title>Insert title here</title>
     9 <style>
    10     .a{
    11         margin-top: 20px;
    12     }
    13     .b{
    14         font-size: 20px;
    15          160px;
    16         color: white;
    17         background-color: greenyellow;
    18     }
    19     .tb, td {
    20         border: 1px solid black;
    21         font-size: 22px;
    22     }
    23 </style>
    24 </head>
    25 <body>
    26     <%
    27          Object message = request.getAttribute("message");
    28          if(message!=null && !"".equals(message)){
    29       
    30     %>
    31          <script type="text/javascript">
    32               alert("<%=request.getAttribute("message")%>");
    33          </script>
    34     <%} %>
    35     <div align="center">
    36         <h1 style="color: red;">课程信息列表</h1>
    37         <a href="index.jsp">返回主页</a>
    38         <table class="tb">
    39             <tr>
    40                 <td>id</td>
    41                 <td>课程名称</td>
    42                 <td>任课教师</td>
    43                 <td>上课地点</td>
    44                 <td align="center" colspan="2">操作</td>
    45             </tr>
    46             <c:forEach items="${courses}" var="item">
    47                 <tr>
    48                     <td>${item.id}</td>
    49                     <td>${item.name}</td>
    50                     <td>${item.teacher}</td>
    51                     <td>${item.classroom}</td>
    52                     <td><a href="CourseServlet?method=getcoursebyid&id=${item.id}">修改</a></td>
    53                 </tr>
    54             </c:forEach>
    55         </table>
    56     </div>
    57 </body>
    58 </html>
    list.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <!DOCTYPE html>
     4 <html>
     5 <head>
     6 <meta charset="UTF-8">
     7 <title>Insert title here</title>
     8 <style>
     9     .a{
    10         margin-top: 20px;
    11     }
    12     .b{
    13         font-size: 20px;
    14          160px;
    15         color: white;
    16         background-color: greenyellow;
    17     }
    18 </style>
    19 </head>
    20 <body>
    21     <div align="center">
    22         <h1 style="color: red;">课程信息查询</h1>
    23         <a href="index.jsp">返回主页</a>
    24         <form action="CourseServlet?method=search" method="post" onsubmit="return check()">
    25             <div class="a">
    26                 课程名称<input type="text" id="name" name="name"/>
    27             </div>
    28             <div class="a">
    29                 任课教师<input type="text" id="teacher" name="teacher" />
    30             </div>
    31             <div class="a">
    32                 上课地点<input type="text" id="classroom" name="classroom" />
    33             </div>
    34             <div class="a">
    35                 <button type="submit" class="b">查   询</button>
    36             </div>
    37         </form>
    38     </div>
    39     <script type="text/javascript">
    40         function check() {
    41             var name = document.getElementById("name");;
    42             var teacher = document.getElementById("teacher");
    43             var classroom = document.getElementById("classroom");
    44              
    45             //非空
    46             if(name.value == '' && teacher.value == '' && classroom.value == '') {
    47                 alert('请填写一个条件');
    48                 return false;
    49             }
    50         }
    51     </script>
    52 </body>
    53 </html>
    search.jsp
     1 <%@ page language="java" contentType="text/html; charset=UTF-8"
     2     pageEncoding="UTF-8"%>
     3 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     4 <!DOCTYPE html>
     5 <html>
     6 <head>
     7 <meta charset="UTF-8">
     8 <title>Insert title here</title>
     9 <style>
    10     .a{
    11         margin-top: 20px;
    12     }
    13     .b{
    14         font-size: 20px;
    15          160px;
    16         color: white;
    17         background-color: greenyellow;
    18     }
    19     .tb, td {
    20         border: 1px solid black;
    21         font-size: 22px;
    22     }
    23 </style>
    24 </head>
    25 <body>
    26     <div align="center">
    27         <h1 style="color: red;">课程信息列表</h1>
    28         <a href="index.jsp">返回主页</a>
    29         <table class="tb">
    30             <tr>
    31                 <td>id</td>
    32                 <td>课程名称</td>
    33                 <td>任课教师</td>
    34                 <td>上课地点</td>
    35             </tr>
    36             <!-- forEach遍历出adminBeans -->
    37             <c:forEach items="${courses}" var="item" varStatus="status">
    38                 <tr>
    39                     <td>${item.id}</td>
    40                     <td><a>${item.name}</a></td>
    41                     <td>${item.teacher}</td>
    42                     <td>${item.classroom}</td>
    43                 </tr>
    44             </c:forEach>
    45         </table>
    46     </div>
    47 </body>
    48 </html>
    searchlist.jsp

    直接在上图中一起建立包和类

     1 package com.hjf;
     2  
     3 public class Course {
     4  
     5     private int id;
     6     private String name;
     7     private String teacher;
     8     private String classroom;
     9      
    10     public int getId() {
    11         return id;
    12     }
    13     public void setId(int id) {
    14         this.id = id;
    15     }
    16     public String getName() {
    17         return name;
    18     }
    19     public void setName(String name) {
    20         this.name = name;
    21     }
    22     public String getTeacher() {
    23         return teacher;
    24     }
    25     public void setTeacher(String teacher) {
    26         this.teacher = teacher;
    27     }
    28     public String getClassroom() {
    29         return classroom;
    30     }
    31     public void setClassroom(String classroom) {
    32         this.classroom = classroom;
    33     }
    34      
    35     public Course() {}
    36      
    37     public Course(int id, String name, String teacher, String classroom) {
    38         this.id = id;
    39         this.name = name;
    40         this.teacher = teacher;
    41         this.classroom = classroom;
    42     }
    43      
    44     public Course(String name, String teacher, String classroom) {
    45         this.name = name;
    46         this.teacher = teacher;
    47         this.classroom = classroom;
    48     }
    49 }
    Course.java
      1 package com.hjf;
      2  
      3 import java.sql.Connection;
      4  
      5 import java.sql.ResultSet;
      6 import java.sql.SQLException;
      7 import java.sql.Statement;
      8 import java.util.ArrayList;
      9 import java.util.List;
     10  
     11  
     12  
     13 /**
     14  * 课程Dao
     15  * Dao层操作数据
     16  * @author Hu
     17  *
     18  */
     19 public class CourseDao {
     20  
     21     /**
     22      * 添加
     23      * @param course
     24      * @return
     25      */
     26     public boolean add(Course course) {
     27         String sql = "insert into course(name, teacher, classroom) values('" + course.getName() + "','" + course.getTeacher() + "','" + course.getClassroom() + "')";
     28         Connection conn = DBUtil.getConn();
     29         Statement state = null;
     30         boolean f = false;
     31         int a = 0;
     32          
     33         try {
     34             state = conn.createStatement();
     35             state.executeUpdate(sql);
     36         } catch (Exception e) {
     37             e.printStackTrace();
     38         } finally {
     39             DBUtil.close(state, conn);
     40         }
     41          
     42         if (a > 0) {
     43             f = true;
     44         }
     45         return f;
     46     }
     47  
     48     /**
     49      * 删除
     50      *
     51      * @param id
     52      * @return
     53      */
     54     public boolean delete (int id) {
     55         boolean f = false;
     56         String sql = "delete from course where id='" + id + "'";
     57         Connection conn = DBUtil.getConn();
     58         Statement state = null;
     59         int a = 0;
     60          
     61         try {
     62             state = conn.createStatement();
     63             a = state.executeUpdate(sql);
     64         } catch (SQLException e) {
     65             e.printStackTrace();
     66         } finally {
     67             DBUtil.close(state, conn);
     68         }
     69          
     70         if (a > 0) {
     71             f = true;
     72         }
     73         return f;
     74     }
     75  
     76     /**
     77      * 修改
     78      * @param name
     79      * @param pass
     80      */
     81     public boolean update(Course course) {
     82         String sql = "update course set name='" + course.getName() + "', teacher='" + course.getTeacher() + "', classroom='" + course.getClassroom()
     83             + "' where id='" + course.getId() + "'";
     84         Connection conn = DBUtil.getConn();
     85         Statement state = null;
     86         boolean f = false;
     87         int a = 0;
     88  
     89         try {
     90             state = conn.createStatement();
     91             a = state.executeUpdate(sql);
     92         } catch (SQLException e) {
     93             e.printStackTrace();
     94         } finally {
     95             DBUtil.close(state, conn);
     96         }
     97          
     98         if (a > 0) {
     99             f = true;
    100         }
    101         return f;
    102     }
    103      
    104     /**
    105      * 验证课程名称是否唯一
    106      * true --- 不唯一
    107      * @param name
    108      * @return
    109      */
    110     public boolean name(String name) {
    111         boolean flag = false;
    112         String sql = "select name from course where name = '" + name + "'";
    113         Connection conn = DBUtil.getConn();
    114         Statement state = null;
    115         ResultSet rs = null;
    116          
    117         try {
    118             state = conn.createStatement();
    119             rs = state.executeQuery(sql);
    120             while (rs.next()) {
    121                 flag = true;
    122             }
    123         } catch (SQLException e) {
    124             e.printStackTrace();
    125         } finally {
    126             DBUtil.close(rs, state, conn);
    127         }
    128         return flag;
    129     }
    130      
    131     /**
    132      * 通过ID得到类
    133      * @param id
    134      * @return
    135      */
    136     public Course getCourseById(int id) {
    137         String sql = "select * from course where id ='" + id + "'";
    138         Connection conn = DBUtil.getConn();
    139         Statement state = null;
    140         ResultSet rs = null;
    141         Course course = null;
    142          
    143         try {
    144             state = conn.createStatement();
    145             rs = state.executeQuery(sql);
    146             while (rs.next()) {
    147                 String name = rs.getString("name");
    148                 String teacher = rs.getString("teacher");
    149                 String classroom = rs.getString("classroom");
    150                 course = new Course(id, name, teacher, classroom);
    151             }
    152         } catch (Exception e) {
    153             e.printStackTrace();
    154         } finally {
    155             DBUtil.close(rs, state, conn);
    156         }
    157          
    158         return course;
    159     }
    160      
    161     /**
    162      * 通过name得到Course
    163      * @param name
    164      * @return
    165      */
    166     public Course getCourseByName(String name) {
    167         String sql = "select * from course where name ='" + name + "'";
    168         Connection conn = DBUtil.getConn();
    169         Statement state = null;
    170         ResultSet rs = null;
    171         Course course = null;
    172          
    173         try {
    174             state = conn.createStatement();
    175             rs = state.executeQuery(sql);
    176             while (rs.next()) {
    177                 int id = rs.getInt("id");
    178                 String teacher = rs.getString("teacher");
    179                 String classroom = rs.getString("classroom");
    180                 course = new Course(id, name, teacher, classroom);
    181             }
    182         } catch (Exception e) {
    183             e.printStackTrace();
    184         } finally {
    185             DBUtil.close(rs, state, conn);
    186         }
    187          
    188         return course;
    189     }
    190      
    191     /**
    192      * 查找
    193      * @param name
    194      * @param teacher
    195      * @param classroom
    196      * @return
    197      */
    198     public List<Course> search(String name, String teacher, String classroom) {
    199         String sql = "select * from course where ";
    200         if (name != "") {
    201             sql += "name like '%" + name + "%'";
    202         }
    203         if (teacher != "") {
    204             sql += "teacher like '%" + teacher + "%'";
    205         }
    206         if (classroom != "") {
    207             sql += "classroom like '%" + classroom + "%'";
    208         }
    209         List<Course> list = new ArrayList<>();
    210         Connection conn = DBUtil.getConn();
    211         Statement state = null;
    212         ResultSet rs = null;
    213  
    214         try {
    215             state = conn.createStatement();
    216             rs = state.executeQuery(sql);
    217             Course bean = null;
    218             while (rs.next()) {
    219                 int id = rs.getInt("id");
    220                 String name2 = rs.getString("name");
    221                 String teacher2 = rs.getString("teacher");
    222                 String classroom2 = rs.getString("classroom");
    223                 bean = new Course(id, name2, teacher2, classroom2);
    224                 list.add(bean);
    225             }
    226         } catch (SQLException e) {
    227             e.printStackTrace();
    228         } finally {
    229             DBUtil.close(rs, state, conn);
    230         }
    231          
    232         return list;
    233     }
    234      
    235     /**
    236      * 全部数据
    237      * @param name
    238      * @param teacher
    239      * @param classroom
    240      * @return
    241      */
    242     public List<Course> list() {
    243         String sql = "select * from course";
    244         List<Course> list = new ArrayList<>();
    245         Connection conn = DBUtil.getConn();
    246         Statement state = null;
    247         ResultSet rs = null;
    248  
    249         try {
    250             state = conn.createStatement();
    251             rs = state.executeQuery(sql);
    252             Course bean = null;
    253             while (rs.next()) {
    254                 int id = rs.getInt("id");
    255                 String name2 = rs.getString("name");
    256                 String teacher2 = rs.getString("teacher");
    257                 String classroom2 = rs.getString("classroom");
    258                 bean = new Course(id, name2, teacher2, classroom2);
    259                 list.add(bean);
    260             }
    261         } catch (SQLException e) {
    262             e.printStackTrace();
    263         } finally {
    264             DBUtil.close(rs, state, conn);
    265         }
    266          
    267         return list;
    268     }
    269  
    270 }
    CourseDao.java
     1 package com.hjf;
     2  
     3 import java.util.List;
     4  
     5 /**
     6  * CourseService
     7  * 服务层
     8  * @author Hu
     9  *
    10  */
    11 public class CourseService {
    12  
    13     CourseDao cDao = new CourseDao();
    14      
    15     /**
    16      * 添加
    17      * @param course
    18      * @return
    19      */
    20     public boolean add(Course course) {
    21         boolean f = false;
    22         if(!cDao.name(course.getName())) {
    23             cDao.add(course);
    24             f = true;
    25         }
    26         return f;
    27     }
    28      
    29     /**
    30      * 删除
    31      */
    32     public void del(int id) {
    33         cDao.delete(id);
    34     }
    35      
    36     /**
    37      * 修改
    38      * @return
    39      */
    40     public void update(Course course) {
    41         cDao.update(course);
    42     }
    43      
    44     /**
    45      * 通过ID得到一个Course
    46      * @return
    47      */
    48     public Course getCourseById(int id) {
    49         return cDao.getCourseById(id);
    50     }
    51  
    52     /**
    53      * 通过Name得到一个Course
    54      * @return
    55      */
    56     public Course getCourseByName(String name) {
    57         return cDao.getCourseByName(name);
    58     }
    59      
    60     /**
    61      * 查找
    62      * @return
    63      */
    64     public List<Course> search(String name, String teacher, String classroom) {
    65         return cDao.search(name, teacher, classroom);
    66     }
    67      
    68     /**
    69      * 全部数据
    70      * @return
    71      */
    72     public List<Course> list() {
    73         return cDao.list();
    74     }
    75 }
    CourseService
      1 package com.hjf;
      2  
      3 import java.io.IOException;
      4  
      5  
      6 import java.util.List;
      7  
      8 import javax.servlet.ServletException;
      9 import javax.servlet.annotation.WebServlet;
     10 import javax.servlet.http.HttpServlet;
     11 import javax.servlet.http.HttpServletRequest;
     12 import javax.servlet.http.HttpServletResponse;
     13  
     14 @WebServlet("/CourseServlet")
     15 public class CourseServlet extends HttpServlet {
     16      
     17     private static final long serialVersionUID = 1L;
     18  
     19     CourseService service = new CourseService();
     20      
     21     /**
     22      * 方法选择
     23      */
     24     protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     25         req.setCharacterEncoding("utf-8");
     26         String method = req.getParameter("method");
     27         if ("add".equals(method)) {
     28             add(req, resp);
     29         } else if ("del".equals(method)) {
     30             del(req, resp);
     31         } else if ("update".equals(method)) {
     32             update(req, resp);
     33         } else if ("search".equals(method)) {
     34             search(req, resp);
     35         } else if ("getcoursebyid".equals(method)) {
     36             getCourseById(req, resp);
     37         } else if ("getcoursebyname".equals(method)) {
     38             getCourseByName(req, resp);
     39         } else if ("list".equals(method)) {
     40             list(req, resp);
     41         }
     42     }
     43  
     44     /**
     45      * 添加
     46      * @param req
     47      * @param resp
     48      * @throws IOException
     49      * @throws ServletException
     50      */
     51     private void add(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
     52         req.setCharacterEncoding("utf-8");
     53         String name = req.getParameter("name");
     54         String teacher = req.getParameter("teacher");
     55         String classroom = req.getParameter("classroom");
     56         Course course = new Course(name, teacher, classroom);
     57          
     58         //添加后消息显示
     59         if(service.add(course)) {
     60             req.setAttribute("message", "添加成功");
     61             req.getRequestDispatcher("add.jsp").forward(req,resp);
     62         } else {
     63             req.setAttribute("message", "课程名称重复,请重新录入");
     64             req.getRequestDispatcher("add.jsp").forward(req,resp);
     65         }
     66     }
     67      
     68     /**
     69      * 全部
     70      * @param req
     71      * @param resp
     72      * @throws ServletException
     73      */
     74     private void list(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
     75         req.setCharacterEncoding("utf-8");
     76         List<Course> courses = service.list();
     77         req.setAttribute("courses", courses);
     78         req.getRequestDispatcher("list.jsp").forward(req,resp);
     79     }
     80  
     81     /**
     82      * 通过ID得到Course
     83      * @param req
     84      * @param resp
     85      * @throws ServletException
     86      */
     87     private void getCourseById(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
     88         req.setCharacterEncoding("utf-8");
     89         int id = Integer.parseInt(req.getParameter("id"));
     90         Course course = service.getCourseById(id);
     91         req.setAttribute("course", course);
     92         req.getRequestDispatcher("detail2.jsp").forward(req,resp);
     93     }
     94  
     95     /**
     96      * 通过名字查找
     97      * 跳转至删除
     98      * @param req
     99      * @param resp
    100      * @throws IOException
    101      * @throws ServletException
    102      */
    103     private void getCourseByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
    104         req.setCharacterEncoding("utf-8");
    105         String name = req.getParameter("name");
    106         Course course = service.getCourseByName(name);
    107         if(course == null) {
    108             req.setAttribute("message", "查无此课程!");
    109             req.getRequestDispatcher("del.jsp").forward(req,resp);
    110         } else {
    111             req.setAttribute("course", course);
    112             req.getRequestDispatcher("detail.jsp").forward(req,resp);
    113         }
    114     }
    115      
    116     /**
    117      * 删除
    118      * @param req
    119      * @param resp
    120      * @throws IOException
    121      * @throws ServletException
    122      */
    123     private void del(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
    124         req.setCharacterEncoding("utf-8");
    125         int id = Integer.parseInt(req.getParameter("id"));
    126         service.del(id);
    127         req.setAttribute("message", "删除成功!");
    128         req.getRequestDispatcher("del.jsp").forward(req,resp);
    129     }
    130      
    131     /**
    132      * 修改
    133      * @param req
    134      * @param resp
    135      * @throws IOException
    136      * @throws ServletException
    137      */
    138     private void update(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
    139         req.setCharacterEncoding("utf-8");
    140         int id = Integer.parseInt(req.getParameter("id"));
    141         String name = req.getParameter("name");
    142         String teacher = req.getParameter("teacher");
    143         String classroom = req.getParameter("classroom");
    144         Course course = new Course(id, name, teacher, classroom);
    145          
    146         service.update(course);
    147         req.setAttribute("message", "修改成功");
    148         req.getRequestDispatcher("CourseServlet?method=list").forward(req,resp);
    149     }
    150      
    151     /**
    152      * 查找
    153      * @param req
    154      * @param resp
    155      * @throws ServletException
    156      */
    157     private void search(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
    158         req.setCharacterEncoding("utf-8");
    159         String name = req.getParameter("name");
    160         String teacher = req.getParameter("teacher");
    161         String classroom = req.getParameter("classroom");
    162         List<Course> courses = service.search(name, teacher, classroom);
    163         req.setAttribute("courses", courses);
    164         req.getRequestDispatcher("searchlist.jsp").forward(req,resp);
    165     }
    166 }
    CourseServlet.java
     1 package com.hjf;
     2  
     3 import java.sql.Connection;
     4 import java.sql.DriverManager;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 import java.sql.Statement;
     8  
     9 /**
    10  * 数据库连接工具
    11  * @author Hu
    12  *
    13  */
    14 public class DBUtil {
    15      
    16     public static String db_url = "jdbc:mysql://localhost:3306/course?useSSL=false&useUnicode=true&characterEncoding=UTF-8";
    17     public static String db_user = "root";
    18     public static String db_pass = "123";
    19      
    20     public static Connection getConn () {
    21         Connection conn = null;
    22          
    23         try {
    24             Class.forName("com.mysql.jdbc.Driver");//加载驱动
    25             conn = DriverManager.getConnection(db_url, db_user, db_pass);
    26         } catch (Exception e) {
    27             e.printStackTrace();
    28         }
    29          
    30         return conn;
    31     }
    32      
    33     /**
    34      * 关闭连接
    35      * @param state
    36      * @param conn
    37      */
    38     public static void close (Statement state, Connection conn) {
    39         if (state != null) {
    40             try {
    41                 state.close();
    42             } catch (SQLException e) {
    43                 e.printStackTrace();
    44             }
    45         }
    46          
    47         if (conn != null) {
    48             try {
    49                 conn.close();
    50             } catch (SQLException e) {
    51                 e.printStackTrace();
    52             }
    53         }
    54     }
    55      
    56     public static void close (ResultSet rs, Statement state, Connection conn) {
    57         if (rs != null) {
    58             try {
    59                 rs.close();
    60             } catch (SQLException e) {
    61                 e.printStackTrace();
    62             }
    63         }
    64          
    65         if (state != null) {
    66             try {
    67                 state.close();
    68             } catch (SQLException e) {
    69                 e.printStackTrace();
    70             }
    71         }
    72          
    73         if (conn != null) {
    74             try {
    75                 conn.close();
    76             } catch (SQLException e) {
    77                 e.printStackTrace();
    78             }
    79         }
    80     }
    81  
    82 }
    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

  • 相关阅读:
    EOJ 1822 Hanoi Tower IV
    Firefox,chrome,IE上传图片预览
    js保存,获取,删除cookie的操作
    jquery 特效
    SimpleDateFormat转换时间,12,24时间格式[转]
    javascript捕获页面窗口关闭事件
    [转]ajQuery的deferred对象详解
    iframe
    火狐路径问题
    JAVA折腾微信公众平台(Token验证)[转]
  • 原文地址:https://www.cnblogs.com/yeshenfeng/p/10093825.html
Copyright © 2020-2023  润新知