基于java会议管理系统设计(含源文件)

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye

一 绪论
1.1 本课题的开发背景及意义
当今社会竞争日益激烈,企事业单位内部会议也不断增多,会议信息量也逐渐增大。企业公司内部需要经常通过会议进行沟通、问题解决以及决策的制定。而现在企事业的会议管理工作繁重且处于无系统流程的状态。手工作业效率很低,不便于管理,而且容易出错。
据调查,经理级和专业人员每周约花1/4的时间在开会上。美国权威机构的统计表明,1996年美国企业因不当的会议管理导致的损失高达60亿美圆。另一项调查表明,企业80%的员工提升来源于其在会议上的表现引起上司的注意和赏识。因此如何开会,如何使会议有效益和有效率,对于企业和企业人来说,都具有重要的意义。
有效的会议管理,是有用的管理工具,他能达到高效的沟通意见,作出好的决议,使执行者认同,共同努力达成企业战略目标,它的重要性呈现在行动管理、目标管理、和技术管理上。
会议信息的有效传达和反馈对于企事业决策者的管理来说至关重要。所以会议管理系统应该能成为会议管理者提供高效的查询和管理方法的帮手。但长期以来人们使用传统的人工方法发布会议信息,整理会议记录,查询会议记录。这种方法存在着许多缺点:如会议记录查询,会议管理者就必须在大量的会议记录资料中,按照会议召开的时间整理。这对管理者和用户来说,都是一种负担,工作效率低下,且很容易出错,保密性也差。随着计算机技术的发展,以及计算机在企事业单位中应用的普及,计算机强大的功能已为人们深刻认识。它在当今社会各个领域发挥着越来越重要的作用。作为计算机应用软件开发的一部分,使用计算机对会议进行管理具有手工管理无法比拟的优点。例如:查找方便迅速,准确率高,成本低,效率高等。这些优点能极大提高会议管理的效率。也是企事业走向科学化,正规化管理的重要手段。因此,开发这样一个管理系统成为一件很必要的事情。
会议是一个集思广益的渠道,会议是一个集合的载体。通过会议使不同的人、不同的想法汇聚一堂,相互碰撞,从而产生“金点子”。许多高水准的创意就是开会期间产生的。我国是个民主的国家,政府对任何事件做出的决策都是经过召开会议才能做出决定。构建网上政府、实施电子政务首先要建立起政府的会议信息管理机制。虽然当前软件行业里的OA系统也包括了会议信息管理的功能,但OA系统直接面对办公室事务,这又是对信息化最具有挑战性的工作,所以OA系统的成功运用,需要克服许多困难。具体表现为投资大、效果不明显;水平低、重复建设多;硬件投入多、软件投入少;模拟手工作业增加管理负担等。 从OA系统的模块设计中可以看出,会议管理模块是完全可以孤立于0A系统的,而且对会议管理扩展的机会很少。从经济和效益的角度来考虑,会议管理系统完全可以自成一系统。
1.2 课题的研究内容
 本课题主要应用JSP编程、WEB开发以及数据库链接等相关知识。主要需要熟练掌握动态网页开发的相关技术,将所学的知识用于实际的生活中,并且在实际的生活中发挥各方面的效益。
会议文献管理系统的用户使用本系统进行会议管理,能够感到方便,系统操作简单,功能基本符合其会议管理要求。
这个毕业设计的最终目标是设计、实现一个功能完善的小型会议文献管理系统。这篇论文我主要先对课题做简要的介绍,然后介绍了开发本系统所用到的新技术,接着对整个系统进行系统需求分析设计、系统概要设计、系统详细设计,最后演示完整的系统。
1.3 论文组织结构
此论文分为六大章节。
1 主要简介了本课题的开发背景、课题研究内容;
2 对课题进行相关的需求分析,为系统设计做基础;
3 详细介绍了系统数据库的设计与和功能模块;
4 进入课题实现详细设计课题各模块功能;
5 总结本次设计。


二 需求分析
2.1 可行性分析
可行性分析是建立在用户的要求和系统调研的基础上进行的,对一个新系统的开发从社会、技术、经济、管理等几个方面进行分析,并得出新系统的开发工作可行、不可行、需要修改、追加投资、暂缓开发、分步实施等方案和结论,最后完成可行性分析。
可行性分析一般可定义为:可行性分析是在建设的前期对工程项目的一种考察和鉴定,对拟议中的项目进行全面与综合的技术、经济能力、管理方面的调查,判断它是否可行。
可行性分析阶段的主要工作包括以下几个方面:
   (1)技术上可行:技术可行性分析是根据新系统的目标来衡量是否具备所需要的技术,包括系统开发人员数量和水平,硬件方面,软件方面及其它应用技术。而该系统所需硬件设备多台PC机,现行市场上销售且价格较低,甚至可以使用原有的设备。软件上,现阶段无论是用PHP技术、JSP技术、或者是.NET技术都可以完美的实现会议管理系统的编制,而目前存在的各种网络终端服务器都可运用于该系统,本系统利用网络流行的网站构架方式Tomcat+SQL SERVER2005+JSP,使用Tomcat作为Web服务器,SQL SERVER 作为数据库,JSP作为服务器端脚本解释器。因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。因此在技术上是可行的。
   (2)经济上可行:经济可行性分析主要是对开发新系统所投入的资金与系统投入使用后所带来的经济效益进行比较,确认新系统是否会给企业带来一定的经济效益。从本系统的开发和效益关系上讲,本系统是用开源免费的Tomcat开发不需要花费太多的经费。因为本系统的开发不需要大量的开发人员,从而减少了工资费用以及管理维护人员。因此,从经济可行性上来讲,是可行的。
   (3)管理上可行:管理可行性分析主要是分析企业现行的管理体制和企业领导是否具有现代化的管理意识和管理水平。由于企业会议越来越多,会议资料、记录、查询和发布的工作繁重,大家积极支持开发新系统客户。因此在管理上可行。
   (4)操作上可行性:操作可行性分析主要是分析操作人员是否能容易接受系统操作。该系统在操作上是很简单的。只许输入操作员名和密码就可以进入主界面,然后在根据客户自己的要求去对系统进行相应的操作就可以了,操作十分简单。因此该系统在操作上是可行的。
综上所述,开发客户管理系统在技术上、经济上、管理上、操作上都是切实可行的。
2.2用户需求
企业管理者经常采用的一种团队沟通方式,如果利用得好,会极大地提高企业管理的效率。可是经常发生的情况是,有些企业的领导整天疲于应付各种会议,淹没于文山会海中,可是没有解决的问题题仍然一大堆,会议的效率十分低下。针对这种情况,有必要对会议低效的原因进行分析,并为提高会议的效率提出改进的对策。随着计算机技术的发展,以及计算机在企事业单位中应用的普及,计算机强大的功能已为人们深刻认识。它在当今社会各个领域发挥着越来越重要的作用。作为计算机应用软件开发的一部分,使用计算机对会议进行管理具有手工管理无法比拟的优点。因此,开发这样一个管理系统成为一件很必要的事情。
作为计算机应用的一部分,使用计算机对会议文献信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高企事业单位会议文献信息管理的效率,也是一个单位的科学化、正规化管理,与世界接轨的重要条件。
    通过对一些高校及企事业单位会议资料的查阅,以及现行公司的一些会议要求,整理出会议文献信息管理系统的运作流程,并对该流程进行了分析,得出如下的需求分析,本例以高校会议文献管理为例:
(1)一周会议安排。实现校内教职工了解校内会议安排信息,实现校内会议信息的网络化。同时这个模块也是管理员及用户的登陆界面。
(2) 管理员会议文献管理。包括一周会议安排管理,会议文献信息管理,用户信息管理。
(3)用户对会议文献的检索。包括个人资料的修改,会议文献检索,实现对校内一周会议安排的查看。
三 系统设计
在项目设计阶段,要明确系统开发环境、数据库以及它们之间的关系。数据模式的确定是应用程序开发以及接口设定的前提。如果开发过程中,发现数据库需要修改会对已设计完的模块有影响。甚至重新设计模块,所以数据库的设计非常重要。
3.1 数据库设计
为了把系统数据清晰的表达出来,通常需要建立概念模型。实体-联系方法是最常用来表示概念模型的。这种方法用E-R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称为E-R模型。E-R图用三种符号:实体、属性和联系。
通过对系统分析,可以提取以下几个实体:用户信息、会议信息、单位名称、星期名称。
    3.1.1数据库概念结构设计

 图3.1 用户信息实体图


