1. 程式人生 > >簡單的課程管理系統

簡單的課程管理系統

語句 分享 page set zone submit 刪除 generate src

本題本質是數據庫與javaweb結合,輔以javabean和servlet。

  (1)增加新課程

.java

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加首頁</title>
</head>
<body>
<form 
id="form1" action="/stumessage/AServlet" method="post" onsubmit="return form1()"> <div> 課程名稱:<input type="text" id="lesson" name="lesson"/> </div> <div> 任課教師:<input type="text" id="teacher" name="teacher"/> </div> <div> 上課地點:
<input type="text" id="classroom" name="classroom"/> </div> <div> <button type="submit" id="sub" value="提交">提交</button> </div> </form> <script type="text/javascript"> function form1(){ var lesson=document.getElementById("lesson
"); var teacher=document.getElementById("teacher"); var classroom=document.getElementById("classroom"); if(lesson.value == ""){ alert("課程名稱不能為空!"); return false; } if(teacher.value == ""){ alert("任課老師不能為空!"); return false; } if(classroom.value == ""){ alert("上課地點不能為空!"); return false; } if(teacher.value != "王建民" && teacher.value != "王輝" && teacher.value != "劉丹" && teacher.value != "劉立嘉" && teacher.value != "楊子光"){ alert("任課老師只能在王建民,王輝,劉丹,劉立嘉,楊子光中選擇!!"); return false; } if(!/^基教/.test(classroom.value) && !/^一教/.test(classroom.value) && !/^二教/.test(classroom.value) && !/^三教/.test(classroom.value)){ alert("上課地點格式錯誤!!只能從基教,一教,二教,三教中選擇!!例:基教201"); return false; } else{ alert("添加成功!"); return true; } } </script> </body> </html>

package stuMessage;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Aservlet
 */
@WebServlet("/Aservlet")
public class Aservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Aservlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("doGet...");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        request.setCharacterEncoding("utf-8"); //1
        response.setContentType("text/html;charset=utf-8"); //2
        response.setCharacterEncoding("utf-8"); //3
        String lesson=request.getParameter("lesson");
        String teacher=request.getParameter("teacher");
        String classroom=request.getParameter("classroom");
        /*
         * 開始連接數據庫
         */
           //驅動程序名
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要訪問的數據庫名mydata
        String url = "jdbc:mysql://localhost:3306/demo01?serverTimezone=GMT%2B8";
        //MySQL配置時的用戶名
        String user = "root";
        //MySQL配置時的密碼
        String password = "wtdWTD727398q";
        //遍歷查詢結果集
        try {
            //加載驅動程序
            Class.forName(driver);
            //1.getConnection()方法,連接MySQL數據庫!!
            Connection con = DriverManager.getConnection(url,user,password);
            if(!con.isClosed())
                System.out.println("Succeeded connecting to the Database!"); 
            PreparedStatement psql;
            //預處理添加數據,其中有兩個參數--“?”
            psql = con.prepareStatement("insert into stumessage (lesson,teacher,classroom) " + "values(?,?,?)");
            psql.setString(1, lesson);              //設置參數1,創建id為3212的數據
            psql.setString(2, teacher);      //設置參數2,name 為王剛
            psql.setString(3, classroom);
            psql.executeUpdate();    
            con.close();
            psql.close();
         }catch(SQLException e) {
             //數據庫連接失敗異常處理
             e.printStackTrace();  
             } catch (Exception e) {
                 // TODO: handle exception
                 e.printStackTrace();
             }finally{
                 System.out.println("數據庫數據成功添加!!");
                 request.getRequestDispatcher("/NewFile.jsp").forward(request,response);
     }
    }

}

運行結果:

 技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

(2)刪除數據

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>刪除首頁</title>
</head>
<body>
<form action="/stumessage/BServlet" method="post">
    課程名稱:<input type="text" id="lesson" name="lesson"/>
    <button type="submit" id="sub" value="提交">提交</button>
</form>
</body>
</html>
package stuMessage;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class Bservlet
 */
@WebServlet("/Bservlet")
public class Bservlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Bservlet() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
         PrintWriter out = response.getWriter();
        request.setCharacterEncoding("utf-8"); //1
        response.setContentType("text/html;charset=utf-8"); //2
        response.setCharacterEncoding("utf-8"); //3
        String lesson = request.getParameter("lesson");
        Scanner sc = new Scanner(System.in);
        //驅動程序名
        String driver = "com.mysql.jdbc.Driver";
        //URL指向要訪問的數據庫名mydata
        String url = "jdbc:mysql://localhost:3306/demo01?serverTimezone=GMT%2B8";
        //MySQL配置時的用戶名
        String user = "root";
        //MySQL配置時的密碼
        String password = "wtdWTD727398q";
        //遍歷查詢結果集
        try {
            //加載驅動程序
            Class.forName(driver);
            Connection con = DriverManager.getConnection(url, user, password);
            if(!con.isClosed())
                System.out.println("Succeeded connecting to the Database!");
            //2.創建statement類對象,用來執行SQL語句!!
            Statement statement = con.createStatement();
            //要執行的SQL語句
            String sql = "select * from stumessage";
            //3.ResultSet類,用來存放獲取的結果集!!
            ResultSet rs = statement.executeQuery(sql);
            PreparedStatement psql;
            psql = con.prepareStatement("delete from stumessage where lesson = ?");
            while(rs.next()) {
                if(lesson.equals(rs.getString("lesson"))) {
                    psql.setString(1, lesson);
                    out.print("<html><head><body>");
                    out.print(rs.getString("lesson")+"&nbsp;&nbsp;&nbsp;"+rs.getString("teacher")+"&nbsp;&nbsp;&nbsp;"+rs.getString("classroom"));
                    out.print("<button type=‘button‘ id=‘sub‘ value=‘提交‘ onclick=‘sub1()‘>刪除</button>");
                    out.print("<script type=‘text/javascript‘>");
                    out.print("function sub1(){");
                    out.print("alert(刪除成功!!)");
                    out.print("}");
                    out.print("</script>");
                    out.print("</body></head></html>");
                    psql.executeUpdate();
                    request.getRequestDispatcher("/NewFile.jsp").forward(request,response);
                    break;
                }else if(rs.isLast()) {
                    request.getRequestDispatcher("/fail.jsp").forward(request,response);
                }
            }
            rs.close();
            con.close();
            psql.close();
        }catch(SQLException e) {
             //數據庫連接失敗異常處理
             e.printStackTrace();  
             } catch (Exception e) {
                 // TODO: handle exception
                 e.printStackTrace();
             }
    }

簡單的課程管理系統