基于StrutsHibernate網(wǎng)上論壇系統(tǒng)課程設(shè)計(jì)任務(wù)書_第1頁(yè)
基于StrutsHibernate網(wǎng)上論壇系統(tǒng)課程設(shè)計(jì)任務(wù)書_第2頁(yè)
基于StrutsHibernate網(wǎng)上論壇系統(tǒng)課程設(shè)計(jì)任務(wù)書_第3頁(yè)
基于StrutsHibernate網(wǎng)上論壇系統(tǒng)課程設(shè)計(jì)任務(wù)書_第4頁(yè)
基于StrutsHibernate網(wǎng)上論壇系統(tǒng)課程設(shè)計(jì)任務(wù)書_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)任務(wù)書系別電氣與電子工程系專業(yè)計(jì)算機(jī)應(yīng)用技術(shù)班級(jí)指導(dǎo)教師師題目基于Struts+Hibernate網(wǎng)上論壇系統(tǒng)設(shè)計(jì)目的:論壇系統(tǒng)是開發(fā)中很典型的一個(gè)例子。它可以從一個(gè)很簡(jiǎn)單的模型復(fù)雜細(xì)化到一個(gè)龐大的系統(tǒng)。對(duì)于企業(yè)或者個(gè)人,類似留言板的功能十分常見(jiàn)。通過(guò)網(wǎng)上論壇系統(tǒng)的設(shè)計(jì)和開發(fā)可以了解到類似系統(tǒng)的功能邏輯以與用Struts和Hibernate實(shí)現(xiàn)的基礎(chǔ)。設(shè)計(jì)要求包含以下模塊:1. 用戶登錄和驗(yàn)證模塊。2. 顯示現(xiàn)在所有話題模塊與已有回復(fù)的模塊。3. 顯示某一特定話題和回復(fù)模塊。4. 新建話題模塊。5. 新建回復(fù)模塊。6. 界面要求:使用Dreamweaver設(shè)計(jì)界面達(dá)到協(xié)調(diào)、美觀。課程設(shè)

2、計(jì)說(shuō)明文檔要求:1網(wǎng)上論壇系統(tǒng)須使用Struts和Hibernate協(xié)同工作,前臺(tái)使用Struts做控制和顯示,后臺(tái)用Hibernate做數(shù)據(jù)操作。2. 說(shuō)明系統(tǒng)設(shè)計(jì)的功能與模塊,畫出系統(tǒng)流程圖。3. 數(shù)據(jù)庫(kù)設(shè)計(jì)與Hibernate設(shè)計(jì)。4. Action和Form設(shè)計(jì)與頁(yè)面設(shè)計(jì)。4. 撰寫課程設(shè)計(jì)說(shuō)明書。課程說(shuō)明書里應(yīng)包括目錄,程序流程圖,數(shù)據(jù)庫(kù)與Hibernate設(shè)計(jì)、Action和Form設(shè)計(jì)與頁(yè)面設(shè)計(jì)、程序,總結(jié)(印象較深的經(jīng)驗(yàn)/教訓(xùn)等)。要求:設(shè)計(jì)要有相應(yīng)的設(shè)計(jì)報(bào)告,報(bào)告要包含題目、目錄、摘要、關(guān)鍵字、正文、參考文獻(xiàn)幾部分;字體、字號(hào)格式按樣文設(shè)置;正文要有需求分析、概要設(shè)

