javaweb實現添加課程


一.項目需求

1.設計添加新課程界面。

2.在后台數據庫中建立相應的表結構存儲課程信息。

3.實現新課程添加的功能。 要求限定教師為系中的5位老師。

4.要求限制上課地點開頭為“一教、二教、三教、基教”中的一種。

5.實現數據存儲功能。

二.設計思想

1.提取到需求中最主要的對象為課程,所以首先創建課程類。

該類包含三個參數:a.課程名稱  b.教師名稱  c.上課地點。構建get和set函數

2.構建一個輔助類,用來創建數據庫連接

3.創建一個接口,其中有一個靜態方法,傳入一個課程類的對象。能夠實現將該對象傳入數據庫

4.創建一個異常,用來在課程出錯時,彈出異常信息。

5.創建一個前段界面,顯示界面信息

6.創建一個后端頁面,接受來自前端的消息,並且對其進行判斷。如果在限定條件內,則添加到數據庫。否則,拋出異常,跳轉頁面

三.源程序代碼

(1)java

1.創建課程類

 1 package com.jaovo.msg.model;
 2 
 3 public class HaveClass 
 4 {
 5     private String  teachername;
 6     private String  place;
 7     private String  classname;
 8     
 9     public String getTeachername() {
10         return teachername;
11     }
12     public void setTeachername(String teachername) {
13         this.teachername = teachername;
14     }
15     public String getPlace() {
16         return place;
17     }
18     public void setPlace(String place) {
19         this.place = place;
20     }
21     public String getClassname() {
22         return classname;
23     }
24     public void setClassname(String classname) {
25         this.classname = classname;
26     }
27 
28 }

2.創建輔助類,完成數據庫連接

 1 package com.jaovo.msg.Util;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8 
 9 public class DBUtil 
10 {
11     
12     public  static  Connection getConnection() {
13         try {
14             
15             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
16         } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
17             // TODO Auto-generated catch block
18             e.printStackTrace();
19         }
20         String user = "sa";
21         String password = "jisuan@10Q";
22         String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=OnClass";
23         Connection connection = null;
24         try {
25             
26              connection = DriverManager.getConnection(url,user,password);
27         } catch (SQLException e) {
28             // TODO Auto-generated catch block
29             e.printStackTrace();
30         }
31         return connection;
32     }
33     
34     
35     public static void close(Connection connection ) {
36         try {
37             if (connection != null) {
38                 connection.close();
39             }
40             
41         } catch (SQLException e) {
42             // TODO Auto-generated catch block
43             e.printStackTrace();
44         }
45     }
46     public static void close(PreparedStatement preparedStatement ) {
47         try {
48             if (preparedStatement != null) {
49                 preparedStatement.close();
50             }
51             
52         } catch (SQLException e) {
53             // TODO Auto-generated catch block
54             e.printStackTrace();
55         }
56     }
57     public static void close(ResultSet resultSet ) {
58         try {
59             if (resultSet != null) {
60                 resultSet.close();
61             }
62             
63         } catch (SQLException e) {
64             // TODO Auto-generated catch block
65             e.printStackTrace();
66         }
67     }
68     
69 }

3.創建一個類,用來實現添加到數據庫中

 1 package com.jaovo.msg.dao;
 2 
 3 import java.sql.Connection;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 
 8 import com.jaovo.msg.Util.DBUtil;
 9 import com.jaovo.msg.model.HaveClass;
10 
11 
12 public class ClassDaoImpl {
13     
14     public void add(HaveClass claz) 
15     {
16         //獲得鏈接對象
17         Connection connection = DBUtil.getConnection();
18         
19         //准備sql語句
20         String sql = "insert into t_class(teachername,classname,place) values(?,?,?)";
21         PreparedStatement preparedStatement = null;
22         try {
23         //創建語句傳輸對象
24         preparedStatement = connection.prepareStatement(sql);
25         
26         preparedStatement = connection.prepareStatement(sql);
27         preparedStatement.setString(1, claz.getTeachername());
28         preparedStatement.setString(2, claz.getClassname());
29         preparedStatement.setString(3, claz.getPlace());
30         preparedStatement.executeUpdate();
31         } catch (SQLException e) {
32             // TODO Auto-generated catch block
33             e.printStackTrace();
34         }finally {
35             //關閉資源
36             
37             DBUtil.close(preparedStatement);
38             DBUtil.close(connection);
39         }
40         
41     }
42 
43 }

4.使用jsp文件,創建前端界面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>課程添加頁面</title>
</head>
<body>
    <form action="add.jsp" method="get">
        <table align="center" border="1" width="500">
            <tr>
                <td>課程名稱 : </td>
                <td>
                    <input type="text" name="classname" />
                </td>
            </tr>
                <tr>
                <td>任課教師:</td>
                <td>
                    <input type="text" name="teachername" />
                </td>
            </tr>
            <tr>
                <td>上課地點:</td>
                <td>
                    <input type="text" name="place" />
                </td>
            </tr>
            <tr align="center">
                <td colspan="2">
                    <input type="submit" value="提交" />
                    <input type="reset" value="重置" />
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

5.創建后端界面,完成對數值的校驗

 1 <%@page import="com.jaovo.msg.Util.ClassException"%>
 2 <%@page import="com.jaovo.msg.dao.ClassDaoImpl"%>
 3 <%@page import="com.jaovo.msg.model.HaveClass"%>
 4 <%@ page language="java" contentType="text/html; charset=UTF-8"
 5     pageEncoding="UTF-8"%>
 6 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 7 <html>
 8 <%
 9     //接收客戶端傳遞過來的參數
10     
11     String teachername = request.getParameter("teachername");
12     String classname = request.getParameter("classname");
13     String place = request.getParameter("place");
14     try{
15     if(!teachername.trim().equals("王建民")&&!teachername.trim().equals("劉立嘉")&&!teachername.trim().equals("劉丹")&&!teachername.trim().equals("王輝")&&!teachername.trim().equals("楊子光"))
16     {
17         throw new ClassException("不能輸入規定之外的老師名稱");
18     }
19     else if(!place.trim().startsWith("基教")&&!place.trim().startsWith("一教")&&!place.trim().startsWith("二教")&&!place.trim().startsWith("三教"))
20     {
21         throw new ClassException("不能輸入規定之外的地點名稱!");
22     }
23     else
24     {
25         HaveClass haveclass = new HaveClass();
26         haveclass.setTeachername(teachername);
27         haveclass.setClassname(classname);
28         haveclass.setPlace(place);
29         ClassDaoImpl classDao = new ClassDaoImpl();
30         classDao.add(haveclass);
31     }
32     
33     }catch(ClassException e){
34         
35 %>
36     <h2 style="color:red ; font-size:50px">發生錯誤 : <%=e.getMessage() %></h2>
37 <%
38     }
39     
40     
41     
42 %>
43 
44     
45 
46 
47 </html>

四.運行結果截圖

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM