畢業(yè)設(shè)計(jì)(論文)基于Struts Hibernate的網(wǎng)上問卷調(diào)查系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)(論文)基于Struts Hibernate的網(wǎng)上問卷調(diào)查系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)(論文)基于Struts Hibernate的網(wǎng)上問卷調(diào)查系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)(論文)基于Struts Hibernate的網(wǎng)上問卷調(diào)查系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)(論文)基于Struts Hibernate的網(wǎng)上問卷調(diào)查系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、摘 要本系統(tǒng)源于xxxxx有限公司的規(guī)模不斷擴(kuò)大,難以對教學(xué)質(zhì)量進(jìn)行考核,不能及時(shí)針對學(xué)生的餓反映進(jìn)行教學(xué)改革,因此為了提高教學(xué)質(zhì)量,為了解決這種現(xiàn)象就開發(fā)出了此在線調(diào)查系統(tǒng)。本在線調(diào)查系統(tǒng)采用模塊化面向?qū)ο笤O(shè)計(jì)思想,具有以下功能:開始調(diào)查、填寫調(diào)查、查看調(diào)查填寫進(jìn)展、結(jié)束調(diào)查、審核調(diào)查、查看調(diào)查、生成調(diào)查報(bào)表等功能,大大提高了教學(xué)的效率。在線調(diào)查系統(tǒng)給大大提升了工作效率,同時(shí)使無紙化辦公離我們不在遙遠(yuǎn),大大節(jié)約了各種調(diào)查人員的人力資源,可以及時(shí)的將學(xué)生反映的問題反映給教學(xué)部門,讓教學(xué)部門針對學(xué)生的要求而將教學(xué)方式進(jìn)一步改進(jìn),大大提高了教學(xué)質(zhì)量和教學(xué)效率。關(guān)鍵詞:mvc、struts、hibe

2、rnate jsp+servlet、oracle、javaabstractthe system originated from the briup software ltd. have been expanding, not on teaching quality assessment, not the hungry in time for students to reflect the teaching reform, in order to improve the quality of teaching, in order to solve this phenomenon on the d

3、evelopment of this online survey system. this online survey system is modular object-oriented design, has the following functions: to initiate an investigation, fill out surveys to see progress in completing investigations, the conclusion of the investigation, the audit investigation to see investig

4、ation, survey generated statements, and other functions, thereby greatly increasing the efficiency of teaching. on-line survey system to greatly enhance the work efficiency, while making the paperless office is not far away from us, significantly saving the investigating officers of the various huma

5、n resources, students would be timely to reflect the problems reported to the teaching sector, so that teaching departments for students the request will further improve teaching methods, greatly improving the quality of teaching and teaching efficiency.key words: mvc、struts、hibernate jsp+servlet、or

6、acle、java目 錄摘 要1abstract2目 錄3前 言1第1章 系統(tǒng)概述及可行性分析21.1系統(tǒng)概述21.1.1 admin模塊21.1.2 manager模塊21.1.3 teacher模塊21.2 可行性分析21.2.1技術(shù)可行性分析21.2.2環(huán)境可行性分析31.2.3經(jīng)濟(jì)可行性分析3第2章 系統(tǒng)總體設(shè)計(jì)42.1系統(tǒng)結(jié)構(gòu)總框架設(shè)計(jì)42.2系統(tǒng)結(jié)構(gòu)流程設(shè)計(jì)42.3數(shù)據(jù)流程圖設(shè)計(jì)5第3章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)63.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)63.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)8第4章 系統(tǒng)的具體實(shí)現(xiàn)實(shí)現(xiàn)94.1 登錄的實(shí)現(xiàn)以admin身份登錄9第5章 關(guān)鍵技術(shù)及系統(tǒng)安全性能355.1系統(tǒng)關(guān)鍵技術(shù)35

