• 高校社团管理系统jsp和javabean开发


    目 录
    1.前言 7
    1.1问题定义 7
    1.2系统功能简介 7
    1.3主要相关技术及软件介绍 7
    1.3.1jsp技术介绍 7
    1.3.2JavaBean的介绍 8
    1.3.3 Derby数据库的介绍 9
    1.3.4Macromedia Dreamweaver 8软件简介 9
    1.3.5Web服务器Tomcat介绍 11
    1.3.6B/S模式 11
    1.4系统运行环境 12
    1.5各章内容简介 12
    2.可行性报告 13
    2.1 可行性研究的前提要求 13
    2.2 可行性分析 13
    3.需求规格说明 14
    3.1系统性能需求分析 14
    3.1.1 数据负荷需求 14
    3.1.2 适应性需求 14
    3.2 功能需求分析 14
    3.3 数据需求分析 15
    3.3.1 数据流图 15
    3.3.2 项目需求 15
    4.总体设计说明 16
    4.1 网页总体结构设计 16
    4.1.1 功能模块分析与设计 16
    4.2 数据库模型总体设计 17
    4.2.1 数据概念结构设计——E-R图 17
    4.2.2数据逻辑结构设计——关系模式 18
    5.详细设计说明 19
    5.1数据库详细设计 19
    5.2 Web网页详细设计 21
    5.2.1 登陆的设计与实现 21
    5.2.2 毕业生登陆子系统的设计与实现 27
    5.2.3 管理员登陆子系统的设计与实现 33
    5.2.4 操作数据库的通用模块设计与实现 34
    6.代码调试 37
    7.系统评价及个人总结 37
    7.1 系统的特色 37
    7.2 系统存在的不足和其他建议方案 38
    7.2.1 系统存在的不足 38
    7.2.2 其他建议方案 38
    7.3 个人总结 38
    结 论 40
    参 考 文 献 41
    3.需求规格说明
    根据第2章所定义的课题研究方向及目标,本章将对系统功能进行需求分析,具体分析高校社团信息系统实现的功能。
    3.1系统性能需求分析
    3.1.1 数据负荷需求
    由于学校中大部分电脑都是Windows操作系统,而且大部分的学生都接入了校园网,但是电脑的配置参差不齐。据此,本系统在设计时采用Browser/Server结构,一方面是便于维护;另一方面降低系统开发的成本。
    因此,数据负荷需求具体分为2个部分,一个是浏览器端的数据负荷,另外一个是服务器端的数据负荷。浏览器端的数据负荷较轻,没有具体的要求;服务器端的数据负荷负荷较重,有必要添加数据存储服务器,以防止发生服务器“崩溃”等问题而产生的不良影响。
    3.1.2 适应性需求
    能使用户操作简单易学容易上手,条理清晰,界面友好。
    3.2 功能需求分析
    系统有管理员和学生这两种身份,学生能够注册该系统(包括用户名和密码),并在系统内部的个人信息页面修改和完善个人的信息,包括用户名,性别,所在学校,联系电话,email和个人描述等;管理员可以看到人员信息和社团信息。
    因此,高校社团信息系统为应该具有如下功能:
    提供用户注册:学生能够注册该系统(包括用户名和密码),并在系统内部的个人信息页面修改和完善个人的信息,包括用户名,性别,所在学校,联系电话,email和个人描述等;
    登录:注册完之后用户可以用在注册时使用的用户名和密码登录;
    个人信息:修改和完善个人的信息,包括用户名,性别,所在学校,联系电话,email和个人描述等;
    我的社团:显示的是我参与的社团和我创建的社团;
    加入的社团:当前可以加入的的社团;
    参加活动:当前可以参加的活动;
    管理员登录:进行成员管理和社团管理。
    3.3 数据需求分析
    3.3.1 数据流图
    数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图。
    本系统的主要数据流图如图3所示。
    在这里插入图片描述

    图3 顶级数据流图
    3.3.2 项目需求
    社团和社团活动离不开学生的参与,而学生的时间和精力是有限的,想要知道有什么社团和社团的具体活动并不容易,可能需要相关的社团负责人通过例如派送传单等的方式来宣传,效果不佳而且浪费人力和财力。
    这个系统,可以实现学生注册、登录、创建社团、发布社团活动和管理个人的信息等的功能,同时系统的管理员可以管理社团和社团的人员。这样,学生就可以方便快捷地知道当前自己加入的社团和系统发布的社团活动自己能否参与,及时地知道社团的动态,就像我们手机随手刷刷朋友圈一样方便,极大地节省了大家的时间的同时,可以使学校的社团和社团活动得到有效的管理,在这样的背景下开发一个高校社团信息系统是很有必要的。
    由于在校大学生的生活需要,学生一定会参与社团和社团的活动的,如果有一个管理社团的系统,学生就可以很方便地知道自己参与的社团和社团活动,同时还可以创建自己的社团,而且可以实时地知道我们的社团动态。
    4.总体设计说明
    系统结构设计是从计算机实现的角度出发,对系统的逻辑结构进行组合,使其界面更加清楚和明确,并在此基础上,将系统进一步逐层分解,直至分解到模块。其基本思想是:将系统模块化,即把一个系统自上而下逐步分解为若干个彼此独立而又有一定联系的组成部分。
    因此在设计过程中,系统的划分遵循如下原则:
    (1)子系统要具有相对独立性。也就是说要把相对独立的事务处理过程作为一个子系统,这样子系统才具有较高的内聚性,与其它的系统的祸合性也较弱,便于系统的开发、使用及日后系统的维护。
    (2)子系统的划分结果应使数据的冗余度最小。应避免部分数据在多个子系统中出现,尤其是修改,以保证系统的安全性、可靠性和数据的一致性。
    (3)子系统的划分应能满足社团管理的需要,功能应齐全,操作要方便,并为今后的发展留有接口。
    (4)子系统的划分应以社团管理的职能为依据,尽量避免过分依赖于组织机构,以防止机构的变更为系统带来不必要的麻烦。
    由上述分析结合需求分析的实际情况,高校社团信息管理系统的主要用户分为两类:一类是在校的大学生;另一类是社团的负责人。由于是基于web技术和数据库连接,据网页结构划分,整个系统可以分为2个子系统—前台主页和后台主页,另外还有数据库。
    4.1 网页总体结构设计
    根据上述分析,我们划分出网页前台和后台的功能层次图,前台功能主要为在学生、社团和社团活动提供,后台功能为管理员提供。
    4.1.1 功能模块分析与设计
    学生注册:用户注册为学生进行注册。注册登录需要填写用户名、密码等相关信息进行注册,注册并通过审核后方可登录,然后进行相关操作。
    登录:注册完之后用户可以用在注册时使用的用户名和密码登录;
    个人信息:修改和完善个人的信息,包括用户名,性别,所在学校,联系电话,email和个人描述等;
    我的社团:显示的是我参与的社团和我创建的社团;
    加入的社团:当前可以加入的的社团;
    参加活动:当前可以参加的活动;
    后台管理模块:后台模块只有管理员能使用,对网站和信息(社团信息和社团成员信息)维护和管理。

    <%@page import="com.ucs.jsp.register"%>
    <%@page import="java.util.logging.Logger"%>
    <%@page import="java.util.logging.Level"%>
    <%@page import="java.sql.ResultSet"%>
    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <%@page session="true" %>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>首页</title>
            <link rel="stylesheet" type="text/css" href="css/bootstrap.css">
            <link rel="stylesheet" type="text/css" href="css/base.css">
            <link rel="stylesheet" type="text/css" href="css/main.css">
        </head>
        <body>
            <div class="header">
                <div class="header-content">
                    <h1>高校社团管理系统</h1><span class="link"><a href="index.jsp">退出系统</a></span>
                </div>
            </div>
            <div class="wrap">
                <div class="info">
                    <ul class="nav nav-pills nav-stacked">
                       
                        <li><a href="info.jsp">个人信息</a></li>
                        <li><a href="myclub.jsp">我的社团</a></li>
                        <li><a href="createclub.jsp">创建社团</a></li>
                        <li><a href="joinclub.jsp">加入社团</a></li>
                        <li><a href="joinactivity.jsp">参加活动</a></li>
                    </ul>
                </div>
                <div class="content">
                    <h2></h2>
                    <jsp:useBean id="club" scope="application" class="com.ucs.jsp.register"/>
                    <%
                        String username=(String)session.getAttribute("username");
                        club.getConn();
                        ResultSet rs=null,rs_1=null;
                        try{
                            club.getConn();
                            String sql="select * from clubnotice where clubname in (select clubname from clubowner where username='"+username
                                    +"') or clubname in (select clubname from clubmember where members='"+username+"')";
                            rs=club.executeQuery(sql);
                            rs_1=club.executeQuery(sql);
                            if(!rs.next()){
                                out.print("
    • 暂时没有任何社团动态!
    "
    ); }else{ while(rs_1.next()){ %> <div class="panel panel-success"> <div class="panel-heading"> <h3 class="panel-title">公告&nbsp;&nbsp;<%=rs_1.getString("clubname")%></h3> </div> <div class="panel-body"><%=rs_1.getString("content") %></div> <div class="panel-footer"> <span>发布日期:<%=rs_1.getString("datetime") %></span> </div> </div> <% } } }catch (Exception ex) { Logger.getLogger(register.class.getName()).log(Level.SEVERE, null, ex); } club.dbclose(); %> </div> </div> </body> </html>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    java毕业设计诚越园区垃圾分类信息科普系统Mybatis+系统+数据库+调试部署
    【系统架构设计】 架构核心知识: 2 云原生架构
    React 中利用解构语法 ... 快速方便传递 props 参数
    HTML5期末考核大作业 基于HTML+CSS+JavaScript沪上美食(9页)
    修炼k8s+flink+hdfs+dlink(四:k8s(一)概念)
    B站画质补完计划(3):智能修复让宝藏视频重焕新生
    认知战壳吉桔:认知战战略不是从思潮开始,而在策划!
    解决方案:炼丹师养成计划 Pytorch+DeepLearning遇见的各种报错与踩坑避坑记录(四)
    拓扑关系如何管理?
    黄东旭:开发者的“技术无感化”时代,从 Serverless HTAP 数据库开始 | PingCAP DevCon 2022
  • 原文地址:https://blog.csdn.net/newlw/article/details/128113795