3、計(jì)、詳細(xì)設(shè)計(jì)、代碼、結(jié)論等部分構(gòu)成,并有必要的圖表和效果圖。結(jié)題形式產(chǎn)品,程序代碼,設(shè)計(jì)說(shuō)明書時(shí)間分配:總體設(shè)計(jì)時(shí)間為1周1 需求分析,概要設(shè)計(jì) 1天2 功能模塊開發(fā) 4天3 上機(jī)調(diào)試,實(shí)現(xiàn)功能 1天4 寫說(shuō)明書、答辯 1天目錄第一章網(wǎng)上論壇系統(tǒng)分析41開發(fā)平臺(tái)4(1)MyEclipse4(2) Tomcat42.數(shù)據(jù)庫(kù)53.功能模塊6第二章網(wǎng)上論壇系統(tǒng)開發(fā)技術(shù)61.J2EE技術(shù)簡(jiǎn)單介紹62.J2EE技術(shù)struts簡(jiǎn)單介紹63.J2EE技術(shù)hibernate簡(jiǎn)單介紹74.J2EE技術(shù)MVC開發(fā)模式介紹7第三章網(wǎng)上論壇系統(tǒng)開發(fā)8一、數(shù)據(jù)庫(kù)開發(fā)與設(shè)計(jì)8二、登錄模塊122.1登錄界面122.2注冊(cè)

4、模塊142.3論壇首頁(yè)162.4新建帖子模塊212.5查看帖子模塊232.6添加回復(fù)模塊242.7 錯(cuò)誤頁(yè)面模塊25第四章總結(jié)25第五章參考文獻(xiàn)25摘要J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),它包含許多組件,可以簡(jiǎn)化和規(guī)應(yīng)用系統(tǒng)的開發(fā)和部署,提高可移植性、安全性與重用價(jià)值,J2EE的核心是一組技術(shù)規(guī)與指南,其包含的各類組件、服務(wù)架構(gòu)與技術(shù)層次均有共通的標(biāo)準(zhǔn)與規(guī)格,因而各種遵循J2EE架構(gòu)的平臺(tái)具有良好的兼容性。本次課程設(shè)計(jì)的題目是基于基于Struts+Hibernate網(wǎng)上論壇系統(tǒng),實(shí)現(xiàn)了論壇的基本功能,即用戶登陸、用戶注冊(cè)、用戶發(fā)帖以與回帖等。主要任務(wù)是學(xué)會(huì)J2EE程序開發(fā)的環(huán)境搭建

5、和配置,并在實(shí)踐運(yùn)用中學(xué)習(xí)和掌握J(rèn)2EE程序開發(fā)的全過(guò)程,進(jìn)一步熟悉掌握J(rèn)2EE程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)容。論壇又名網(wǎng)絡(luò)論壇BBS,全稱為Bulletin Board System(電子公告板)。它是Internet上的一種電子信息服務(wù)系統(tǒng)。它提供一塊公共電子白板,每個(gè)用戶都可以在上面書寫,可發(fā)布信息或提出看法。它是一種交互性強(qiáng),容豐富而即使的Internet電子信息服務(wù)系統(tǒng)。用戶在BBS站點(diǎn)上可以獲得各種信息服務(wù),發(fā)布信息,進(jìn)行討論,聊天等等。像日程生活中的黑板報(bào)一樣,論壇按不同的主題分為許多板塊,版面的設(shè)立依據(jù)是大多數(shù)用戶的要求和喜好,用戶可以閱讀別人關(guān)于某個(gè)主題的看法,也可以將自己的想法毫無(wú)保

6、留的貼到論壇中。關(guān)鍵詞:論壇系統(tǒng) MVC設(shè)計(jì)模式 JSP 第一章 網(wǎng)上論壇系統(tǒng)分析1開發(fā)平臺(tái)本系統(tǒng)的開發(fā)平臺(tái)為MyEclipse+Tomcat(1)MyEclipseMyEclipse,是一個(gè)十分優(yōu)秀的用于開發(fā)Java, J2EE的Eclipse插件集合,MyEclipse的功能非常強(qiáng)大,支持也十分廣泛,尤其是對(duì)各種開元產(chǎn)品的支持十分不錯(cuò)。MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和JavaEE的開發(fā)、發(fā)布,以與應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是

7、功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類: 1. JavaEE模型 2. WEB開發(fā)工具 3. E開發(fā)工具 4. 應(yīng)用程序服務(wù)器的連接器 5. JavaEE項(xiàng)目部署服務(wù) 6. 數(shù)據(jù)庫(kù)服務(wù) 7. MyEclipse整合幫助(2) TomcatTomcat 很受廣大程序員的喜歡,因?yàn)樗\(yùn)行時(shí)占用的系統(tǒng)資源小,擴(kuò)展性好,支持負(fù)載平衡與服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的 改進(jìn)和完善中,任何一個(gè)感興趣

8、的程序員都可以更改它或在其中加入新的功能。 Tomcat 是一個(gè)輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問(wèn)用戶不是很多的場(chǎng)合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。對(duì)于一個(gè)初學(xué)者來(lái)說(shuō),可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)對(duì)HTML 頁(yè)面的訪問(wèn)請(qǐng)求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。 這里的訣竅是,當(dāng)配置正確時(shí),Apache 為HTML頁(yè)面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁(yè)面和Servlet。另外,Tomcat和IIS、Apache

9、等Web服務(wù)器一樣,具有處理HTML頁(yè)面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過(guò),Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。目前Tomcat最新版本為7.0.12Released。2.數(shù)據(jù)庫(kù)庫(kù) yuu用戶登錄表t_user帖子t_message回復(fù)表t_comment3.功能模塊用戶注冊(cè)登陸失敗查看添加回復(fù)返回登陸成功進(jìn)入歡迎界面用戶名或密碼輸入錯(cuò)誤重新登錄用戶名與密碼均輸入正確發(fā)布新帖子用戶登錄第二章 網(wǎng)上論壇系統(tǒng)開發(fā)技術(shù)1.J2EE技術(shù)簡(jiǎn)單介紹J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可

10、簡(jiǎn)化且規(guī)應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值。J2EE平臺(tái)是用于在分布式企業(yè)環(huán)境中開發(fā)、部署喝執(zhí)行應(yīng)用程序的體系結(jié)構(gòu)。分布式應(yīng)用程序需要系統(tǒng)級(jí)服務(wù),如事務(wù)管理、安全性、客戶端連接喝數(shù)據(jù)庫(kù)訪問(wèn)。2.J2EE技術(shù)struts簡(jiǎn)單介紹struts是開源軟件。使用Struts的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來(lái)開發(fā)Web應(yīng)用的時(shí)間。我們利用混合使用Servlets和JSP的優(yōu)點(diǎn)來(lái)建立可擴(kuò)展的應(yīng)用。Struts 是MVC的一種實(shí)現(xiàn),它將 Servlet和 JSP 標(biāo)記(屬于 J2EE 規(guī))用作實(shí)現(xiàn)的一部分。Struts繼承了MVC的各項(xiàng)特性,并根據(jù)J2EE的特點(diǎn),做了相應(yīng)的變化與擴(kuò)展

11、。struts框架具有組件的模塊化,靈活性和重用性的優(yōu)點(diǎn),同時(shí)簡(jiǎn)化了基于MVC的web應(yīng)用程序的開發(fā)。 struts可以清晰地區(qū)分控制,事務(wù)邏輯和外觀,從而簡(jiǎn)化了開發(fā)應(yīng)用程序的過(guò)程。struts提供的類使得開發(fā)工作更加簡(jiǎn)單,這些類包括: a. 控制程序流程的類 b. 實(shí)現(xiàn)和執(zhí)行程序事務(wù)邏輯的類 c. 自定義的標(biāo)記庫(kù)使得創(chuàng)建和驗(yàn)證HTML表單更加容易struts 3.J2EE技術(shù)hibernate簡(jiǎn)單介紹Hibernate定義為一個(gè)對(duì)象/關(guān)系數(shù)據(jù)庫(kù)映射(Object/Relational Mapping,ORM)工具,它作為開源的持久層框架,目前的技術(shù)已經(jīng)相對(duì)成熟,且為眾多的軟件開發(fā)項(xiàng)目所采用。

12、它作為連接Java應(yīng)用程序和數(shù)據(jù)庫(kù)的中間件,對(duì)JDBC進(jìn)行簡(jiǎn)單封裝,負(fù)責(zé)java對(duì)象的持久化。在分層結(jié)構(gòu)中處于持久化層,封裝對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)細(xì)節(jié),使業(yè)務(wù)邏輯層更專注于實(shí)現(xiàn)業(yè)務(wù)邏輯。4.J2EE技術(shù)MVC開發(fā)模式介紹MVC(model view controller)是一個(gè)設(shè)計(jì)模式,它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。 視圖 :顯示層,主要用來(lái)實(shí)現(xiàn)信息輸入和展示功能。模型:業(yè)務(wù)邏輯層主要用來(lái)實(shí)現(xiàn)具體的業(yè)務(wù)邏輯和狀態(tài)管理??刂破?:控制層,主要起到控制業(yè)務(wù)流程控制的作用,實(shí)現(xiàn)視圖模型部分的協(xié)同工作。MVC結(jié)構(gòu)第

13、三章 網(wǎng)上論壇系統(tǒng)開發(fā)一、數(shù)據(jù)庫(kù)開發(fā)與設(shè)計(jì)1.全局變量的配置(Hibernate.cfg.xml)<session-factory > <property name="hibernate.connection.url">jdbc:mysql:/localhost/si</property> <property name="hibernate.connection.driver_class">.mysql.jdbc.Driver</property> <property name="

14、;hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">

15、;true</property> <mapping resource="/Comment.hbm.xml"/> <mapping resource="/Message.hbm.xml"/> <mapping resource="/User.hbm.xml"/></session-factory>2.表格的創(chuàng)建package ;import org.hibernate.cfg.Configuration;import org.hibernate.tool.hbm2ddl.Sch

16、emaExport;public class ExportDB public static void main(String args) Configuration cfg=new Configuration().configure();SchemaExport export=new SchemaExport(cfg);export.create(true, true);3.POJO對(duì)象(1)User.javapackage ;public class User private String username;private String password;private int id;pub

17、lic int getId() return id;public void setId(int id) this.id = id;public String getPassword() return password;public String getUsername() return username;public void setPassword(String password) this.password = password;public void setUsername(String username) this.username = username;用戶表的映射文件配置(User

18、.hbm.xml)<class name=".User" table="user"><id name="id" column="id"><generator class="native" /></id><property name="username" column="username" /><property name="password" column="p

19、assword" /></class>(2)Message.java:package ;import java.util.Date;import java.util.HashSet;import java.util.Set;public class Message private Date time;private String content;private String author;private String title;private int id;private Set comment = new HashSet();public String getC

20、ommentCount() return String.valueOf(comment.size();public String getTimeString() return time.toString();public String getAuthor() return author;public void setAuthor(String author) this.author = author;public String getContent() return content;public void setContent(String content) this.content = co

21、ntent;public int getId() return id;public void setId(int id) this.id = id;public Date getTime() return time;public void setTime(Date time) this.time = time;public String getTitle() return title;public void setTitle(String title) this.title = title;public Set getComment() return comment;public void s

22、etComment(Set comment) this ment = comment;帖子表的映射文件配置(Message.hbm.xml)<class name="Message" table="message"><id name="id" column="id"><generator class="native" /></id><property name="time" column="time"

23、/><property name="content" column="content" /><property name="author" column="author" /><property name="title" column="title" /><set name="comment" table="comment" lazy="false"inverse=&q

24、uot;true" cascade="save-update"><key column="message_id"></key><one-to-many class=" ment" ></one-to-many></set></class>(3)Comment.javapackage ;import java.util.Date;public class Comment private Date time;private String content

25、;private String author;private int id;private int message_id;public String getTimeString()return time.toString();public String getAuthor() return author;public void setAuthor(String author) this.author = author;public String getContent() return content;public void setContent(String content) this.con

26、tent = content;public int getId() return id;public void setId(int id) this.id = id;public int getMessage_id() return message_id;public void setMessage_id(int message_id) this.message_id = message_id;public Date getTime() return time;public void setTime(Date time) this.time = time;回復(fù)表的映射文件配置(Comment.

27、hbm.xml)<class name=" ment" table="comment"><id name="id" column="id"><generator class="native" /></id><property name="time" column="time" /><property name="content" column="content&

28、quot; /><property name="author" column="author" /><property name="message_id" column="message_id" /></class>二、登錄模塊2.1登錄界面1)實(shí)現(xiàn)了用戶登錄與驗(yàn)證功能,使系統(tǒng)更加安全可靠。2)主要代碼a.web.xml的配置<servlet-mapping><servlet-name>action</servlet-name><u