7、5.2系統(tǒng)安全性能35結(jié) 論36附 錄36給予系統(tǒng)初始用戶名和密碼:用戶名lith-密碼lith;36謝 辭37參考文獻(xiàn)1前 言近幾年來,隨著教育培訓(xùn)機(jī)構(gòu)不斷增多,規(guī)模不斷變大,人員不斷的增多,以致于給人工問卷考核帶來嚴(yán)重的不變,無法將學(xué)員反映的信息反映給授課教師,無法讓老師及時(shí)根據(jù)學(xué)員的需求而將教學(xué)方式進(jìn)行調(diào)整,而且這種考核效率很差,浪費(fèi)了大量的人力資源和物質(zhì),以至于教學(xué)質(zhì)量逐漸下降,公司開支增多,使公司面臨著隱藏的生存危機(jī)。為了解決這種現(xiàn)象,我和其他幾名同學(xué)為本公司力開發(fā)了一套在線問卷考察調(diào)查系統(tǒng),它大大節(jié)約了各種人力物力資源,使企業(yè)進(jìn)入了無紙化辦公的時(shí)代,適應(yīng)了現(xiàn)代化企業(yè)辦公的需求,同時(shí)

8、它能及時(shí)將學(xué)員反映的信息及時(shí)反映給授課教師,大大提高了教學(xué)質(zhì)量。本系統(tǒng)才用sun公司j2ee企業(yè)及編程模式,采用可視化的編程環(huán)境,簡單易懂的編程語言,用較少的代碼可以實(shí)現(xiàn)大量繁瑣復(fù)雜的問題的功能,用struts+hibernate框架,大大提高了開發(fā)效率。下面將本系統(tǒng)的主要內(nèi)容介紹如下:第1章和第2章主要介紹了系統(tǒng)實(shí)際需求和系統(tǒng)總體設(shè)計(jì)。第3章介紹了本系統(tǒng)的數(shù)據(jù)庫的設(shè)計(jì)。第4章介紹了本系統(tǒng)的實(shí)現(xiàn)。第5章介紹了本系統(tǒng)的關(guān)鍵技術(shù)及系統(tǒng)安全性能。第1章 系統(tǒng)概述及可行性分析1.1系統(tǒng)概述隨著美國杰普軟件有限公司規(guī)模的不斷擴(kuò)大,導(dǎo)致了學(xué)員反映的信息無法及時(shí)傳達(dá)給授課教師,同時(shí)給教學(xué)管理部帶來巨大的工作

9、量,而且工作效率很差,為了解決這種問題,我和其他幾名同學(xué)為本公司開發(fā)了此系統(tǒng),大大提高了教學(xué)管理部的工作效率,提高了本公司的教學(xué)質(zhì)量。1.1.1 admin模塊該模塊有以下功能:. 開始調(diào)查:發(fā)起一項(xiàng)新的調(diào)查。整個(gè)系統(tǒng)在同一時(shí)間段只能進(jìn)行一個(gè)調(diào)查,后開始的調(diào)查會將前面沒有結(jié)束的調(diào)查覆蓋。. 結(jié)束調(diào)查:將學(xué)員提交的調(diào)查明細(xì)信息存入數(shù)據(jù)庫。. 刪除調(diào)查:刪除尚未結(jié)束的調(diào)查,已結(jié)束的調(diào)查不能刪除。. 查看調(diào)查:查看所有已審或未審調(diào)查。. 維護(hù)數(shù)據(jù):維護(hù)調(diào)查所需的 班級、課程、管理員,老師 等初始數(shù)據(jù)。1.1.2 manager模塊manager 角色用戶可以審核調(diào)查,查看所有的已審調(diào)查以及生成調(diào)查報(bào)

10、表。系統(tǒng)可以擁有多個(gè) manager角色用戶。接下來介紹的任何操作均需要先成功登錄。登錄過程和 admin 角色同。1.1.3 teacher模塊teacher 角色用戶可以查看所有和自己相關(guān)的調(diào)查和修改密碼。系統(tǒng)可以擁有多個(gè) teacher角色用戶。1.2 可行性分析1.2.1技術(shù)可行性分析運(yùn)用sun公司開發(fā)的j2ee體系結(jié)構(gòu),采用mvc三層架構(gòu)的模式,在設(shè)計(jì)模式上,將使用當(dāng)前流行的struts框架,采用hibernate作為orm框架,j2ee是一種利用java 2平臺來簡化企業(yè)解決方案的開發(fā)、部署和管理相關(guān)的復(fù)雜問題的體系結(jié)構(gòu)。j2ee技術(shù)的基礎(chǔ)就是核心java平臺或java 2平臺的標(biāo)

11、準(zhǔn)版,j2ee不僅鞏固了標(biāo)準(zhǔn)版中的許多優(yōu)點(diǎn),同時(shí)還提供了對 ejb(enterprise javabeans)、java servlets api、jsp(java server pages)以及xml技術(shù)的全面支持。 struts有其自己的控制器(controller),同時(shí)整合了其他的一些技術(shù)去實(shí)現(xiàn)模型層(model)和視圖層(view)。在模型層,struts可以很容易的與數(shù)據(jù)訪問技術(shù)相結(jié)合,包括ejb,jdbc和object relation bridge。在視圖層,struts能夠與jsp, velocity templates,xsl等等這些表示層組件想結(jié)合。hibernate是一

12、個(gè)和jdbc密切關(guān)聯(lián)的框架,所以hibernate的兼容性和jdbc驅(qū)動(dòng),和數(shù)據(jù)庫都有一定的關(guān)系,可以將一個(gè)java對象保存到數(shù)據(jù)庫。它是一個(gè)獨(dú)立的對象持久層框架。1.2.2環(huán)境可行性分析在軟件環(huán)境方面,系統(tǒng)的開發(fā)環(huán)境如下:操作系統(tǒng):suse linux;web應(yīng)用服務(wù)器:tomcat 5.0.28;數(shù)據(jù)庫:oracle 10.0g, 運(yùn)行在遠(yuǎn)程sun solaris 10服務(wù)器上;開發(fā)工具:eclipse 3.2, myelcipse插件;。1.2.3經(jīng)濟(jì)可行性分析此系統(tǒng)完全由我們幾個(gè)學(xué)生在業(yè)余時(shí)間開發(fā)的,只是象征性的收取了一點(diǎn)報(bào)酬。第2章 系統(tǒng)總體設(shè)計(jì)2.1系統(tǒng)結(jié)構(gòu)總框架設(shè)計(jì)本網(wǎng)上問卷調(diào)查

13、管理系統(tǒng)主要分成三大模塊,這些模塊又是由若干個(gè)子模塊構(gòu)成的,形成一個(gè)結(jié)構(gòu)緊湊功能明確完整的網(wǎng)上問卷調(diào)查管理系統(tǒng)。系統(tǒng)結(jié)構(gòu)總框架設(shè)計(jì)如圖2-1所示:網(wǎng)上問卷調(diào)查管理系統(tǒng) 管理數(shù)據(jù)添加修改密碼管理操作員數(shù)據(jù)搜索調(diào)查審核調(diào)查統(tǒng)計(jì)報(bào)表 系統(tǒng)信息管理密碼修改課程管理管理員管理老師管理調(diào)查搜索班級管理調(diào)查管理教師職務(wù)管理超級管理員管理息管理2-1整個(gè)系統(tǒng)結(jié)構(gòu)圖2.2系統(tǒng)結(jié)構(gòu)流程設(shè)計(jì)填寫調(diào)查開始調(diào)查查看調(diào)查填寫進(jìn)展刪除調(diào)查結(jié)束調(diào)查審核調(diào)查查看調(diào)查生成調(diào)查統(tǒng)計(jì)報(bào)表超級用戶登錄圖2-2 系統(tǒng)結(jié)構(gòu)總流程圖2.3數(shù)據(jù)流程圖設(shè)計(jì)本系統(tǒng)的中心角色是超級管理員、老師和普通管理員。超級管理員開始調(diào)查,然后用戶就可以進(jìn)行課程

