zoukankan      html  css  js  c++  java
  • 课程信息管理系统详细教程

    一、项目要求

    1 、项目需求:
    课程管理是各大院校的管理工作中尤为重视的一项工作,它一直以来是学校管
    理的一项重要的衡量指标。石家庄铁道大学为了提高工作效率,实现信息化管理,
    要求开发课程管理系统。
    2. 系统要求与功能设计
    2.1 页面 功能 要求
    (1)能够在 Tomcat 服务器中正确部署,并通过浏览器查看;(1 分)
    (2)网站页面整体风格统一;
    (3)主页面:要求显示添加新课程、修改课程信息、删除课程信息、查询课程信息四个子菜单。(1 分)
    (4)添加新课程页:(3 分)
    ① 完成添加新课程页面设计,页面内容如下所示(0.5 分)

    ②新课程信息必须唯一,如有重复,提示用户“课程名称重复,重新录入”; (0.5
    分)
    ③要求判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中
    一位。(0.5 分)
    ④要求上课地点开头为“一教、二教、三教、基教”中的一种。(0.5 分)
    ⑤将新课程信息添加入库。(1 分)
    评分标准:
    ①完成添加新课程页面(未完成 0 分,完成 0.5 分)
    ②保存新课程信息入库(未完成 0 分,完成 1 分)
    ③判断课程名称是否唯一(未完成 0 分,完成 0.5 分)
    ④ 判断任课教师为王建民、刘立嘉、刘丹、王辉、杨子光五位教师的其中一位
    (未完成 0 分,完成 0.5 分)
    ⑤判断上课地点开头为“一教、二教、三教、基教”中的一种
    (4)修改课程信息页:可对课程名称、任课教师、上课地点进行修改。(任课
    教师和上课地点必须符合录入要求)。(2 分)
    评分标准:
    ①完成修改课程信息页面(未完成 0 分,完成 0.5 分)
    ② 完成数据库中信息更新(未完成 0 分,完成 1 分)
    ③修改信息判断是否符合要求。(未完成 0 分,完成 0.5 分)
    (5)删除课程信息页:录入课程名称,显示详细信息后,点击“删除”按钮,
    删除该信息。
    评分标准:
    ①完成删除课程信息页面(未完成 0 分,完成 0.5 分)
    ②输入课程名称后可显示其余信息。(未完成 0 分,完成 0.5 分)
    ③对应删除数据库中信息(未完成 0 分,完成 1 分)
    (6)查询课程信息页面:


    输入课程名称、任课教师、上课地点等信息可以实现模糊查询。
    评分标准:
    ①完成查询课程信息页面(未完成 0 分,完成 0.5 分)
    ②实现按照任意条件进行模糊查询。(未完成 0 分,完成 1 分)
    ③结果信息显示包括全部信息。(未完成 0 分,完成 0.5 分,缺少一项扣除 0.5
    分)
    2.2 功能要求
    (1)设计出合理的数据库和数据表,要求使用 mysql、sqlserver、oracle 三
    种数据库中一种(1 分)
    (2)数据库连接正常(1 分)。
    (3)使用 Serverlet 实现页面交互(1 分)。
    (4)使用 Java Bean 封装数据库连接操作(1 分。)

    二、项目分析

    1、数据存储需要数据库,第一个需要掌握的点即数据库的连接及数据库的增删改查

    2、web端的程序必然需要用到jsp界面的设计

    3、Serverlet技术实现不同jsp界面间的传值交互

    三、项目实践

    1、利用数据库可视化工具Navicat建立数据库及数据表

    需要注意的是除了项目中要求的三个数据之外,还要添加一个int型的ID属性并且设置为主键,目的是为了之后传值、查询、修改的方便

    2、使用Javabean进行数据库的连接;

    import java.sql.DriverManager;
    public class Connection {
        
        public java.sql.Connection getCon() {
            try {
                Class.forName("com.mysql.jdbc.Driver");
                String url="jdbc:mysql://localhost:3306/classmanager?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true";
                String user="root";
                String password="******";
                java.sql.Connection conn= DriverManager.getConnection(url, user, password);
                  return conn;
            }catch(Exception e) {
                e.printStackTrace();
                return null;
            }
        }
    }

    其中“******”是mysql数据库密码

    2、要建立一个实体类来接收数据

    package classInfo;
    
    public class classInfo {
    private String classname;
    private int id;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    private String classteacher;
    private String classwhere;
    public String getClassname() {
        return classname;
    }
    public void setClassname(String classname) {
        this.classname = classname;
    }
    public String getClassteacher() {
        return classteacher;
    }
    public void setClassteacher(String classteacher) {
        this.classteacher = classteacher;
    }
    public String getClasswhere() {
        return classwhere;
    }
    public void setClasswhere(String classwhere) {
        this.classwhere = classwhere;
    }
    
    }

    3、使用javabean进行数据库的操作实现增删改查;

    package classService;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import classInfo.classInfo;
    
    
    
    
    public class classService {
        private Connection conn;
        private java.sql.PreparedStatement pstmt;
        public classService() {
            conn=new connection.Connection().getCon();
        }
        public boolean addCla(classInfo cla){
            try {
                pstmt=conn.prepareStatement("insert into class"+"(classname,classteacher,classwhere)"+"values(?,?,?)");
                pstmt.setString(1, cla.getClassname());
                pstmt.setString(2, cla.getClassteacher());
                pstmt.setString(3, cla.getClasswhere());
                pstmt.executeUpdate();
                return true;
            } catch (SQLException e) {
                e.printStackTrace();
                return false;
            }
        }
        
        public ArrayList queryAllCla() {
            ArrayList clas=new ArrayList();
            try {
                pstmt=conn.prepareStatement("select * from class");
                ResultSet rs=pstmt.executeQuery();
                while(rs.next()) {
                    classInfo cla=new classInfo();
                    cla.setId(rs.getInt(1));
                    cla.setClassname(rs.getString(2));
                    cla.setClassteacher(rs.getString(3));
                    cla.setClasswhere(rs.getString(4));
                    clas.add(cla);
                }
                return clas;
            }
            catch(SQLException e) {
                e.printStackTrace();
                return null;
            }
        }
        public boolean updateCla(classInfo cla) {
            try {
                pstmt=conn.prepareStatement("update class set classname=?,classteacher=? ,classwhere=? where id=? ");
                pstmt.setString(1, cla.getClassname());
                pstmt.setString(2, cla.getClassteacher());
                pstmt.setString(3, cla.getClasswhere());
                pstmt.setInt(4, cla.getId());
                pstmt.executeUpdate();
                return true;
            }catch(Exception e) {
                e.printStackTrace();
                return false;
            }
        }
        public classInfo queryclaByid(int id) {
            try {
                pstmt=conn.prepareStatement("select * from class where ID=?");
                pstmt.setInt(1, id);
                ResultSet rs=pstmt.executeQuery();
                if(rs.next()) {
                    classInfo cla=new classInfo();
                    cla.setId(rs.getInt(1));
                    cla.setClassname(rs.getString(2));
                    cla.setClassteacher(rs.getString(3));
                    cla.setClasswhere(rs.getString(4));
                    return cla;
                }
                return null;
            }
            catch(SQLException e) {
                e.printStackTrace();
                return null;
            }
        }
        public boolean deleteCla(int id) {
            try {
                pstmt=conn.prepareStatement("delete from class where ID=?");
                pstmt.setInt(1, id);
                pstmt.executeUpdate();
                return true;
            }catch(Exception e) {
                e.printStackTrace();
                return false;
            }
        }
        
    }

    3、利用HTML、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>Insert title here</title>
    </head>
    <frameset rows="10%,*">  
    <frame src="top.jsp">
    <frameset cols="10%,*">
    <frame src="main_lift.jsp">
    <frame src="main_right.jsp" name="main_right">
    </frameset>
    </frameset>
    <body>
    </body>
    </html>
    <%@ 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>
    
    <a href="inputclassinfo.jsp" target="main_right" >课程信息录入</a><br/>
    <a href="modifyclainfo.jsp" target="main_right"  >课程信息修改</a><br/>
    <a href="deleteclainfo.jsp" target="main_right"  >删除课程信息</a><br/>
    <a href="displayclainfo.jsp" target="main_right" >查询学生信息</a><br/>
    
    </body>
    </html>
    <%@ 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>
    
    </body>
    </html>
    <%@ 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>
    <style type="text/css">
    .mytxt:focus {
         border: 1px solid #fafafa;
        -webkit-box-shadow: 0px 0px 6px #007eff;
         -moz-box-shadow: 0px 0px 5px #007eff;
         box-shadow: 0px 0px 5px #007eff;   
        
    }
    </style>
    </head>
    <body>
    <form action="inputclassinfo_result.jsp" method="post">
    <table>
    <tr>
          <td  align="center"   colspan="2">课程信息录入</td></tr>
    <tr>
    <tr>
          <td>课程名称</td>
          <td><input type="text" size=20 name="classname" class="mytxt"/></td>
    </tr>
    <tr>
       <td>任课教师</td>
    <td><select name="classteacher" class="mytxt">
        <option>刘力嘉</option>
        <option>刘丹</option>
        <option selected="selected">王建民</option>
        <option>王辉</option>
         <option>杨子光</option>
        </select> </td>
    </tr>
    <tr>
        <td>上课地点</td>
        <td> 
           <select name="classwhere" class="mytxt">
           <option>一教</option>
           <option>二教</option>
           <option>三教</option>
           <option selected="selected">基教</option>
        </select> 
       </td>
    </tr>
    <tr>
    <td align="center" colspan="2">
    <input type="submit" value="保存">
    <input type="reset" value="重置">
    </tr>
    </table>
    </form>
    </body>
    </html>
    <%@ 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>
    <% request.setCharacterEncoding("utf-8"); %>
    <jsp:useBean id="cla" class="classInfo.classInfo"></jsp:useBean>
    <jsp:setProperty property="*" name="cla"/>
    <jsp:useBean id="claSer" class="classService.classService"></jsp:useBean>
    <%
    if(claSer.addCla(cla)){
        out.print("success!!");
    %>
    <script >
    alert("课程信息录入成功!");
    </script>
    <%
    }else{
        out.print("error");
        %>
    <script >
    alert("课程信息录入失败!");
    </script>
        <%
    }%>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
        <%@page import="classInfo.classInfo"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
    <!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="cla" class="classService.classService"></jsp:useBean>
    <%
    ArrayList clas=cla.queryAllCla();
    //out.print(stus.size());
    Iterator iter=clas.iterator();
    %>
    <table>
    <tr> 
      <td>课程名称</td>
      <td>任课教师</td> 
      <td>上课地点</td>
    </tr>
    
    <%
    int i=0;
    while(iter.hasNext())
    {
        classInfo classx=(classInfo)iter.next();
        %>
        <tr <%if(i%2==0){ %>bgcolor="#F0F8FF"<%} %>>
        <td> <%=classx.getClassname() %></td>
        <td> <%=classx.getClassteacher() %></td>
        <td> <%=classx.getClasswhere()%></td>
        <td> <a href="modifyOnecla.jsp?id=<%=classx.getId()%>">修改</a></td>
        
        </tr>
        <%
        i++;
    }
    %>
    </table>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
         <%@page import="classInfo.classInfo"%>
    <!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="cla" class="classService.classService"></jsp:useBean>
    <%
    int id=Integer.parseInt(request.getParameter("id"));
    classInfo classx=cla.queryclaByid(id);
    %>
    <form action="modifyOnecla_result.jsp" method="post">
    <table>
    <tr><td colspan="2">修改课程信息</td></tr>
    <tr>
          <td>课程名称</td>
          <td><input type="text" name="classname" value=""/></td>
    </tr>
    
    <tr>
       <td>任课教师</td>
    <td>
        <select name="classteacher">
       <option <%if(classx.getClassteacher().equals("刘丹")){ %> selected="selected"<%} %>>刘丹</option>
       <option <%if(classx.getClassteacher().equals("刘力嘉")){ %> selected="selected"  <%} %>>刘力嘉</option>
       <option <%if(classx.getClassteacher().equals("王建民")){ %> selected="selected"  <%} %>>王建民</option>
       <option <%if(classx.getClassteacher().equals("王辉")){ %> selected="selected"  <%} %>>王辉</option>
        <option <%if(classx.getClassteacher().equals("杨子光")){ %> selected="selected"  <%} %>>杨子光</option>
       </select>     
    </td>
    </tr>
    <tr>
       <td>上课地点</td>
    <td>
        <select name="classwhere">
         <option <%if(classx.getClasswhere().equals("一教")){ %> selected="selected"<%} %>>一教</option>
         <option <%if(classx.getClasswhere().equals("二教")){ %> selected="selected"<%} %>>二教</option>
         <option <%if(classx.getClasswhere().equals("三教")){ %> selected="selected"<%} %>>三教</option>
         <option <%if(classx.getClasswhere().equals("基教")){ %> selected="selected"<%} %>>基教</option>
       </select>     
    </td>
    </tr>
    
    <tr>
    <td align="center" colspan="2">
    <input type="submit" value="提交">
    <input type="reset" value="重置">
    <input type="hidden" name ="id" value="<%=classx.getId()%>">
    </tr>
    </table>
    </form>
    </body>
    </html>
    <%@ 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>
    <%request.setCharacterEncoding("utf-8"); %>
    <jsp:useBean id="cla" class="classInfo.classInfo"></jsp:useBean>
    <jsp:setProperty property="*"  name="cla" />
    <jsp:useBean id="claSer" class="classService.classService"></jsp:useBean>
    
    <%
    if(claSer.updateCla(cla)){
        out.print("success");
    %>
    <script >
    alert("课程信息修改成功!");
    </script>
    <%
    }else{
        out.print("error");%>
        <script >
    alert("课程信息修改失败!");
    </script>
        <%}
    %>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
        <%@page import="classInfo.classInfo"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
    <!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="cla" class="classService.classService"></jsp:useBean>
    <%
    ArrayList stus=cla.queryAllCla();
    //out.print(stus.size());
    Iterator iter=stus.iterator();
    %>
    <table>
    <tr> 
      <td>课程名称</td>
      <td>任课教师</td> 
      <td>上课地点</td>
    </tr>
    
    <%
    int i=0;
    while(iter.hasNext())
    {
        classInfo classx=(classInfo)iter.next();
        %>
        <tr <%if(i%2==0){ %>bgcolor="#F0F8FF"<%} %>>
        <td> <%=classx.getClassname() %></td>
        <td> <%=classx.getClassteacher() %></td>
        <td> <%=classx.getClasswhere()%></td>
        </tr>
        <%
        i++;
    }
    %>
    </table>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@page import="classInfo.classInfo"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
    <!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="cla" class="classService.classService"></jsp:useBean>
    <%
    ArrayList stus=cla.queryAllCla();
    //out.print(stus.size());
    Iterator iter=stus.iterator();
    %>
    <table>
    <tr> 
      <td>课程名称</td>
      <td>任课教师</td> 
      <td>上课地点</td>
    </tr>
    
    <%
    int i=0;
    while(iter.hasNext())
    {
        classInfo classx=(classInfo)iter.next();
        %>
        <tr <%if(i%2==0){ %>bgcolor="#F0F8FF"<%} %>>
        <td> <%=classx.getClassname() %></td>
        <td> <%=classx.getClassteacher() %></td>
        <td> <%=classx.getClasswhere()%></td>
        <td> <a href="deleteOnecla.jsp?id=<%=classx.getId()%>">删除</a></td>
        </tr>
        <%
        i++;
    }
    %>
    </table>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@page import="classInfo.classInfo"%>
    <%@page import="java.util.Iterator"%>
    <%@page import="java.util.ArrayList"%>
    <!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="claSer" class="classService.classService"></jsp:useBean>
    <%
    int id=Integer.parseInt(request.getParameter("id"));
    classInfo classx=claSer.queryclaByid(id);
    if(claSer.deleteCla(id)){
        out.print("success!!");
        %>
        <script >
    alert("课程信息删除成功!");
    </script>
        <% 
        }else{
        out.print("false");
        %>
    <script >
    alert("课程信息删除失败!");
    </script>
        <%
    }%>
    
    </body>
    </html>

    注意:每段代码都是一个JSP页面

    这只是我的一点见解,可能存在不足,还请大牛们指教!

  • 相关阅读:
    [NetworkFlow]网络流建模相关
    最全Linux 与 Linux Windows 文件共享
    民意调查Django实现(三)
    DirectX11 学习笔记8
    HDU 5294 Tricks Device(多校2015 最大流+最短路啊)
    javascript对象
    Web Service学习-CXF开发Web Service的权限控制(二)
    1215-Cannot add foreign key constraint
    Tomcat使用IDEA远程Debug调试
    OC基础回想(十二)协议
  • 原文地址:https://www.cnblogs.com/KYin/p/10092162.html
Copyright © 2011-2022 走看看