zoukankan      html  css  js  c++  java
  • 软件工程概论(课堂测试02)

    设计思想:

    此实验要完成课程的保存,则此实验要考察我们的是对数据库进行增的操作,而判断输入的教师名称只能从题目中给的五个人中选取,则需要在jsp中传输参数是进行判断看是否是五个人名中的一个,是则继续否则抛出异常,之后的上课地点要求开头以特定文字开头则跟上一问差不多,就是变成了String类型对象的startsWith函数判断是否以某一特定字符开头。

     

    DBUtil.java

     1 package user;
     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     public  static  Connection getConnection() {
    11         try {
    12             Class.forName("com.mysql.jdbc.Driver").newInstance();
    13         } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
    14             // TODO Auto-generated catch block
    15             e.printStackTrace();
    16         }
    17         String user = "root";
    18         String password = "root";
    19         String url = "jdbc:mysql://localhost:3306/teacher?user=root&password=root&useUnicode=true&characterEncoding=utf-8";
    20         Connection connection = null;
    21         try {
    22              connection = DriverManager.getConnection(url,user,password);
    23         } catch (SQLException e) {
    24             // TODO Auto-generated catch block
    25             e.printStackTrace();
    26         }
    27         return connection;
    28     }
    29     
    30     public static void close(Connection connection ) {
    31         try {
    32             if (connection != null) {
    33                 connection.close();
    34             }
    35             
    36         } catch (SQLException e) {
    37             // TODO Auto-generated catch block
    38             e.printStackTrace();
    39         }
    40     }
    41     public static void close(PreparedStatement preparedStatement ) {
    42         try {
    43             if (preparedStatement != null) {
    44                 preparedStatement.close();
    45             }
    46             
    47         } catch (SQLException e) {
    48             // TODO Auto-generated catch block
    49             e.printStackTrace();
    50         }
    51     }
    52     public static void close(ResultSet resultSet ) {
    53         try {
    54             if (resultSet != null) {
    55                 resultSet.close();
    56             }
    57             
    58         } catch (SQLException e) {
    59             // TODO Auto-generated catch block
    60             e.printStackTrace();
    61         }
    62     }
    63 
    64 }

    teacher.java

     1 package user;
     2 
     3 public class teacher {
     4     private String username;
     5     private String teacher;
     6     private String place;
     7     public String getUsername() {
     8         return username;
     9     }
    10     public void setUsername(String username) {
    11         this.username = username;
    12     }
    13     public String getTeacher() {
    14         return teacher;
    15     }
    16     public void setTeacher(String teacher) {
    17         this.teacher = teacher;
    18     }
    19     public String getPlace() {
    20         return place;
    21     }
    22     public void setPlace(String place) {
    23         this.place = place;
    24     }
    25 }

    teacherDao.java

     1 package user;
     2 
     3 import java.sql.Connection;
     4 import java.sql.PreparedStatement;
     5 import java.sql.ResultSet;
     6 import java.sql.SQLException;
     7 public class teacherDao {
     8     public void baocun(teacher tr)
     9     {
    10         Connection connection=DBUtil.getConnection();
    11         String sql = "select count(*) from t_teacher where teacher = ?";
    12         PreparedStatement preparedStatement=null;
    13         ResultSet resultSet=null;
    14         try {
    15             preparedStatement = connection.prepareStatement(sql);
    16             preparedStatement.setString(1,tr.getTeacher());
    17             resultSet = preparedStatement.executeQuery();
    18             while(resultSet.next()) {
    19                 if (resultSet.getInt(1) > 0) {
    20                     throw new UserException("用户已存在") ;
    21                 }
    22             }
    23             sql = "insert into t_teacher(username,teacher,place) value (?,?,?)";
    24             preparedStatement = connection.prepareStatement(sql);
    25             preparedStatement.setString(1, tr.getUsername());
    26             preparedStatement.setString(2, tr.getTeacher());
    27             preparedStatement.setString(3, tr.getPlace());
    28             preparedStatement.executeUpdate();
    29         } catch (SQLException e) {
    30             // TODO Auto-generated catch block
    31             e.printStackTrace();
    32         }
    33         finally {
    34             //关闭资源
    35             DBUtil.close(resultSet);
    36             DBUtil.close(preparedStatement);
    37             DBUtil.close(connection);
    38         }
    39     }
    40 
    41 }

    UserException.java

     1 package user;
     2 
     3 public class UserException extends RuntimeException{
     4 
     5     public UserException() {
     6         super();
     7         // TODO Auto-generated constructor stub
     8     }
     9 
    10     public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
    11         super(message, cause, enableSuppression, writableStackTrace);
    12         // TODO Auto-generated constructor stub
    13     }
    14 
    15     public UserException(String message, Throwable cause) {
    16         super(message, cause);
    17         // TODO Auto-generated constructor stub
    18     }
    19 
    20     public UserException(String message) {
    21         super(message);
    22         // TODO Auto-generated constructor stub
    23     }
    24 
    25     public UserException(Throwable cause) {
    26         super(cause);
    27         // TODO Auto-generated constructor stub
    28     }
    29  
    30 }

    addinput.jsp

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <%response.setCharacterEncoding("UTF-8");%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>添加课程信息</title>
    </head>
    <body>
       <form action='add.jsp' method ="post">
       <% 
       if(request.getAttribute("error")!=null||"".equals(request.getAttribute("error")))
        {
           %>
           <%=request.getAttribute("error") %>
           <%
        }
       %>
       <% 
          if(request.getAttribute("error1")!=null||"".equals(request.getAttribute("error1")))
        {
           %>
           <%=request.getAttribute("error1") %>
           <%
        }
       %>
        <% 
          if(request.getAttribute("error2")!=null||"".equals(request.getAttribute("error2")))
        {
           %>
           <%=request.getAttribute("error2") %>
           <%
        }
       %>
       <% 
          if(request.getAttribute("error3")!=null||"".equals(request.getAttribute("error3")))
        {
           %>
           <%=request.getAttribute("error3") %>
           <%
        }
       %>
        <% 
          if(request.getAttribute("error4")!=null||"".equals(request.getAttribute("error4")))
        {
           %>
           <%=request.getAttribute("error4") %>
           <%
        }
       %>
       <table align="center" >
            <tr>
              <td>课程名称:</td>
              <td>
                 <input type="text" name="username"/>
              </td>
            </tr >
            <tr>
              <td>任课教师:</td>
              <td>
                 <input type="text" name="teacher"/>
              </td>
            </tr>
            <tr>
              <td>上课地点:</td>
              <td>
                 <input type="text" name="place"/>
              </td>
            </tr>
            <tr align="center">
                    <td colspan="2">
                        <input type="submit" value="保存" />
                    </td>
                </tr>
                </table>
                </form>
    </body>
    </html>

    add.jsp

    <%@page import="user.teacherDao"%>
    <%@page import="user.teacher"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
        <%response.setCharacterEncoding("UTF-8");%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <%
        request.setCharacterEncoding("utf-8"); 
        String username=request.getParameter("username");
        String teacher=request.getParameter("teacher");
        String place=request.getParameter("place");
        if(username==null||"".equals(username.trim())){
            request.setAttribute("error", "课程名称不能为空!");
            %>
            <jsp:forward page="addinput.jsp"></jsp:forward>
         <%
        }
        if(teacher==null||"".equals(teacher.trim())){
             request.setAttribute("error1", "任课教师不能为空!");
             %>
             <jsp:forward page="addinput.jsp"></jsp:forward>
          <%
         }
        if(place==null||"".equals(place.trim())){
             request.setAttribute("error2", "上课地点不能为空!");
             %>
             <jsp:forward page="addinput.jsp"></jsp:forward>
          <%
         }
        if(!("王建民".equals(teacher.trim())||"刘立嘉".equals(teacher.trim())||"刘丹".equals(teacher.trim())||"王辉".equals(teacher.trim())||"杨子光".equals(teacher.trim())))
        {
            request.setAttribute("error3", "任课教师超出范围!");
            %>
            <jsp:forward page="addinput.jsp"></jsp:forward>
            <%
        }
        if(!(place.startsWith("基教")||place.startsWith("一教")||place.startsWith("二教")||place.startsWith("三教")))
        {
            request.setAttribute("error4", "上课地点超出范围!");
            %>
            <jsp:forward page="addinput.jsp"></jsp:forward>
            <%
        }
        teacher tea=new teacher();
        tea.setUsername(username);
        tea.setTeacher(teacher);
        tea.setPlace(place);
        teacherDao user=new teacherDao();
        user.baocun(tea);
        %>
        <jsp:forward page="success.jsp"></jsp:forward><% 
    %>
    </html>

    success.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>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>保存成功</title>
    </head>
    <body>
    保存成功!!<br>
        <a href="addinput.jsp">继续保存</a><br>
    </body>
    </html>

    运行结果:

     

     

    项目计划日志:

    时间记录日志:

    缺陷记录日志:

  • 相关阅读:
    BEC listen and translation exercise 16
    BEC listen and translation exercise 15
    BEC listen and translation exercise 14
    PyQt(Python+Qt)学习随笔:toolButton的popupMode属性
    PyQt(Python+Qt)学习随笔:实现toolButton与Action的关联
    PyQt(Python+Qt)学习随笔:Qt Designer中连接Action和槽函数
    PyQt(Python+Qt)学习随笔:Qt Designer中怎么给toolBar添加按钮
    PyQt(Python+Qt)学习随笔:快速理解Qt 中Action是什么
    PyQt(Python+Qt)实战:使用QCamera、QtMultimedia等实现摄像头拍照
    第15.13节 PyQt(Python+Qt)入门学习:Qt Designer的Spacers部件详解
  • 原文地址:https://www.cnblogs.com/chch157/p/7911360.html
Copyright © 2011-2022 走看看