14、調(diào)查,調(diào)查之后,超級管理員結(jié)束調(diào)查,教師和普通管理員就可以進(jìn)行查看調(diào)查信息,教師只可以看自身的信息,普通管理員可以審核所有的調(diào)查信息。普通管理員登錄審核調(diào)查搜索調(diào)查統(tǒng)計(jì)報(bào)表密碼修改超級管理員登錄老師管理調(diào)查搜索調(diào)查管理班級管理課程管理管理員管理搜索調(diào)查課程列表增加課程管理員列表增加管理員增加班級班級列表開始調(diào)查管理調(diào)查增加老師老師列表圖2-3 系統(tǒng)數(shù)據(jù)流程圖第3章 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫在信息系統(tǒng)中占有及其重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞關(guān)系到系統(tǒng)的運(yùn)行效率、存儲數(shù)據(jù)的效率、系統(tǒng)的復(fù)雜程度等,合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高系統(tǒng)性能??紤]到用戶需求的各種實(shí)體,本交通局車輛管

15、理系統(tǒng)規(guī)劃出的實(shí)體有用戶信息實(shí)體、課程信息實(shí)體、班級信息實(shí)體、問卷調(diào)查信息實(shí)體,在線調(diào)查問卷信息實(shí)體。各實(shí)體具體描述e-r圖如下:用戶信息用戶id 用戶密碼用戶姓名角色標(biāo)志圖3-1 用戶信息實(shí)體e-r圖課程信息課程名課程id課程描述 圖3-2 課程信息實(shí)體e-r圖班級名班級id班級類型班級信息);圖3-3班級信息實(shí)體e-r圖 問卷調(diào)查信息問卷id調(diào)查日期問卷創(chuàng)建日期參與調(diào)查人數(shù)被調(diào)查用戶id 是否調(diào)查過問卷平均分問卷總分已提交調(diào)查人圖3-4 問卷調(diào)查信息實(shí)體e-r圖在線問卷平均分問卷id此次問卷是否提交每題分?jǐn)?shù)在線調(diào)查問卷信息實(shí)體信息在線問卷id問題和意見 圖3-5 在線調(diào)查問卷信息實(shí)體的e-

16、r圖3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)將以上的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為關(guān)系數(shù)據(jù)模型,即數(shù)據(jù)庫的邏輯結(jié)構(gòu)。各個(gè)數(shù)據(jù)表的字段設(shè)置如下表所示:表3-1 用戶信息表字段名 類型寬度小數(shù)索引1用戶id數(shù)值型4主鍵2用戶姓名字符型20唯一3用戶密碼字符型304角色標(biāo)志字符型30表3-2 課程信息表字段號字段名 類型寬度小數(shù)索引1課程id數(shù)值型2主鍵2課程名字字符型303課程描述字符型50表3-3 班級信息表字段號字段名 類型寬度小數(shù)索引1班級id數(shù)值型3主鍵2班級名字字符型303班級類型字符型20表3-4 調(diào)查后問卷信息表字段號字段名 類型寬度小數(shù)索引1問卷id數(shù)值型10主建2被調(diào)查老師的id數(shù)值型4外鍵3被調(diào)查課程

17、的id數(shù)值型2外鍵4被調(diào)查班級的id數(shù)值型3外鍵5被調(diào)查人的id數(shù)值型4外鍵6調(diào)查的日期日期型7提交的人數(shù)數(shù)值型28問卷創(chuàng)建日期日期型9參與調(diào)查人數(shù)字符型2 10問卷平均分?jǐn)?shù)值型211問卷總分問卷總分512問卷是否提交字符型1表3-5 在線問卷調(diào)查信息表字段號字段名 類型寬度小數(shù)索引1在線問卷id數(shù)值型10 主鍵2問卷id數(shù)值型10外鍵3不會的問題字符型40004問卷是否提交過字符型15此問卷平均分?jǐn)?shù)值型36對教師的意見字符型40007問卷每道題目分?jǐn)?shù)數(shù)值型1第4章 系統(tǒng)的具體實(shí)現(xiàn)實(shí)現(xiàn)4.1 登錄的實(shí)現(xiàn)以admin身份登錄在瀏覽器地址欄鍵入以下地址: http:/localhost/poll/