29、rl-pattern>*.do</url-pattern></servlet-mapping>b.struts-config.xml的配置<struts-config><form-beans> <form-bean name="loginForm" type=".LoginActionForm"></form-bean></form-beans><action-mappings><action-mappings><action name

30、="loginForm" path="/login" type=".LoginAction"><forward name="login" path="/login.jsp"></forward><forward name="success" path="/post.do"></forward><forward name="failure" path="/failure

31、.jsp"></forward></action> </action-mappings></struts-config>c.登錄部分通過(guò)繼承Action 和 ActionForm類,實(shí)現(xiàn)了前臺(tái)的數(shù)據(jù)收集和處理。public class LoginAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)throw

32、s Exception LoginActionForm laf=(LoginActionForm)form;String username=laf.getUsername();String password=laf.getPassword();trySessionFactory sf =new Configuration().configure().buildSessionFactory();Session session=sf.openSession();Transaction tx=session.beginTransaction();String sqlQuery="selec

33、t u from User u where u.username='"+ username+"'"Query query=session.createQuery(sqlQuery);ArrayList userlist=(ArrayList)query.list();tx mit();session.close();User user=new User();if(null!=userlist)&&(userlist.size()>0)user=(User)userlist.get(0);if(!user.getPassword

34、().equals(password)return mapping.findForward("error"); elsereturn mapping.findForward("error"); catch(HibernateException e)e.printStackTrace();return mapping.findForward("error"); Session Session=request.getSession(); Session.setAttribute("username", username

35、);return mapping.findForward("success");2.2注冊(cè)模塊1)注冊(cè)界面2)主要代碼a.struts-config.xml的配置代碼<struts-config><form-beans><form-bean name="registerForm" type=". registeActionForm"></form-bean></form-beans><action-mappings></action><actio

36、n path="/register"type=".registerAction"name="registerForm"scope="request"><forward name="success" path="/registersuccess.jsp"></forward><forward name="failure" path="/registerfailure.jsp"></forwa

37、rd></action></action-mappings></struts-config>b.Action部分的代碼package ;import java.util.ArrayList;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import javax.servlet. . Session;import org.apache.struts.action.Action;import org.apache.struts.action.Ac

38、tionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.hibernate.Query;import org.hibernate.SQLQuery;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.classic.Sessi

39、on;public class registerAction extends Action Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form, ServletRequest request, ServletResponse response)throws Exception registerActionForm laf=(registerActionForm)form;String username=laf.getUsername();String password=laf.getPasswo

40、rd();String password1=laf.getPassword1();User user=new User();user.setUsername(username);user.setPassword(password);SessionFactory sf=new Configuration().configure().buildSessionFactory();Session session=sf.openSession(); Transaction t=session.beginTransaction(); session.save(user); t mit(); session

41、.close();return mapping.findForward("success");2.3論壇首頁(yè)1)首頁(yè)界面2)主要代碼a.struts-config.xml配置文件的主要代碼<struts-config><form-beans> <form-bean name="postForm" type=".PostActionForm"></form-bean></form-beans><action name="postForm" path=&

42、quot;/post" type=".PostAction"><forward name="messages" path="/messages.jsp"></forward><forward name="add" path="/newmessage.jsp"></forward><forward name="view" path="/viewmessage.jsp"></fo

43、rward><forward name="addcomment" path="/addcomment.jsp"></forward></action></action-mappings></struts-config>b.PostAction中的主要代碼package ;import java.io.IOException;import java.util.ArrayList;import java.util.Date;import java.util.Iterator;import ja

44、va.util.Set;import javax.servlet.ServletException;import javax.servlet. . ServletRequest;import javax.servlet. . ServletResponse;import javax.servlet. . Session;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.