图3.2 单位名称实体图

图3.3 星期名称实体图

                           
图3.4 会议文献信息实体图
  

    n


                   n   


图3.5 实体ER图

3.1.2数据库物理设计
数据库是数据库应用程序的核心。在该系统中,数据库中设计了4张表。
(1) 用户会员结构表usertable,其中为管理员唯一分配了一个用户名是:admin,用户可以通过注册添加信息,并在用户界面修改信息, 如表3.1所示:
表3.1 用户会员结构表
名称    数据类型    注释
u_id    整型    用户唯一ID
u_name    字符数据类型    用户名
u_password    字符数据类型    用户密码
name    字符数据类型    用户真实姓名
u_sex    字符数据类型    用户性别
u_borthday    字符数据类型    出生日期
u_zhiwu    字符数据类型    职务
u_danwei    字符数据类型    单位
u_phone    字符数据类型    电话号码
u_email    字符数据类型    电子邮箱
u_address    字符数据类型    地址
(2) 会议信息结构表meet,管理员拥有操作权限,可以添加、修改和删除表中信息,用户可以查询操作,如表3.2所示:
 表3.2 会议信息结构表
名称    数据类型    注释
id    整型    会议ID
year    字符数据类型    会议年
month    字符数据类型    会议月
day    字符数据类型    会议日
week    字符数据类型    会议星期
time    字符数据类型    会议时间
place    字符数据类型    会议地点
text    字符数据类型    会议主要内容
people    字符数据类型    会议出席对象
danwei    字符数据类型    会议主管部门
manager    字符数据类型    主管领导
detail    字符数据类型    会议文献资料
fabu    逻辑类型    发布标记
(3) 星期表week,此表的数据只有星期一到星期天的文字,对系统来说此表仅仅是为了下拉列表的获取方便,无实际必要性。
表3.3 星期名称表
名称    数据类型    注释
week    字符数据类型    星期
(4) 单位列表danwei,此表的数据只有各个部门名称,对系统来说此表仅仅是为了下拉列表的获取方便,无实际必要性。
表3.4 单位列表
名称    数据类型    注释
danwei    字符数据类型    单位名称
3.2系统功能设计
   3.2.1系统功能概要模块设计
    会议文献管理系统由一周会议安排模块、管理员模块、用户对个人信息及会议文献检索模块组成。具体如下:
一周会议安排模块
(1)校内一周会议安排的信息,实现校内教职工了解校内会议安排信息,实现校内会议信息的网络化。
(2)同时这个模块也是管理员及用户的登陆界面。
管理员会议管理模块
(1)一周会议安排管理:实现一周会议的发布。
(2)会议文献信息管理:实现会议文献的添加、删除、修改,以及检索。
(3)用户信息管理:实现用户信息的删除、修改、增加以及检索。
用户管理模块
(1)个人资料:实现个人资料的修改。
(2)会议文献检索:实现通过会议是在哪年召开的,以及是在哪月召开的,以及会议的主管部门的联合检索。
(3)一周会议安排:实现对校内一周会议安排的查看。
图3.6系统主要模块

3.2.2系统功能特点
(1)操作简单,界面友好:设计成为控制面板的布局,使用户在登陆后主要的操作直接在控制面板上操作,简单明了。 
(2)即时处理:对会议计划安排和会议信息的管理(包括添加,修改和删除)在操作后,在客户端的用户即时可以查询最新信息,用户的操作也可以即时的反给在系统管理员。
(3)功能完善:包括会议发布,修改,删除和最新会议安排和已召开会议记录查询。对于不同权限的用户其对系统的使用都会有相应的限制。管理员则只能管理本部门内部会议。普通员工可以分别按照已召开时间和会议内容的关键字,迅速查询出相关会议和管理自己的用户信息并查看留言板。