18、login.jsp(實(shí)際使用時(shí)將localhost換成poll系統(tǒng)(教師課程調(diào)查系統(tǒng))安裝所在機(jī)器ip以及端口號,如87:8080), 輸入以下內(nèi)容:用戶名:lith 密碼:lith(默認(rèn)初始密碼)身份:admin 。 當(dāng)點(diǎn)擊登錄時(shí)就進(jìn)入loginaction中,登錄成功后就跳到/admin/index.jsp中,就進(jìn)入登陸后的頁面,其中部分代碼如下。 圖4-1 登錄界面部分代碼如下:package tarena.action;import javax.servlet.http.httpservletrequest;import javax.servlet.http.ht

19、tpservletresponse;import org.apache.struts.action.action;import org.apache.struts.action.actionerrors;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import org.apache.struts.action.actionmessage;import org.hibern

20、ate.session;import tarena.pojo.*;import xy.business;import tarena.util.contextutil;import tarena.form.personform;public class loginaction extends action public actionforward execute(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) personform

21、personform = (personform) form;actionerrors errors = new actionerrors();session session = (session)request.getattribute(contextutil.session);switch (personform.getflag().charat(0) case t:teacher teacher = new teacher();teacher.setname(personform.getname();teacher.setpassword(personform.getpassword()

22、;system.out.println(findteacher is +business.findteacher(session, teacher.getname();teacher ateacher = business.findteacher(session, teacher.getname();if (ateacher != null& ateacher.getpassword().equals(teacher.getpassword() request.getsession().setattribute(contextutil.person, ateacher);return new

23、actionforward(contextutil.teacher_index_path, true);break;case m:manager manager = new manager();manager.setname(personform.getname();manager.setpassword(personform.getpassword();manager amanager = business.findmanager(session, manager.getname();if (amanager != null& amanager.getpassword().equals(ma

24、nager.getpassword() request.getsession().setattribute(contextutil.person, amanager);return new actionforward(contextutil.manager_index_path, true);break;case a:admin admin = new admin();admin.setname(personform.getname();admin.setpassword(personform.getpassword();admin aadmin = business.findadmin(se

25、ssion, admin.getname();if (aadmin != null& aadmin.getpassword().equals(admin.getpassword() request.getsession().setattribute(contextutil.person, aadmin);return new actionforward(contextutil.admin_index_path, true);break;errors.add(error.login, new actionmessage(error.login);saveerrors(request.getses

26、sion(), errors);return mapping.getinputforward();4.2. 調(diào)查管理模塊的設(shè)計(jì)4.2.11 準(zhǔn)備開始調(diào)查功能的設(shè)計(jì)當(dāng)點(diǎn)擊開始調(diào)查時(shí)就進(jìn)入prestartpollaction中,這個(gè)action將所有的班機(jī),課程和老師查詢出來,讓超級管理員對調(diào)查問卷進(jìn)行設(shè)置,設(shè)置完之后開一正式開始調(diào)查,其中準(zhǔn)備調(diào)查部分代碼如下:圖 4-2 開始準(zhǔn)備調(diào)查界面package tarena.action;import java.util.map;import javax.servlet.servletcontext;import javax.servlet.http.h

27、ttpservletrequest;import javax.servlet.http.httpservletresponse;import org.apache.struts.action.action;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import org.hibernate.session;import xy.business;impo

28、rt tarena.util.contextutil;public class prestartpollaction extends action public actionforward execute(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) session session = (session)request.getattribute(contextutil.session);map allteacher = business.findt

29、eacher(session);map allclasses = business.findclasses(session);map allcourse = business.findcourse(session);servletcontext servletcontext = request.getsession().getservletcontext();servletcontext.setattribute(contextutil.all_classes, allclasses);servletcontext.setattribute(contextutil.all_course, al

30、lcourse);servletcontext.setattribute(contextutil.all_teacher, allteacher);return mapping.findforward(return);4.2.12開始調(diào)查部分當(dāng)點(diǎn)擊開始調(diào)查時(shí),就調(diào)用startpollaction,這個(gè)action將被調(diào)查的班級信息,課程信息,老師信息設(shè)置成調(diào)查的 問卷,此時(shí)頁面就跳轉(zhuǎn)到/admin/listpolling.jsp頁面上了。此時(shí)用戶就可以進(jìn)行網(wǎng)上問卷調(diào)查了。部分代碼如下:package tarena.action;import java.util.map;import javax

31、.servlet.servletcontext;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import org.apache.struts.action.action;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import tare

32、na.pojo.*;import tarena.util.contextutil;public class startpollaction extends action public actionforward execute(actionmapping mapping,actionform form,httpservletrequest request,httpservletresponse response) integer classesid = new integer(request.getparameter(classesid);integer courseid = new inte

33、ger(request.getparameter(courseid);integer teacherid = new integer(request.getparameter(teacherid);servletcontext servletcontext = request.getsession().getservletcontext();map teachermap = (map)servletcontext.getattribute(contextutil.all_teacher);map coursemap = (map)servletcontext.getattribute(cont

34、extutil.all_course);map classesmap = (map)servletcontext.getattribute(contextutil.all_classes);poll poll = new poll();teacher teacher = (teacher)teachermap.get(teacherid);course course = (course)coursemap.get(courseid);classes classes = (classes)classesmap.get(classesid);poll.setclasses(classes);pol

35、l.setcourse(course);poll.setteacher(teacher);poll.setcreateddate(new java.util.date();servletcontext.setattribute(contextutil.poll, poll);return mapping.findforward(return);圖4-3 正式開始調(diào)查的界面4.2.13 正式開始調(diào)查部分的結(jié)束調(diào)查部分的子部分當(dāng)點(diǎn)擊結(jié)束調(diào)查時(shí),請求就進(jìn)入managerpollaction中,執(zhí)行這個(gè)action中的 結(jié)束調(diào)查操作,執(zhí)行完之后就進(jìn)行資源重定向,跳轉(zhuǎn)到根目錄的/info.jsp頁面中,

36、結(jié)束調(diào)查的部分代碼如下。public actionforward end(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) servletcontext servletcontext = request.getsession().getservletcontext();int availablenum = 0;double totalscore = 0.0d;poll poll = (poll) servletcontext.getattribute(

37、contextutil.poll);set polllineset = poll.getpolllineset();for (iterator it = polllineset.iterator(); it.hasnext();) pollline pollline = (pollline) it.next();if (pollline.getisvalid().equals(y) availablenum+;totalscore += pollline.getc1().doublevalue()+ pollline.getc2().doublevalue()+ pollline.getc3(

38、).doublevalue()+ pollline.getc4().doublevalue()+ +pollline.getc5().doublevalue()+ pollline.getc6().doublevalue()+ pollline.getc7().doublevalue();poll.setamount(new integer(poll.getpolllineset().size();poll.setavailablenum(new integer(availablenum);poll.settotalscore(new integer(int)totalscore);poll.

39、setavgscore(new double(math.round(totalscore/ poll.getavailablenum().intvalue() / 7 * 100) / 100.00);poll.setstatus(n);actionerrors errors = new actionerrors();session session = (session)request.getattribute(contextutil.session);if (polllineset.size() 1) errors.add(warn.endpoll, new actionmessage(wa

40、rn.endpoll); else if (business.savepoll(session, poll) servletcontext.removeattribute(contextutil.poll);map clientipmap = (map) servletcontext.getattribute(contextutil.client_ip_map);clientipmap.clear();errors.add(info.endpoll, new actionmessage(info.endpoll); else errors.add(error.endpoll, new acti

41、onmessage(error.endpoll);saveerrors(request.getsession(), errors);return mapping.findforward(return);4.2.14 正式開始調(diào)查部分的刪除調(diào)查部分的子部分當(dāng)點(diǎn)擊刪除調(diào)查時(shí),請求就進(jìn)入managerpollaction中,執(zhí)行這個(gè)action中的 結(jié)束調(diào)查操作,執(zhí)行完之后就進(jìn)行資源重定向,跳轉(zhuǎn)到根目錄的/info.jsp頁面中,部分代碼如下。public actionforward delete(actionmapping mapping, actionform form,httpservletr

42、equest request, httpservletresponse response) servletcontext servletcontext = request.getsession().getservletcontext();servletcontext.removeattribute(contextutil.poll);map clientipmap = (map) servletcontext.getattribute(contextutil.client_ip_map);clientipmap.clear();actionerrors errors = new actione

43、rrors();errors.add(info.deletepoll, new actionmessage(info.deletepoll);saveerrors(request.getsession(), errors);return mapping.findforward(return);4.2.2 管理調(diào)查部分管理調(diào)查查看當(dāng)前在問卷調(diào)查的情況的,當(dāng)點(diǎn)擊管理調(diào)查時(shí),請求進(jìn)入listpollingacion中,這個(gè)action是個(gè)轉(zhuǎn)發(fā)請求的 action,將當(dāng)前的請求轉(zhuǎn)發(fā)到一個(gè)/admin/listpolling.jsp頁面。此時(shí)頁面進(jìn)行刷新,進(jìn)一步統(tǒng)計(jì)參與調(diào)查人數(shù)和已提交調(diào)查人數(shù)。圖4-4

44、 搜索調(diào)查的界面4.3 調(diào)查搜索模塊4.3.11 準(zhǔn)備搜索調(diào)查部分當(dāng)點(diǎn)擊搜索調(diào)查時(shí),進(jìn)入preserarchpollaction中,這個(gè)action查詢出所有的老師,所有的課程和班級信息,讓用戶根據(jù)查詢到的信息進(jìn)行操作,然后跳轉(zhuǎn)到/poll/searchpoll.jsp這個(gè)頁面,部分代碼如下:package tarena.action;import java.util.map;import javax.servlet.servletcontext;import javax.servlet.http.httpservletrequest;import javax.servlet.http.htt

45、pservletresponse;import org.apache.struts.action.action;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import org.hibernate.session;import xy.business;import tarena.util.contextutil;public class presear

46、chpollaction extends action public actionforward execute(actionmapping mapping, actionform form,httpservletrequest request, httpservletresponse response) session session = (session)request.getattribute(contextutil.session);map allteacher = business.findteacher(session);map allclasses = business.find

47、classes(session);map allcourse = business.findcourse(session);servletcontext servletcontext = request.getsession().getservletcontext();servletcontext.setattribute(contextutil.all_classes, allclasses);servletcontext.setattribute(contextutil.all_course, allcourse);servletcontext.setattribute(contextut

48、il.all_teacher, allteacher);return mapping.findforward(return);4.3.12 開始搜索部分圖4-5 搜索問卷調(diào)查的界面當(dāng)點(diǎn)擊搜索時(shí)就進(jìn)入searchpollaction中,它根據(jù)相應(yīng)的條件進(jìn)行查詢,查詢后將結(jié)果返回到/poll/listpolling.jsp頁面中,部分代碼如下:package tarena.action;import java.util.list;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletres

49、ponse;import org.apache.struts.action.action;import org.apache.struts.action.actionform;import org.apache.struts.action.actionforward;import org.apache.struts.action.actionmapping;import org.hibernate.session;import tarena.pojo.*;import xy.business;import tarena.util.contextutil;import jav

50、a.sql.date;public class searchpollaction extends action public actionforward execute(actionmapping mapping,actionform form,httpservletrequest request,httpservletresponse response) poll poll = new poll();date startdate = null;date enddate = null;string orderby = request.getparameter(orderby);if(!(request.getsession().getattribute(contextutil.person) instanceof admin) poll.setstatus(y);if(!request.getparameter(classesid).equals() integer classesid = new integer(request.ge

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論