45、apache.struts.action.ActionMapping;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;public class PostAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm

46、 form, ServletRequest request, ServletResponse response)throws IOException, ServletException PostForm postForm = (PostForm) form;String mode = request.getParameter("mode");if ("new".equalsIgnoreCase(mode) return executeNewAction(mapping, postForm, request, response); else if (&qu

47、ot;newsave".equalsIgnoreCase(mode) return executeNewSaveAction(mapping, postForm, request, response); else if ("view".equalsIgnoreCase(mode) return executeViewAction(mapping, postForm, request, response);else if ("addcomment".equalsIgnoreCase(mode) return executeAddCommentAc

48、tion(mapping, postForm, request, response); else if ("addcommentdone".equalsIgnoreCase(mode) return executeAddCommentDoneAction(mapping, postForm, request, response); else return executeManageAction(mapping, postForm, request, response);private ActionForward executeNewAction(ActionMapping

49、mapping,PostForm form, ServletRequest request, ServletResponse response) PostForm postForm = (PostForm) form;postForm.setNewTitle(null);postForm.setNewContent(null);return mapping.findForward("add");private ActionForward executeNewSaveAction(ActionMapping mapping,PostForm form, ServletRequ

50、est request, ServletResponse response) PostForm postForm = (PostForm) form;Message message = new Message();message.setTitle(postForm.getNewTitle();message.setContent(postForm.getNewContent();message.setTime(new Date(); Session Session = request.getSession();String author = (String) Session.getAttrib

51、ute("username");message.setAuthor(author);SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction tx = session.beginTransaction();session.save(message);tx mit();session.close();return executeManageAction(mapping, postForm, re

52、quest, response);private ActionForward executeViewAction(ActionMapping mapping,PostForm form, ServletRequest request, ServletResponse response) PostForm postForm = (PostForm) form;String hid = request.getParameter("hid");SessionFactory sf = new Configuration().configure().buildSessionFacto

53、ry();Session session = sf.openSession();Transaction tx = session.beginTransaction();String sqlQuery = "select m from Message m where m.title='" + hid + "'"Query lQuery = session.createQuery(sqlQuery);ArrayList messageList = (ArrayList) lQuery.list();Message message = (Mes

54、sage) messageList.get(0);tx mit();session.close();postForm.setViewMessage(message);return mapping.findForward("view");private ActionForward executeAddCommentAction(ActionMapping mapping,PostForm form, ServletRequest request, ServletResponse response) return mapping.findForward("addcom

55、ment");private ActionForward executeAddCommentDoneAction(ActionMapping mapping,PostForm form, ServletRequest request, ServletResponse response) PostForm postForm = (PostForm) form;Comment comment = new Comment();comment.setContent(postForm.getNewComment();comment.setTime(new Date();comment.setM

56、essage_id(postForm.getViewMessage().getId(); Session Session = request.getSession();String author = (String) Session.getAttribute("username");comment.setAuthor(author);SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Transaction t

57、x = session.beginTransaction();String sqlQuery = "select m from Message m where m.title='" + postForm.getViewMessage().getTitle()+ "'"Query lQuery = session.createQuery(sqlQuery);ArrayList messageList = (ArrayList) lQuery.list();Message message = (Message) messageList.get

58、(0);Set commentSet = message.getComment();System.out.println(commentSet.size();commentSet.add(comment);System.out.println(commentSet.size();message.setComment(commentSet);session.save(message);tx mit();session.close();return executeManageAction(mapping, postForm, request, response);private ActionFor

59、ward executeManageAction(ActionMapping mapping,PostForm form, ServletRequest request, ServletResponse response) PostForm postForm = (PostForm) form;ArrayList messageList = new ArrayList();SessionFactory sf = new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Tra

60、nsaction tx = session.beginTransaction();String sqlQuery = "from Message"Query lQuery = session.createQuery(sqlQuery);messageList = (ArrayList) lQuery.list();tx mit();session.close();for(int i=0; i<messageList.size(); i+)Message message = (Message)messageList.get(i);Set comment = message.getComment();Iterator it

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論