四 系统的实现
本章主要介绍系统功能各模块的实现,是这次设计中最为重要的一个环节,通过对各子模块的设计、组合,从而达到需求中的效果。
4.1 校内会议平台以及用户登录的实现
用户进入登陆index.jsp,这里有着校内一周会议安排信息,方便校内各教职工了解最近一周 会议动态。另外这里也是用户登录界面。
主要实现代码如下:
            <div id="templatemo_content">
                <div id="templatemo_content_left">
                    <div id="templatemo_table1">
                        <table  cellspacing="1" cellpadding="5" class="meeting-table">
    <caption style="font-size: x-large;text-shadow: green;color: green;margin-bottom: 15px">2011-2012 学年,一周会议动态</caption>
    <br/>
    <tr class="tr">
        <th height="10"><a>日期</a>    </th>
        <th><a>星期</a>    </th>
        <th><a>时间</a>    </th>
        <th><a>地点</a>    </th>
        <th><a>会议内容</a></th>
        <th><a>出席对象</a></th>
        <th><a>主办部门</a></th>
        <th><a>主管领导</a></th>
        <th><a>会议文献信息</a></th>
    
    </tr>
    <%
    for(int i=0;i<list.size();i++){
        MeetInfo info = (MeetInfo)list.get(i);
        if("1".equals(info.getFabu())){
    %>
    <tr>
    <td height="10" width="100"><%=info.getYear()%>年<%=info.getMonth() %>月<%=info.getDay()%>日</td>
    <td width="50"><%=info.getWeek() %></td>
    <td width="50"><%=info.getTime() %></td>
   <td><%=info.getPlace() %></td>
    <td width="70"><%=info.getContent() %></td>
    <td width="50"><%=info.getPeople() %></td>
    <td width="70"><%=info.getDanwei() %></td>
    <td width="50"><%=info.getManager() %></td>
    <td><div id="hidden"><%=info.getDetail() %></div></td> 
    </tr>
    <%}} }%>
    </table>
    </div>
                    
       </div><!-- End Of Content Left-->
           <div id="templatemo_content_right">
                    <div class="templatemo_section">
                        <div class="templatemo_section_1_top">
                            登录
                        </div>
                        <div class="templatemo_section_1_mid">
                            <div class="templatemo_form">
                                <form method="post" action="yanzhengAction">
                                    <div class="templatemo_label">
                                         <label>用户名 :</label>
                                        <label>密码 :</label>
                        </div>
                            <div class="templatemo_textboxes">
                                        <input name="u_name" value="admin" type="text" οnfοcus="clearText(this)" οnblur="clearText(this)" class="textfield"/>
                                        <input name="u_password" value="123456" type="password" οnfοcus="clearText(this)" οnblur="clearText(this)" class="textfield"/>
                                        
                                    </div>    
                                    <div class="cleaner_with_height"></div>                    
                                    <br />
                                      <input type="submit" value="登陆" class="button"/>
                                      
                              &nbsp;
                              
                                      <input type="button" value="注册" class="button" οnclick="window.open('addUser','_blank','height=400,width=400,top=200,left=420')"  />
                         </form>
                                <br>
                                <%if(rename!=null)
                                { %>
                                <a style="color: red;"><%=rename%></a>
                                <%} %>
                            </div>
                            
                        <div class="cleaner_with_height"></div>

                        </div>
管理员和用户输入姓名和密码页面:
 
图4.1 主界面
输入用户名和密码后跳转到业务处理层yanzhengAction.java
如果用户名或密码为空,系统将显示错误,代码如下:
request.setAttribute("rename", "用户名或密码错误");
request.getRequestDispatcher("index.jsp").forward(request, response);
由于本系统的管理员只有一个,而且用户名指定为admin,因此登陆时是通过用户名来区分权限的,比较方便明了。
4.2 管理员功能的实现
管理员登陆成功后,进入处理页面admin_index.jsp进行操作,拥有对会议的安排、查询、修改、增加和删除的操作,并拥有对会员信息的查询、修改、删除和增加。通过鼠标点击进入相应界面,其内容主要包含四个主要链接:一周会议安排week.JSP,会议文献管理GetMeetForAdmin.java,用户信息管理getUser.java,还有一个是首页的链接index.jsp。
 
图4.2管理员界面
4.2.1 一周会议安排
管理员拥有对会议安排的唯一操作权,管理员需要对会议信息进行安排,以保证会员能查询到数据,让会议如期举行。
 
