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>

四.运行结果截图

 

posted on 2017-11-28 17:27  渔夫的梦  阅读(2716)  评论(1编辑  收藏  举报