1. 程式人生 > >軟件工程概論課堂測試一————添加新課程(web)

軟件工程概論課堂測試一————添加新課程(web)

.get submit use dex sub ava getclass .com title

設計思想

三個文件Class_add.java add.jsp addInput.jsp

Class_add.java : 內封裝方法:連接數據庫、向數據庫添加課程信息、判斷非合理的輸入情況、判斷添加的課程是否重復。

addInput.jsp : 完成顯示輸入界面,點擊保存後跳轉到addInput.jsp。

add.jsp : 處理輸入的數據,並給出相應的交互提示。

源程序代碼

Class_add.java :

import java.sql.Connection;
import java.sql.DriverManager;
import
java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Classe_add { private String className; private String teacher; private String classSpace; public String getClassName() { return className; } public void setClassName(String className) {
this.className = className; } public String getTeacher() { return teacher; } public void setTeacher(String teacher) { this.teacher = teacher; } public String getClassSpace() { return classSpace; } public void setClassSpace(String classSpace) {
this.classSpace = classSpace; } public Connection getConnection() { try{ Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); }catch(ClassNotFoundException e) { e.printStackTrace(); } String user="SYH"; String password="q735415630q"; String url ="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=Test"; Connection con=null; try{ con=DriverManager.getConnection(url,user,password); }catch(SQLException e) { e.printStackTrace(); } return con; } public void addClass(String className,String teacher,String classSpace ) { int judge=1; Connection connection = getConnection(); String sql="select count(*) from class_add where className = ?"; PreparedStatement preparedStatement=null; ResultSet resultSet=null; try { preparedStatement=connection.prepareStatement(sql); preparedStatement.setString(1, className); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { if (resultSet.getInt(1) > 0) { System.out.println("課程已存在,無法添加") ; judge=0; } } if(judge==1) { sql = "insert class_add (className,teacher,classSpace) values (?,?,?)"; preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1,className); preparedStatement.setString(2,teacher); preparedStatement.setString(3,classSpace); preparedStatement.executeUpdate(); System.out.println("添加成功") ; } } catch (SQLException e) { // TODO 自動生成的 catch 塊 e.printStackTrace(); } finally { close(resultSet); close(preparedStatement); close(connection); } } public void close (Connection con) { try{ if(con!=null) { con.close(); } }catch(SQLException e) { e.printStackTrace(); } } public void close (PreparedStatement preparedStatement) { try{ if(preparedStatement!=null) { preparedStatement.close(); } }catch(SQLException e) { e.printStackTrace(); } } public void close(ResultSet resultSet) { try{ if(resultSet!=null) { resultSet.close(); } }catch(SQLException e) { e.printStackTrace(); } } public boolean judgeInputNull(String className,String teacher,String classSpace) { boolean flag=false; if(className==null||"".equals(className)&&teacher==null||"".equals(teacher)&&classSpace==null||"".equals(classSpace)) { flag=true; } return flag; } public boolean judgeClassRepeat(String className,String teacher,String classSpace) { boolean flag=false; Connection connection = getConnection(); String sql="select * from class_add where className = ?"; PreparedStatement preparedStatement=null; ResultSet resultSet=null; try { preparedStatement=connection.prepareStatement(sql); preparedStatement.setString(1, className); resultSet = preparedStatement.executeQuery(); while(resultSet.next()) { if(teacher.equals(resultSet.getString("teacher"))&&classSpace.equals(resultSet.getString("classSpace"))) { flag=true; } } }catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally { close(resultSet); close(preparedStatement); close(connection); } return flag; } public boolean judeInputTeacher(String teacher) { boolean flag=false; if((!teacher.equals("王建民"))&&!teacher.equals("劉立嘉")&&!teacher.equals("劉丹")&&!teacher.equals("王輝")&&!teacher.equals("楊子光")) { flag=true; } return flag; } public boolean judgeInputClassSpace(String space) { boolean flag=false; if(!space.startsWith("一教")&&!space.startsWith("二教")&&!space.startsWith("三教")&&!space.startsWith("基教")) { flag=true; } return flag; } public static void main(String[] args) { Classe_add a=new Classe_add(); System.out.println(a.judgeClassRepeat("軟件工程", "王建民", "基教405")); } }

addInput.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 background="C:\Users\win8\workspace\Arithmetic\image\d602adc701a429f16a32aac5579f113e_7205982_162234868593_2.jpg">
<center style="color:white;font-family:楷體; font-size:20px">
    <form action="add.jsp" method="get">
        
        <br>
                課程名稱:             
                    <input type="text" name="className" />
                <br><br>
                
                任課教師:               
                    <input type="text" name="teacher" />
                <br><br>
                
                上課地點:
                <input type="text" name="classSpace" />
                <br><br>

                    <input type="submit" value="保存" />
                    <input type="reset" value="重置" />
    </form>
    </center>
</body>
</html>

add.jsp :

<%@page import="util.Classe_add"%>
<%@ 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>Insert title here</title>
</head>
<body>
<jsp:useBean id="util" class="util.Classe_add" scope="page" />
<%

  Classe_add a=new Classe_add();

  String className=(String)request.getParameter("className");
  String teacher=(String)request.getParameter("teacher");
  String classSpace=(String)request.getParameter("classSpace");
  if(util.judgeInputNull(className, teacher, classSpace))
  {
      
      out.print("<script language =‘javaScript‘> alert(‘輸入不能為空,請輸入‘);window.history.back(-1); </script>");
      //response.setHeader("refresh", "0;url=addInput.jsp");
  }
  else if(util.judeInputTeacher(teacher))
  {
      out.print("<script language=‘javaScript‘> alert(‘該老師不存在,重新輸入‘);window.history.back(-1);</script>");
     // response.setHeader("refresh", "0;url=addInput.jsp");
  }
  else if(util.judgeInputClassSpace(classSpace))
  {
      out.print("<script language=‘javaScript‘> alert(‘教室不存在,重新輸入‘);window.history.back(-1);</script>");
      //response.setHeader("refresh", "0;url=addInput.jsp");
  }
  else if(util.judgeClassRepeat(className, teacher, classSpace))
  {
      out.print("<script language=‘javaScript‘> alert(‘該課程已存在‘);window.history.back(-1);</script>");
     // response.setHeader("refresh", "0;url=addInput.jsp");
  }
  else {
      
      util.addClass(className,teacher,classSpace);
      out.print("<script language=‘javaScript‘> alert(‘添加成功‘);</script>");
      response.setHeader("refresh", "0;url=addInput.jsp");
  }

  
%>
</body>
</html>

運行結果截圖

界面:

技術分享圖片

什麽都不輸入:

技術分享圖片

正常輸入;

技術分享圖片

技術分享圖片

重復輸入:

技術分享圖片

技術分享圖片

PSP0級記錄開發過程

項目計劃日誌

技術分享圖片

時間記錄日誌

技術分享圖片

缺陷記錄日誌

技術分享圖片

軟件工程概論課堂測試一————添加新課程(web)