基于JSP会议管理系统毕业设计
歡迎添加微信互相交流學習哦!
項目源碼:https://gitee.com/oklongmm/biye2
一 緒論
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.3 星期名稱表
| 名稱 | 數據類型 | 注釋 |
| week | 字符數據類型 | 星期 |
表3.4 單位列表
| 名稱 | 數據類型 | 注釋 |
| danwei | 字符數據類型 | 單位名稱 |
3.2系統功能設計
???3.2.1系統功能概要模塊設計
????會議文獻管理系統由一周會議安排模塊、管理員模塊、用戶對個人信息及會議文獻檢索模塊組成。具體如下:
一周會議安排模塊
管理員會議管理模塊
(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"?onfocus="clearText(this)"?onblur="clearText(this)"?class="textfield"/>
????????????????????????????????????????<input?name="u_password"?value="123456"?type="password"?onfocus="clearText(this)"?onblur="clearText(this)"?class="textfield"/>
?
????????????????????????????????????</div>
????????????????????????????????????<div?class="cleaner_with_height"></div>
????????????????????????????????????<br?/>
??????????????????????????????????????<input?type="submit"?value="登陸"?class="button"/>
??????????????????????????????????????
???????????????????????????????
??????????????????????????????
??????????????????????????????????????<input?type="button"?value="注冊"?class="button"?onclick="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>月??
?
????主辦部門:
???<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>???
?
??<input?class="button"?type="submit"?value="搜索"?name="Submit1"?/>
<input?type="hidden"?name="task"?value="search"?/>
????<input?type="button"?value="增加"?class="button"?onclick="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;"?onclick="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>?<a>第<%=getpage %>頁</a>?<a?href="GetMeetForAdmin?getpage=1">首頁</a>??<a?href="GetMeetForAdmin?getpage=<%=snp %>">上一頁</a>??<a?href="GetMeetForAdmin?getpage=<%=xnp %>">下一頁</a>??<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 會議發布
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>?????
<input?class="button"?type="submit"?value="搜索"?name="Submit1"?/>
<input?type="hidden"?name="task"?value="search"?/>
<input?type="button"?value="增加"?class="button"?onclick="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>?<a>第<%=getpage %>頁</a>?<a?href="getUser?getpage=1">首頁</a>??<a?href="getUser?getpage=<%=snp %>">上一頁</a>??<a?href="getUser?getpage=<%=xnp %>">下一頁</a>??<a?href="getUser?getpage=<%=maxpage %>">末頁</a>
</td>
<%} %>
</tr>
</table>
用戶信息管理模塊頁面視圖如圖4.10所示:
?
圖4.10 用戶管理界面
基本實現原理與會議文獻管理模塊類似。
4.3 用戶登陸及會議檢索
會員功能涉及到三個主要功能,分別為用戶的注冊,會議文獻信息的檢索,和用戶資料的修改以及注銷的功能,而用戶信息的修改在以上各小節中基本都有相似的介紹,而代碼也是類似的操作,就不在重復介紹,會議查詢的操作作只是在前章中提到的會議管理頁面進行功能上的簡化。在此給出界面:
圖4.11 用戶登錄功能
五 結論
經過三個多月的系統開發,從一開始我對于JSP技術的開發缺乏經驗到,通過不斷查找資料,并且在導師的指導下,我逐漸對所開發的系統有了較為全面地認識。在開發本課題的過程中,起初對于一些JSP的語句有些疑惑,后來通過不斷翻閱相關資料,通過修改從互聯網上已經成型的模板,逐漸理解了這些對象的含義和用法,特別是對于數據庫中字段的添加,修改,查詢和刪除用法。此外,對于網頁制作中的一些技術,例如:CSS樣式表技術對于網頁框架制作的使用等的水平有了很大的提升。
本課題開發經歷了搜集資料,需求分析,可行性分析,概要設計和詳細設計的階段,先后經過了無數次的修改和調試,通過按照軟件工程開發的流程,本課題已經成功地開發出合格的會議管理系統。該系統在性能和使用上都符合需求分析里的功能需求。用戶登陸后,通過鏈接數據庫判斷用戶的權限,使兩種不同權限的用戶分別進入不同的操作界面進行相關操作。系統設計的思路明了,脈絡清晰。
經過后期的檢測和調試,系統可以正常工作,沒有較大的漏洞,本課題的系統開發完滿完成。畢業設計是本科學習階段一次非常難得的理論與實際相結合的機會,通過這次比較完整的會議管理系統設計,我擺脫了單純的理論知識學習狀態,和實際設計的結合鍛煉了我的綜合運用所學的專業基礎知識,解決實際程序問題的能力,同時也提高我查閱文獻資料、設計手冊、設計規范以及電腦制圖等其他專業能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節的斟酌處理,都使我的能力得到了鍛煉,經驗得到了豐富,并且意志力,抗壓能力及耐力也都得到了不同程度的提升。
?
?
?
?
?
致 ??謝
????在畢業設計的階段,我遇到了很的困難。在這里我要感謝我的指導老師,他在我的畢業設計中提出了許多寶貴的意見。
在這幾個月做畢業設計的過程中,老師給予了我很多的幫助,感謝他在系統實現方法和思路上做出的正確指導。對于整個系統開始的時候,我考慮得比較欠缺,還有很多的不足之處,把一些問題想得太過簡單到真正實施編程的時候發現了很多的困難。趙老師不但給予了我正確的指導,而且還提供了一些重要的思想,使整個系統盡可能的完善,以達到任務書的要求。在整個編寫代碼的過程中,我也遇到了很多的困難,趙老師幫我指出錯誤,做了糾正。謝謝我的指導老師他給予我的指導,謝謝他這幾個月來在我遇到困難和挫折時耐心、熱情地給予我幫助。在此向老師表示衷心的感謝!
雖然可能我的設計還不是很理想,可是在整個畢業設計過程中我學到了很多的知識,那是課堂上學不到的。有時和同學一起探討一個問題,大家都是那么的認真。友誼也在這幾個月中得到了升華。
在這里感謝所有教過我和關心我的老師及系領導,也感謝我身邊一直支持我、鼓勵我的親愛的朋友和同學們!
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
參考文獻
[1]Java Web整合開發與項目實戰.北京:人民郵電出版社,2010.6
[2] 王珊、薩師煊,數據庫系統概論(第四版),高等教育出版社,2005.12
????[3]朱慶生、古平,JAVA程序設計,清華大學出版社,2009,4
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的基于JSP会议管理系统毕业设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WIN10 3个手指拖动_老树谷歌地图数
- 下一篇: C学习笔记-字符串处理函数