图4.3一周会议安排
4.2.2 会议文献信息管理
管理员把会议数据添加到数据库,也许期间会出现会议变动,这就需要有会议的修改和删除操作,系统通过GetMeetForAdmin.java来实现处理会议文献管理,然后跳转到meet_manage.jsp页面来显示所有会议文献信息,每页显示四条记录。
操作页面如下图所示:
 
图4.4 会议文献信息管理
在这里系统集成了修改、删除、增加、发布、详情、会议检索、分页的功能。
页面主要代码如下:
<form method="post" action="searchMeet">
   快速检索:日期
        <select size="1" name="year">
        <option value="">不限</option>
        <%for(int i=2000;i<2013;i++){ %>
         <option value="<%=i%>" ><%=i%>-<%=i+1 %></option>
        <%} %>
        </select> 
    第 <select size="1" name="month">
        <option value="">不限</option>
        <%for(int i=1;i<13;i++){ %>
        
        <option value="<%=i%>" ><%=i%></option>
        <%} %>
        </select>月&nbsp;&nbsp;
        
    主办部门:
   <select  size="1" name="danwei">
   <option value="">不限部门</option>
    <%for(int i=0;i<danweilist.size();i++){
    String danwei=(String)danweilist.get(i);
    %>
        <option value="<%=danwei %>"><%=danwei %></option>
         <%}%>
        </select>&nbsp;  
        &nbsp;
        &nbsp; <input class="button" type="submit" value="搜索" name="Submit1" />
    <input type="hidden" name="task" value="search" />
    <input type="button" value="增加" class="button" οnclick="window.open('adminAddMeet','_blank','height=430,width=400,top=200,left=420')" />
                                      
 </form>
     <div id="templatemo_table">
                        <table  cellspacing="1" cellpadding="10" class="meeting-table">
        <caption style="font-size: x-large;text-shadow: green;color: green;margin-bottom: 15px">会议文献信息</caption>
    <tr class="tr">
        <th height="10"><a>日期</a>    </th>
        <th><a>星期</a>    </th>
        <th><a>时间</a>    </th>
        <th><a>地点</a>    </th>
       <th><a>会议内容</a></th>
        <th><a>出席对象</a></th>
        <th><a>主办部门</a></th>
        <th><a>主管领导</a></th>
        <th><a>会议文献信息</a></th>
        <th colspan="4"><a>操作</a></th>
    </tr>
    <%
    
 %>
<%
    for(int i=0;i<list.size();i++){
        MeetInfo info = (MeetInfo)list.get(i);
    %>
    
    <tr>
    <td height="10" width="100"><%=info.getYear()%>年<%=info.getMonth() %>月<%=info.getDay()%>日</td>
    <td width="50"><%=info.getWeek() %></td>
    <td><%=info.getTime() %></td>
    <td><%=info.getPlace() %></td>
    <td><%=info.getContent() %></td>
    <td><%=info.getPeople() %></td>
    <td><%=info.getDanwei() %></td>
    <td><%=info.getManager() %></td>
    <td><div id="hidden"><%=info.getDetail() %></div></td> 
    <td>
    <form action="xiangQing" method="post">
    <input type="hidden" name="id" value="<%=info.getId()%>"/>
    <input type="button"  value="详情" class="button2" style="width: 32px;height: 18px;" οnclick="window.open('xiangQing?id=<%=info.getId()%>','_blank','height=400,width=400,top=200,left=420')"/>
    </form>
    </td>
    <td>
    <%if(info.getFabu().equals("0")){
     %>
    <form action="fabuMeet">
    <input type="hidden" name="id" value="<%=info.getId() %>"/>
    <input type="submit" value="发布" class="button2" style="width: 32px;height: 18px;"/>
    </form>
    <%}else{ %>
    <form action="bufaMeet">
    <input type="hidden" name="id" value="<%=info.getId() %>"/>
  <input type="submit" value="不发" class="button2" style="width: 32px;height: 18px;"/>
    </form>
    <%} %>
    </td>
    <td>
    <form method="post" action="deleteMeet">
    <input type="hidden" name="id" value="<%=info.getId()%>"/>
    <input type="submit" value="删除" class="button2" style="width: 32px;height: 18px;"/>
    </form>
    </td>
    <td><form action="AdminUpdateMeet" method="post">
    <input type="hidden" name="id" value="<%=info.getId()%>"/>
    <input type="submit" value="修改"  class="button2" style="width: 32px;height: 18px;"/> 
    </form>
    </td>
   </tr>
    <%}
    } %>
    <tr>
    <%if(!maxpage.equals("0")){ %>
    <td colspan="13">
   <a>共有<%=maxpage%>页</a>&nbsp;<a>第<%=getpage %>页</a>&nbsp;<a href="GetMeetForAdmin?getpage=1">首页</a>&nbsp; <a href="GetMeetForAdmin?getpage=<%=snp %>">上一页</a>&nbsp; <a href="GetMeetForAdmin?getpage=<%=xnp %>">下一页</a>&nbsp; <a href="GetMeetForAdmin?getpage=<%=maxpage %>">末页</a>
</td>
    <%} %>
    </tr>
