




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 JAVA框架編程 課 程 設 計 題 目 新聞發布系統的設計與實現 系 (部) 電子與信息工程系 班 級 12級計算機科學與技術4班 姓 名 劉寶同 學 號 2012020386 指導教師 成典勤 2015年7月19日電子與信息工程系 JAVA框架編程 課程設計任務書設計題目新聞發布系統的設計與實現已知技術參數和設計要求 已知技術參數:JSP+Servlet技術、My SQL數據庫、TOMCAT服務器、基于 MVC和Struts設計。 設計要求: 確保系統的安全性。設計內容與步驟 1.系統前臺實現新聞瀏覽和管理員登陸。 2.系統后臺實現管理員管理和新聞管理。設計工作計劃與進度安排 7月10日
2、:系統環境搭建 7月11日7月12日:系統分析和設計 7月13日7月14日:搭建系統框架 7月15日7月16日:系統實現 7月17日:系統測試 7月18日:寫文檔設計考核要求 1.所實現的系統必須應用到MVC模式。 2.系統實現方面必須至少應用到JAVA三大框架之一. 3.系統功能較完善,界面清晰、具有較好的用戶體驗。 4.系統運行較穩定,應具有一定的信息安全防護能力。計算機教研室制2012020386 劉寶同9新聞發布系統的設計與實現劉寶同安康學院 計算機科學與技術12級 陜西省 安康市 725000摘要:本系統采用Servlet + JSP技術,利用My SQL數據庫和TOMCAT服務器,
3、基于MVC的設計模式和Struts框架的結合,使用Java語言進行開發,實現新聞管理和用戶管理等功能,并保證系統的安全性。 關鍵字:Servlet ;JSP;MVC;Struts1 引言當今社會是一個信息化的社會,新聞作為信息的一部分,有著信息量大、類別繁多、形式多樣的特點,新聞發布系統的概念就此提出。新聞發布系統的提出使電視不再是唯一的新聞媒體,從此以后網絡也充當了一個重要的新聞媒介的功能。新聞系統將雜亂無章的信息經過組織,合理有序地呈現在大眾面前。新聞的迅速發展,大大地豐富了人們的生活,不知不覺中,它已經成為人們生活中不可或缺的重要組成部分。互聯網所容納的信息量大、內容豐富、信息及時、準確
4、,更有相關信息的全面的介紹與比較,大大地方便了人們對新聞的閱讀。2 需求分析2.1需求分析系統分為瀏覽器端和服務器端兩個方面:1.瀏覽器端實現新聞的瀏覽和管理員登陸。2.服務器端實現管理員管理和新聞管理:(1)管理員管理:管理員中包含一個總管理員,總管理員對普通管理員的信息進行編輯、添加和刪除,普通管理員之間互不干預。(2)新聞管理:實現新聞的瀏覽、增加、刪除和編輯。2.2 系統開發目標及功能系統采用B/S模式,系統中最關鍵的是數據庫系統,一個強大的數據庫可以支持和完善一個優秀的軟件設計。系統將軟件系統與數據庫系統連接起來,實現對軟件界面的觀察和數據的處理及操作。系統采用三層結構,在客戶端用戶
5、通過瀏覽器完成頁面的顯示,瀏覽器端的表現邏輯通過JSP網頁完成。而系統內部復雜的業務邏輯主要通過Java Bean的組件(Component)實現,Java Bean組件在WWW服務器上運行,通過JSP返回到瀏覽器。通過表現邏輯與業務邏輯的分離,使網頁內容簡潔,增強系統的可維護性和可擴充性。在服務器端,系統使用JDBC中間件訪問數據庫,數據庫服務器定義了本系統所需要的事務邏輯和數據邏輯。本系統使用JSP技術作為表現手段,服務器采用Tomcat作為JSP引擎,系統業務邏輯由Java Bean 組件完成,使用JDBC驅動程序訪問數據庫。系統采用My SQL數據庫作為數據庫服務器。 3 系統設計 3
6、.1系統總體流程 開始新聞系統首頁 管理員登陸瀏覽新聞管理員管理管理新聞 退出圖1 系統總體流程圖任何用戶從瀏覽器輸入地址進入本新聞發布系統后首先進入新聞主界面,即可進行新聞查看。管理員輸入登錄名和密碼后可進入后臺管理,對管理員和新聞進行管理。3.2 系統功能模塊設計從系統流程圖可以看到,本系統可以實現四個完整的功能,根據這些功能,設計出系統的功能模塊如圖2所示。新聞發布系統服務器端瀏覽器端新聞瀏覽管理員登陸管理員管理新聞管理 圖2 新聞發布系統總體功能模塊示意圖3.3系統詳細設計本系統主要對象為游客和管理員。1.游客:主要指新聞瀏覽者,使用該系統進行新聞瀏覽。2.管理員:主要指新聞管理員,能
7、夠實現登陸及對管理員和新聞管理。(1)登錄管理:通過登錄名和密碼進行登錄。(2)新聞管理:進行新聞的修改、刪除、發布。管理員可以通過這個模塊進行新聞的相關操作。(3)用戶管理:總管理員對普通管理員進行更改,包括增加管理員,刪除管理員,修改管理員密碼。3.4系統數據庫設計數據庫中主要有管理員表和新聞表:表1 管理員表 usersNanmeCodeTypePrimary keyForeign keyMandatory序號idInt(11)TrueFalseTrue用戶名usernameVarchar255)FalseFalseFalse密碼passwordVarchar255)FalseFalse
8、False表2 新聞表 newsNanmeCodeTypePrimary keyForeign keyMandatory序號idInt(11)TrueFalseTrue標題titleVarchar255)FalseFalseFalse日期timeDateFalseFalseFalse作者authorVarchar255)FalseFalseFalse內容簡介subjectVarchar255)FalseFalseFalse內容contentVarchar255)FalseFalseFalse3.5系統數據庫實施本系統數據庫采用Mysql數據庫軟件。(1)數據庫建立:在構造函數中建立與數據庫的連
9、接(2)創建管理員表和新聞表:在數據庫中直接創建管理員表和新聞表。4 系統實現與測試4.1核心模塊實現本系統采用MVC結構。把數據庫鏈接管理,數據庫事務處理,系統服務,系統顯示界面等模塊分開處理,核心業務在于管理員模塊對整個系統的維護及新聞發布。4.1.1 系統環境搭建使用Mysql、TOMCAT、jdk1.8、Myeclipse軟件。4.1.2 數據庫連接管理把數據庫鏈接分開處理,方便了以后數據事務處理提供方面,不必每次創建數據庫鏈接,節省了系統資源。4.1.3 數據庫事務處理新聞事務處理:新聞的添加、編輯、刪除和查看。管理員事務處理:增加管理員,刪除管理員,修改管理員密碼。4.1.4 界面
10、顯示 界面顯示層需注重界面的排版,MVC把JSP頁面的事務處理分離出來,較少的使用了java代碼,使業務層和顯示層得到了很好的分離。4.2功能測試1. 系統主界面如圖3所示:圖3 系統主界面2.管理員登陸成功之后界面如圖4所示:圖4 管理員界面3. 管理員添加用戶界面如圖5所示:圖5 添加用戶4.管理員添加新聞界面如圖6所示:圖6 添加新聞5 結語本次的課程設計實現的新聞發布系統,采用了 Servlet + JSP技術利用My SQL 數據庫和TOMCAT服務器,基于MVC的設計模式和Struts框架的結合,使用Java語言進行開發。前臺頁面用JSP來實現新聞的展示,后臺用Servlet類封裝
11、DAO層中的方法實現業務邏輯事務處理,并在后臺進行新聞的統一管理,保證了新聞的安全性。在系統實現的過程中出現了較多問題,例如:頁面亂碼的處理,servlet的配置,jre包的導入等,在處理問題的過程中,積累了較多的學習經驗。系統還有一些不足之處,之后會修改這些不足,做出更加完的新聞發布系統。參考文獻:1 劉斌. 精通JavaWeb整合開發第2版M.北京:電子工業出版社.20112 李興華,王月清. JavaWeb開發實戰經典M.北京:北京清華大學出版社.20103耿祥義,張躍平. JSP 實用教程M. 北京:清華大學出版社, 2003.3附件:主界面顯示<html><head
12、><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>新聞主頁</title></head><body > <div align="center"><font size="6" color="blue" >新聞發布系統</font></div><div align="cen
13、ter" > <form action="login.jsp" method="post" >登錄名:<input type="text" name="username"><br/><br/>密 碼:<input type="password" name="pwd" ><br/><input type="submit" value="登錄"/&
14、gt; </form><% NewsBiz newsBiz = new NewsBiz();List lstUser = new ArrayList();List lstNews = new ArrayList();try lstNews = newsBiz.getAllNews(0,0); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();request.setCharacterEncoding("utf-8");response.setCharacterEn
15、coding("UTF-8");%> <table width="1000" height="80" border="1" bgcolor="#E3E3E3"><tr><td>序號</td><td>標題</td><td>發布時間</td><td>作者</td><td>內容簡介</td><td>內容</td><td>
16、;瀏覽</td></tr><%for(int i = 0;i < lstNews.size();i+)News ns = (News) lstNews.get(i);%><tr><td><%=ns.getId()%></td><td><%=ns.getTitle()%></td><td><%=ns.getTime()%></td><td><%=ns.getAuthor()%></td><td&
17、gt;<%=ns.getSubject()%></td><td><%=ns.getContent()%></td><td><a href="lookContent.jsp?id=<%=ns.getId()%>">瀏覽</a></td> </tr><%></table></div></body></html>數據庫連接:public static Connection getConnec
18、tion() String user = "root"String pwd = "1234" String url = "jdbc:mysql:localhost:3306/newspublishsystem?useUnicoode=true&characterEncoding=utf8"Connection con = null;try Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection(url, user,
19、pwd); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return con;新聞事務處理:public class NewsBiz String sql = ""Connection conn = DbConnect.getConnection();public List getAllNews(
20、int flag,int id) throws ExceptionList lstNews = new ArrayList();if(flag = 1)sql="select * from news where id ="+id;elsesql="select * from news"Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while(rs.next()News ns = new News();ns.setId(rs.getInt(&quo
21、t;id");ns.setTitle(rs.getString("title");ns.setTime(rs.getString("time");ns.setAuthor(rs.getString("author");ns.setSubject(rs.getString("subject");ns.setContent(rs.getString("content");lstNews.add(ns);return lstNews;public News getNewsById(int i
22、d) throws SQLExceptionString sql = "select * from news where id ="+id;Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);News ns = new News();ns.setId(id);while(rs.next()ns.setTitle(rs.getString("title");ns.setTime(rs.getString("time");ns.setA
23、uthor(rs.getString("author");ns.setSubject(rs.getString("subject");ns.setContent(rs.getString("content");return ns;public boolean delNews(int newsId) throws SQLExceptionStatement stmt = conn.createStatement();sql = "delete from news where id="+newsId;stmt.exec
24、ute(sql);return true;public boolean addNews(int newsId,String newsTitle,String newsTime,String newsAuthor,String newsSubject,String newsContent) throws SQLExceptionStatement stmt = conn.createStatement();sql = "insert into news values("+newsId+",'"+newsTitle+"','
25、"+newsTime+"','"+newsAuthor+"','"+newsSubject+"','"+newsContent+"')"stmt.execute(sql);return true;public boolean updNews(int newsId,String newsTitle,String newsTime,String newsAuthor,String newsSubject,String newsContent) throw
26、s SQLExceptionStatement stmt = conn.createStatement();sql = "update news set title='"+newsTitle+"',time='"+newsTime+"',author='"+newsAuthor+"',subject='"+newsSubject+"',content='"+newsContent+"' where id=&
27、quot;+newsId;stmt.execute(sql);return true;public News LookNews(int newsId) throws SQLExceptionStatement stmt = conn.createStatement();sql = "select * from news where id="+newsId;ResultSet rs = stmt.executeQuery(sql);News ns = new News();while(rs.next()ns.setTitle(rs.getString("title&
28、quot;); ns.setSubject(rs.getString("subject");ns.setContent(rs.getString("content");ns.setAuthor(rs.getString("author");ns.setTime(rs.getString("time");return ns;管理員事務處理:public class UserBiz String sql = ""Connection conn = DbConnect.getConnection();
29、public List getAllUser(int flag,int id)throws ExceptionList lstUser = new ArrayList();if(flag = 1)sql="select * from users where id ="+id;elsesql="select * from users"Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while(rs.next()User ur = new User()
30、;ur.setId(rs.getInt("id");ur.setName(rs.getString("username");ur.setPwd(rs.getString("password");lstUser.add(ur);return lstUser;public User getUserById(int id) throws SQLExceptionString sql = "select * from users where id ="+id;Statement stmt = conn.createStat
31、ement();ResultSet rs = stmt.executeQuery(sql);User ur = new User();while(rs.next()ur.setId(rs.getInt("id");ur.setName(rs.getString("username");ur.setPwd(rs.getString("password");return ur;public boolean delUser(int userId) throws SQLExceptionStatement stmt = conn.createStatement();sql = "delete from users where id="+userI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國蒸發器用鋁帶市場調查研究報告
- 2025年中國程控交換機計費系統市場調查研究報告
- 2025年中國雙管電導測定儀市場調查研究報告
- 跨界交通事故賠償協商及責任分擔協議
- 2025年中國三聯單控開關市場調查研究報告
- 電子商務代付款合作協議
- 殘疾人特殊工作崗位開發與用工合同
- 民法學第五版課件12
- 華為發布PanguUltraMoE模型中文技術報告
- 2025年濾袋項目申請報告
- 渦輪增壓器系統及常見故障案例
- 宋大叔教音樂第三單元進階版講義2
- 兒科患兒及家屬的溝通技巧
- 26個科室建設指南
- 童聲合唱訓練講座
- (防火閥)檢驗報告
- 機械識圖題庫(共155頁)
- Invoice商業發票模板
- 《屏蔽泵培訓講義》
- 質量管理科學方法和工具介紹R1
- 暑假安全教育PPT課件
評論
0/150
提交評論