</table>
 </div>
(1)点击修改按钮,系统转入业务处理层adminUpdateMeet.java处理,然后跳转到jsp页面meet_manage_update.jsp来显示修改信息。最后提交到saveAdminUpdate.java来保存修改信息。
 
图4.5 会议修改

(2)点击删除按钮,系统转入Selvlet处理层deleteMeet.java处理,然后处理层调用数据存储层,进行与数据库的交互,最后再调用Selvlet处理层GetMeetForAdmin重新显示会议列表。这是你会直接看到删除操作后的列表。

(3)点击增加按钮,系统转入Selvlet处理层adminAddMeet.java,然后弹出一个jsp页面add.jsp,这里进入增加视图,最后提交到addMeet.java来保存修改信息。
会议记录增加页面如图4.6所示:
 
图4.6 会议增加
(4)点击搜索按钮,系统转入Selvlet处理层searchMeet.java,然后处理层调用数据存储层,进行与数据库的交互,然后进入jsp视图层meet_manage.jsp,重新显示搜索后的页面:
 图4.7 会议文献检索
(5)点击详情按钮,系统转入Selvlet处理层xiangQing.java,然后处理层跳转到一个弹出式的jsp显示页面xiangQing.jsp来显示会议文献的详细信息。界面如下:
 :
图4.8 会议文献资料
(6)发布与不发按钮,它们是互斥存在的按钮,它们关联的是数据库里的一个逻辑型字段‘发布’,点击发布按钮,系统将转入Selvlet处理层fabuMeet.java来处理,此时调用数据存储层,改变数据库meet表里‘发布’字段的值为‘true’。这样一周会议安排页面就可以根据数据库里,‘发布’字段为‘true’的会议记录来显示一周会议安排列表。
 
图4.9 会议发布
(7)不发按钮与发布按钮实现原理一样的。
4.2.3 用户信息管理
    会员注册成功后,管理员经常会查看和修改会员信息来保持数据库的会员信息的同步行,这就需要通过添加一个会员管理模块来操作会员管理包括对会员信息的修改和对会员的删除操作和增加操作。管理员通过组合查询对用户u_name、用户姓名name以及用户所在部门u_danwei进行查询操作,系统根据数据库中会员信息查询,查询完毕将返回信息给管理员。用户信息管理页面user_manage.jsp,主要实现代码如下:
<form method="post" action="searchUser">
              检索:用户姓名:
        <input type="text"  name="name"/>
        用户注册名:
        <input type="text"  name="u_name"/>
        主办部门:
   <select  size="1" name="u_danwei">
   <option value="">不限部门</option>
    <%for(int i=0;i<danweilist.size();i++){
    String danwei=(String)danweilist.get(i);
    %>
        <option value="<%=danwei %>"><%=danwei %></option>
         <%}%>
        </select>&nbsp;  &nbsp;&nbsp;
<input class="button" type="submit" value="搜索" name="Submit1" />
<input type="hidden" name="task" value="search" />
<input type="button" value="增加" class="button" οnclick="window.open('adminAddUser','_blank','height=400,width=400,top=200,left=420')" />
 </form>
             <div id="templatemo_table">
                        <table  cellspacing="1" cellpadding="10" class="meeting-table">
        <caption style="font-size: x-large;text-shadow: green;color: green;margin-bottom: 15px">用户管理表</caption>
        <tr class="tr">
        <th height="10"><a>用户名</a>    </th>
        <th><a>密码</a>    </th>
        <th><a>姓名</a>    </th>
        <th><a>性别</a>    </th>
    <th><a>出生日期</a></th>
        <th><a>职务</a></th>
        <th><a>单位</a></th>
        <th><a>电话号码</a></th>
        <th><a>电子邮箱</a></th>
        <th><a>家庭住址</a></th>
   <th colspan="4"><a>操作</a></th>
    </tr>
<%
    for(int i=0;i<list.size();i++){
        UserInfo info = (UserInfo)list.get(i);
    %>
<tr>
    <td ><%=info.getU_name()%></td>
    <td ><%=info.getU_password() %></td>
    <td><%=info.getName() %></td>
    <td><%=info.getU_sex() %></td>
    <td><%=info.getU_borthday() %></td>
    <td><%=info.getU_zhiwu() %></td>
    <td><%=info.getU_danwei() %></td>
    <td><%=info.getU_phone() %></td>
    <td><%=info.getU_email() %></td> 
    <td><%=info.getU_address() %></td>     
  <td>
    <form method="post" action="deleteUser">
    <input type="hidden" name="u_id" value="<%=info.getU_id()%>"/>
  <input type="submit" value="删除" class="button2" style="width: 32px;height: 18px;"/>
    </form>
    </td>
    <td><form action="adminUpdateUser" method="post">
    <input type="hidden" name="u_id" value="<%=info.getU_id()%>"/>
    <input type="submit" value="修改"  class="button2" style="width: 32px;height: 18px;"/> 
    </form>
    </td>
    </tr>
    <%}
    } %>
    <tr>
    <%if(!maxpage.equals("0")){ %>
    <td colspan="13">
<a>共有<%=maxpage%>页</a>&nbsp;<a>第<%=getpage %>页</a>&nbsp;<a href="getUser?getpage=1">首页</a>&nbsp; <a href="getUser?getpage=<%=snp %>">上一页</a>&nbsp; <a href="getUser?getpage=<%=xnp %>">下一页</a>&nbsp; <a href="getUser?getpage=<%=maxpage %>">末页</a>
    </td>
    <%} %>
    </tr>
</table>
用户信息管理模块页面视图如图4.10所示:
 
图4.10 用户管理界面
基本实现原理与会议文献管理模块类似。
4.3 用户登陆及会议检索
会员功能涉及到三个主要功能,分别为用户的注册,会议文献信息的检索,和用户资料的修改以及注销的功能,而用户信息的修改在以上各小节中基本都有相似的介绍,而代码也是类似的操作,就不在重复介绍,会议查询的操作作只是在前章中提到的会议管理页面进行功能上的简化。在此给出界面: 
图4.11 用户登录功能
五 结论
经过三个多月的系统开发,从一开始我对于JSP技术的开发缺乏经验到,通过不断查找资料,并且在导师的指导下,我逐渐对所开发的系统有了较为全面地认识。在开发本课题的过程中,起初对于一些JSP的语句有些疑惑,后来通过不断翻阅相关资料,通过修改从互联网上已经成型的模板,逐渐理解了这些对象的含义和用法,特别是对于数据库中字段的添加,修改,查询和删除用法。此外,对于网页制作中的一些技术,例如:CSS样式表技术对于网页框架制作的使用等的水平有了很大的提升。
本课题开发经历了搜集资料,需求分析,可行性分析,概要设计和详细设计的阶段,先后经过了无数次的修改和调试,通过按照软件工程开发的流程,本课题已经成功地开发出合格的会议管理系统。该系统在性能和使用上都符合需求分析里的功能需求。用户登陆后,通过链接数据库判断用户的权限,使两种不同权限的用户分别进入不同的操作界面进行相关操作。系统设计的思路明了,脉络清晰。
经过后期的检测和调试,系统可以正常工作,没有较大的漏洞,本课题的系统开发完满完成。毕业设计是本科学习阶段一次非常难得的理论与实际相结合的机会,通过这次比较完整的会议管理系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际程序问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志力,抗压能力及耐力也都得到了不同程度的提升。

猜你喜欢

转载自blog.csdn.net/weixin_55459367/article/details/114183698