新闻发布系统设计源码
- 格式:doc
- 大小:945.62 KB
- 文档页数:70
瀚子昂新闻发布系统主要源码part2制作人:许国杰&& 易兰河北师范大学主页框架页面效果截图主要代码<tablewidth="412"height="27"border="0"cellpadding="0"cellspacing="0">b5E2RGbCAP<tr><tdwidth="37"> 。
<imgsrc="image/path_3.gif"width="25"height="23"></td>p1EanqFDPw<tdwidth="375">欢迎您:${erName}</td></tr></table>添加用户功能效果截图主要代码public String create(HttpServletRequest request,HttpServletResponse response> {// 创建管理员对象NewsUser user = new NewsUser(>。
// 获取管理员信息String userName = request.getParameter("UserName">。
DXDiTa9E3dString passWord = request.getParameter("PassWord">。
RTCrpUDGiTif (userName == "" || passWord == ""> {return"/user_add.html"。
1、需求概述随着互联网时代的发展,如今的Internet的迅速发展给人们带来了很多的方便,无论是手机还是PC端都给人们带来了极大的便利,使人们的生活得到了翻天覆地的变化,获得新闻资讯的途径不仅仅只是通过电视、广播或者报纸,这样获得新闻资讯的途径显然不是最快的,而且人们获得的新闻不是实时更新的,这些途径已经不能满足人们了解最新新闻资讯的要求,看过时的新闻让人们对新闻的了解显得很落后。
所以新闻发布系统是面向大众用户开发的一款实时更新新闻资讯,每天第一时间发布最新发生的新闻头条、动态,人们可以通过手机或PC端在任何时间任何地点,打开新闻发布系统就能实时观看最新新闻,让你身临其境,真正感受到各地的新闻变化,人文习俗,还能更快的了解各地的文化和人们的生活习惯,让每一个人都能更快的学习到更多的知识,丰富人们的日常生活。
柚子皮新闻发布系统可以提供基于互联网的新闻服务,主要包括新闻显示模块,用户可以查看各类型的新闻信息,管理员登录后可以进行对新闻的添加,删除,查看和修改等操作该系统主要包括主页,新闻查看页面,添加新闻页面,管理员和一般用户登录页面,已经登录成功和失败的页面,新闻管理页面等组成通过以上需求分析,可以得知该系统主要包括以下两类网站访问人员:可以查看各个模块的新闻信息管理员:可以对新闻进行增删改查的管理工作功能图如下:2、页面需求设计2.1、网站主页设计主要实现网站的总体信息显示,在网站中主要显示各个新闻模块中的最新发布的几条信2.2、新闻显示页面主要包括社会,娱乐,军事,体育,财经等新闻的显示,在本页中可以实现各个新闻模块的显示,显示的顺序为发布日期顺序2.3、登录页面主要用户给管理员输入用户名和密码的,当输入的口令正确时,可以跳转到新闻管理页面,当输入错误时,跳转到指定页面并且给出提示信息2.4、管理员管理页面主要实现管理员对新闻的添加,删除及修改等功能,管理员还可以对每一条新闻进行查看。
3、程序概要设计本系统要求实现新闻发布系统的各项基本功能,所以从安全性和易维护性考虑,选择了Web实现技术。
新闻发布系统系统第一部分案例描述案例目的使用HTML和CSS样式表构建小型网站,熟悉网站的静态页面的制作。
案例难度★★★案例覆盖技能点a)html基本元素b)Css样式表c)JavaScript编程基础推荐案例完成时间10天适用课程和对象无对象前置知识:无第二部分需求和开发环境案例需求把数据库中新闻信息,通过组织,合理有序地呈现在客户面前。
使用技术和开发环境Dreamweaver、UltraEdit等均可。
建议使用UltraEdit。
设计网站的标准1.所设计和制作的网站为中小型门户网站,编辑好的网站页面必须能够满足兼容IE6、IE7、IE8和Firefox浏览器。
2.网站中的栏目标题需满足自动生成和替换功能。
3.所编辑的静态网站必须全部使用DIV+css布局,内部文章列表使用无序列表。
不要使用表格。
4.所有文件命名要用英文,不能使用汉语拼音。
5.文件夹统一使用:Images 存放图片。
Javascript 存放脚本。
Style 存放样式。
Flash存放动画。
6.图片命名:背景图片:Bj_图片名,网页图片:Pic_图片名。
图片格式:.gif, .jpg。
页面要求1.文章列表使用无序列表时其代码形式参考如下:<ul><li><span class="title"><a href="/contents/25/261.html">这是网站栏目的文章的标题</a></span><span class="date">2010-08-03</span></li><li><span class="title"><a href="/contents/25/261.html">这是网站栏目的文章的标题</a></span><span class="date">2010-08-03</span></li></ul>2.图片列表使用无序列表时其代码形式参考如下:<ul ><li><a href="/contents/25/261.html"><img src="/upload/2010/8/314144319.jpg"border="0" /></a><span class="lbt"><a href="/contents/25/261.html">图片栏目文章的标题</a></span></li> </ul>3.下图所示的形式可以使用一次表格,且表格只能针对单个人使用:<ul><li><table ><tr><td rowspan="4"> </td> <td> </td> </tr><tr> <td> </td></tr><tr> <td> </td> </tr><tr> <td> </td></tr></table></li></ul>第三部分功能点介绍功能点介绍1新闻发布系统首页5新闻发布后台管理——登录新闻发布后台管理系统的图片,没有制作。
///<summary>///DBHelper 数据库连接///</summary>public class DBHelper{private static string strconn = ConfigurationManager.ConnectionStrings["NewsConnectionString"].ToString();public static SqlConnection GetConnection(){SqlConnection con = new SqlConnection();con.ConnectionString = strconn;return con;}public DBHelper(){////TODO: 在此处添加构造函数逻辑//}}///<summary>///News 类///</summary>public class News{private int newid;private string newtitle;private string newdate;private string newskey;private string newscontent;private string userid;private string picture;public int iNewid{set { newid = value; }get { return newid; }}public string sNewtitle{set { newtitle = value; }get { return newtitle; }}public string sNewdate{set { newdate = value; }get { return newdate; }}public string sNewskey{set { newskey = value; }get { return newskey; }}public string sContent{set { newscontent = value; }get { return newscontent; }}public string sUserid{set { userid = value; }get { return userid; }}public string sPicture{set { picture = value; }get { return picture; }}public News(){////TODO: 在此处添加构造函数逻辑//}}///<summary>///user 类///</summary>public class user{private int id;private string username;private string password;private string sex;private string power; private string time;private string telephone; private string picture;public int Id{get { return id; }set { id = value; }}public string UserName {set { username=value; }get { return username; }}public string Pwd{set { password=value; }get { return password; }}public string Sex{set { sex=value; }get { return sex; }}public string Power{set { power=value; }get { return power; }}public string Time{set { time=value; }get { return time; }}public string Telephone{set { telephone=value; }get { return telephone; }}public string Picture{set { picture=value; }get { return picture; }}public user(){////TODO: 在此处添加构造函数逻辑//}}///<summary>///NewsDao 数据访问层///</summary>public class NewsDao{private SqlConnection _con = null;private SqlTransaction _tran = null;public NewsDao(SqlConnection con, SqlTransaction tran){this._con = con;this._tran = tran;}#region增加private string_insert = @"INSERT INTO T_NEWS(NewsTitle,NewsDate,Newskey,Newscontent,UserID,Picture)values(@title,@date,@key,@content,@uid,@pic)";public int AddNews(News news){int result=0 ;SqlCommand cmd = new SqlCommand(_insert);cmd.Connection = this._con;cmd.Transaction = this._tran;//mandText = this._insert;cmd.Parameters.AddWithV alue("@title", news.sNewtitle);cmd.Parameters.AddWithV alue("@date", news.sNewdate);cmd.Parameters.AddWithV alue("@key", news.sNewskey);cmd.Parameters.AddWithV alue("@content",news.sContent);cmd.Parameters.AddWithV alue("@uid", news.sUserid);cmd.Parameters.AddWithV alue("@pic", news.sPicture);try{result = cmd.ExecuteNonQuery();}catch(Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region删除private string_remove = @"delete NewsTitle,NewsDate,Newskey,Newscontent,UserID,Picture where NewsID=@id";public int Delete(string r){int result = 1;SqlCommand cmd = new SqlCommand();mandText = _remove;cmd.Connection = _con;cmd.Transaction = _tran;cmd.Parameters.AddWithV alue("@id", r);try{result *= cmd.ExecuteNonQuery();}catch (Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region修改private string_amend = @"update T_USER set NewsTitle=@title,NewsDate=@date,Newskey=@key,Newscontent=@content,UserID=@uid,Picture=@pic where NewID=@id";public int update(News news){int result = 1;SqlCommand cmd = new SqlCommand();mandText = _amend;cmd.Transaction = this._tran;cmd.Connection = this._con;cmd.Parameters.AddWithV alue("@title", news.sNewtitle);cmd.Parameters.AddWithV alue("@date", news.sNewdate);cmd.Parameters.AddWithV alue("@key", news.sNewskey);cmd.Parameters.AddWithV alue("@content",news.sContent);cmd.Parameters.AddWithV alue("@uid", news.sUserid);cmd.Parameters.AddWithV alue("@pic",news.sPicture);try{result = cmd.ExecuteNonQuery();}catch (Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region查询private string_select = @"select NewsID,NewsTitle,NewsDate,Newskey,Newscontent,UserID,Picture from T_NEWS where NewID=@id";public int FindSelectID(string id){int result = 1;SqlCommand cmd = new SqlCommand();mandText = _select;cmd.Connection = this._con;cmd.Transaction = this._tran;cmd.Parameters.AddWithV alue("@id", id);try{result = cmd.ExecuteNonQuery();}catch (Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region新闻标题private static string _sn = @"select * from T_NEWS"; public List<News> selectID(){List<News> ur = new List<News>();SqlCommand cmd = new SqlCommand(_sn);cmd.Connection = _con;cmd.Transaction = _tran;SqlDataReader dr;try{dr = cmd.ExecuteReader();while (dr.Read()){News use = new News();use.iNewid = dr.GetInt32(0);//IDuse.sNewtitle = dr.GetString(1);//标题ur.Add(use);}}catch (Exception ex){System.Diagnostics.Debug.Write(ex.Message);}finally{cmd.Dispose();}return ur;}#endregion#region新闻内容private static string _s = @"select * from T_NEWS where NewsID=@id";public List<News> selectcontent(string id){List<News> result = new List<News>();SqlCommand cmd = new SqlCommand();SqlDataReader dr = null;mandText = _s;cmd.Connection = _con;cmd.Parameters.AddWithV alue("@id",id);try{dr = cmd.ExecuteReader();while (dr.Read()){News ns = new News();ns.sContent = dr.GetString(4);ns.sNewtitle = dr.GetString(1);result.Add(ns);}}catch (Exception ex){}finally{cmd.Dispose();}return result;}#endregion}///<summary>///newserver 业务逻辑层///</summary>public class newserver{public newserver(){////TODO: 在此处添加构造函数逻辑//}SqlConnection _con =DBHelper.GetConnection();SqlTransaction _tran = null;#region发布新闻public string AddNew(News news){_con.Open();_tran = _con.BeginTransaction();NewsDao newss = new NewsDao(_con, _tran);int rel = newss.AddNews(news);string results;if (rel == 1){results = "新闻发布成功!";_mit();//Console.Write("<script>alert('新闻发布成功!')</script>");}else{results = "新闻发布失败!";_tran.Rollback();//Console.Write("<script>alert('新闻发布失败!')</script>");}_con.Dispose();return results;}#endregion#region显示新闻内容public List<News> SID(){_con.Open();_tran = _con.BeginTransaction();List<News> result = new List<News>();NewsDao nda = new NewsDao(_con,_tran);result = nda.selectID();_con.Dispose();return result;}#endregion}///<summary>///userDao 数据访问层///</summary>public class userDao{// static string strcon = ConfigurationManager.ConnectionStrings["strConn"].ToString();// SqlConnection _con=new SqlConnection(strcon);private SqlConnection _con = null;private SqlTransaction _tran = null;public userDao(SqlConnection con,SqlTransaction tran){this._con=con;this._tran =tran;}#region插入private string_insert = @"insert into T_USER(username,password,sex,telephone,power,time,picture) values(@user,@pwd,@sex,@tel,@power,@time,@pic)";public int AddNews(user User){int result=0;SqlCommand cmd = new SqlCommand();mandText = _insert;cmd.Connection = _con;cmd.Transaction = _tran;cmd.Parameters.AddWithV alue("@user",erName);cmd.Parameters.AddWithV alue("@pwd", User.Pwd);cmd.Parameters.AddWithV alue("@sex", User.Sex);cmd.Parameters.AddWithV alue("@tel", User.Telephone);cmd.Parameters.AddWithV alue("@power", User.Power);cmd.Parameters.AddWithV alue("@time", User.Time);cmd.Parameters.AddWithV alue("@pic", User.Picture);try{result = cmd.ExecuteNonQuery();}catch(Exception ex){result = -1;System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region密码修改string updatastr = @"update T_USER set password=@newpwd where username=@name and password=@oldpwd ";public int UpdatePwd(string name, string oldpwd, string newpwd){int result = 0;SqlCommand cmd = new SqlCommand(updatastr);cmd.Connection = _con;cmd.Transaction = _tran;cmd.Parameters.AddWithV alue("@name", name);cmd.Parameters.AddWithV alue("@newpwd", newpwd);cmd.Parameters.AddWithV alue("@oldpwd", oldpwd);try{result = cmd.ExecuteNonQuery();}catch{result = -1;}finally{cmd.Dispose();}return result;}#endregion#region按姓名删除记录private string _remove = @"delete T_USER where username=@name";public int Delete(string r){int result = 0;SqlCommand cmd = new SqlCommand();mandText = _remove;cmd.Connection = _con;cmd.Transaction = _tran;cmd.Parameters.AddWithV alue("@name",r);try{result = cmd.ExecuteNonQuery();}catch(Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region修改private string_amend = @"update T_USER set username=@username,password=@pwd,sex=@sex,telephone=@tell,power=@power,prcture=@pic where ID=@id";public int update(user User){int result = 0;SqlCommand cmd = new SqlCommand();mandText = _amend;cmd.Transaction = this._tran;cmd.Connection = this._con;cmd.Parameters.AddWithV alue("@username",erName);cmd.Parameters.AddWithV alue("@pwd",User.Pwd);cmd.Parameters.AddWithV alue("@sex",User.Sex);cmd.Parameters.AddWithV alue("@tell",User.Telephone);cmd.Parameters.AddWithV alue("@power",User.Power);cmd.Parameters.AddWithV alue("@time",User.Time);try{result=cmd.ExecuteNonQuery();}catch(Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region查询private string_select = @"select username,password,sex,telephone,power,time,picture from T_USER where ID=@id";public int FindSelectID(string id){int result = 1;SqlCommand cmd = new SqlCommand();mandText = _select;cmd.Connection = this._con;cmd.Transaction = this._tran;cmd.Parameters.AddWithV alue("@ID",id);try{result+=cmd.ExecuteNonQuery();}catch(Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion#region按姓名查询private string _sn = @"select * from T_USER where username like @name"; public List<user> selectByName(string name){List<user> ur = new List<user>();SqlCommand cmd = new SqlCommand(_sn);cmd.Connection = _con;cmd.Transaction = _tran;cmd.Parameters.AddWithV alue("@name","%"+name+"%");SqlDataReader dr;try{dr = cmd.ExecuteReader();while(dr.Read()){user use=new user();use.Id =dr.GetInt32(0);erName=dr.GetString(1);use.Pwd=dr.GetString(2);use.Sex = dr.GetString(3);use.Telephone=dr.GetString(4);use.Power=dr.GetString(5);use.Time=dr.GetString(6);use.Picture=dr.GetString(7);ur.Add(use);}}catch(Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return ur;}#endregion#region按账号、密码登录private string denglu = @"select count(*) from T_USER where username=@name and password=@pwd";public int dengl(string name,string pwd){// _con.Open();int result = 0;SqlCommand cmd = new SqlCommand(denglu);cmd.Connection = _con;cmd.Transaction = _tran;cmd.Parameters.AddWithV alue("@name",name);cmd.Parameters.AddWithV alue("@pwd", pwd);try{result=(Int32)cmd.ExecuteScalar();}catch (Exception ex){System.Diagnostics.Debug.Write(ex);}finally{cmd.Dispose();}return result;}#endregion}///<summary>///UserService 业务逻辑层///</summary>public class UserService{public UserService(){////TODO: 在此处添加构造函数逻辑//}SqlConnection _con = DBHelper.GetConnection(); SqlTransaction _tran = null;#region用户注册public string AddNew(user User){_con.Open();_tran = _con.BeginTransaction();string results;userDao newss = new userDao(_con, _tran);int rel = newss.AddNews(User);if (rel == 1){results = "添加成功!";_mit();}else{results = "添加失败!";_tran.Rollback();}_con.Dispose();return results;}#endregion#region按账号、密码登录查询public int denl(string name, string password){_con.Open();_tran = _con.BeginTransaction();userDao ud = new userDao(_con, _tran);int result = ud.dengl(name, password);_mit();_con.Dispose();return result;}#endregion#region按姓名查询public List<user> selectname(string name){List<user> result = new List<user>();_con.Open();_tran = _con.BeginTransaction();userDao ud = new userDao(_con, _tran);result = ud.selectByName(name);_con.Dispose();return result;}#endregion#region修改密码public string Updatepwd(string userid, string oldpwd, string newpwd) {string result;_con.Open();_tran = _con.BeginTransaction();userDao udao = new userDao(_con, _tran);int s = udao.UpdatePwd(userid, oldpwd, newpwd);if (s == 1){_mit();//事务数据提交,保存数据到数据库result = "密码修改成功";}else{_tran.Rollback();//事务回滚。
目录1.绪论 (1)1.1选题的意义 (1)1.2新闻发布的研究现状 (1)1.3毕业设计解决的主要问题 (2)2.B/S架构的新闻发布系统的概述 (2)2.1系统的概念 (2)2.2可行性分析 (2)2.3系统的主体架构及开发工具 (3)3.系统设计 (4)3.1系统功能结构图 (5)3.2数据库结构设计 (5)3.3网站总体架构 (7)3.4网站主要功能模块设计 (9)4.新闻发布系统关键代码的实现 (12)4.1连接数据库代码的实现 (12)4.2 对STRUTS-CONFIG.XML的配置 (13)4.3获取页面表单元素的关键代码 (13)4.4实现各种业务逻辑的代码 (14)4.5 采用LOGIC标签将后台数据遍历后显示到前台JSP页面 (15)4.6系统中的三种传值方式及乱码解决方法 (15)5.新闻发布系统测试 (16)6.总结与展望 (16)6.1总结 (16)6.2展望 (17)参考文献 (17)ABSTRACT (18)基于JSP的新闻发布系统的设计与实现内容提要:将数据库同java/web设计相结合,重点讲述了基于JSP的新闻发布系统的设计与实现。
设计工具采用的是myeclipse并采用了struts架构,实现了网站新闻的动态管理,可以用来动态发布新闻信息,对新闻信息的发布,增删查改等各种操作。
通过开发一个与实际应用相结合的新闻发布系统软件深入学习和理解了软件的初步开发流程。
关键词:新闻发布系统 B/S架构 JSP STRUTS JAVABEAN1. 绪论1.1选题的意义Internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视、广播、报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻。
由于互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面的介绍与比较,大大地方便了人们的阅读,因此在短短几年的时间里,互联网便济身于众多媒体之间,并具有相当一部分媒体人群。
下面实现前台首页,新闻分类(体育新闻,科技新闻等),新闻列表分页。
1、首页的jsp代码;[java]view plaincopyprint?1.<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>2.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">3.<html>4. <head>5. <title>新闻主页</title>6.7. </head>8. <body align="center">9. <div align="center">10. <%@include file="head.jsp"%>11. <table style="border:6px solid #ccc" border="1px" cellspacing="0px" width="1200px" height="600px">12. <tr>13. <td><br/><br/><br/><br/>14. <div style="width:300px"><img src="images/z_title.png"/></div><br/>15. <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="all" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews" ></iframe></td>16. <td>17. <br/><br/><br/><br/>18. <div style="width:300px"><img src="images/k_title.png"/></div><br/>19. <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="technology" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews&category_id=1"></iframe ></td>20. </tr>21. <tr>22. <td>23. <br/><br/><br/><br/>24. <div style="width:300px"><img src="images/t_title.png"/></div><br/>25. <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="popular" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews&category_id=2"></iframe></ td>26. <td>27. <br/><br/><br/><br/>28. <div style="width:300px"><img src="images/y_title.png"/></div><br/>29. <iframe frameborder="0" width="100%" height="100%" scrolling="no" name="sports" src="${pageContext.request.contextPath}/FrontNewsAction?action=findAllNews&category_id=3" ></iframe></td >30. </tr>31. </table>32. </div>33. </body>34.</html>2、新闻分类,新闻分页的实现:[java]view plaincopyprint?1.package com.news.action;2.3.import java.io.IOException;4.5.import javax.servlet.ServletException;6.import javax.servlet.http.HttpServletRequest;7.import javax.servlet.http.HttpServletResponse;8.9.import com.news.domain.News;10.import com.news.domain.PageBean;11.import com.news.domain.QueryInfo;12.import com.news.service.FrontNewsService;13.import com.news.utils.WebUtils;14.15.public class FrontNewsAction extends BaseAction{16. public void findAllNews(HttpServletRequest request,HttpServletResponse response) throws Exception{17. try{18. //synchronized (this) {19. QueryInfo info=WebUtils.request2bean(request, QueryInfo.class);20. FrontNewsService service=new FrontNewsService();21. String cid=request.getParameter("category_id");22. int category_id=0;23. if(cid!=null){24. category_id=Integer.parseInt(cid);25. }26. PageBean bean= service.pageQuery(info,category_id);27. System.out.println("大小是:"+bean.getList().size());28. String jsp_Page="/news_jsps/News_All.jsp";29. System.out.println(category_id);30. if(category_id==1){31. jsp_Page="/news_jsps/News_Technology.jsp";32. }else if(category_id==2){33. jsp_Page="/news_jsps/News_Sports.jsp";34. }else if(category_id==3){35. jsp_Page="/news_jsps/News_Popular.jsp";36. }37. request.setAttribute("pagebean", bean);38. request.getRequestDispatcher(jsp_Page).forward(request, response);39. //}40.41. }catch (Exception e) {42. e.printStackTrace();43. request.setAttribute("message", "查看新闻列表失败!!");44. request.getRequestDispatcher("/message.jsp").forward(request, response);45. }46. }47. public void findNewsById(HttpServletRequest request,HttpServletResponse response) throws Exception{48. try{49. String news_id=request.getParameter("news_id");50. FrontNewsService service=new FrontNewsService();51. News news= service.findNewsById(Integer.parseInt(news_id));52. request.setAttribute("news", news);53. request.getRequestDispatcher("/news_jsps/News_Information.jsp").forward(request, response);54. }catch (Exception e) {55. e.printStackTrace();56. request.setAttribute("message", "查看新闻失败!!");57. request.getRequestDispatcher("/message.jsp").forward(request, response);58. }59. }60.}service层:[java]view plaincopyprint?1.package com.news.service;2.3.import com.news.dao.FrontNewsDao;4.import com.news.domain.News;5.import com.news.domain.PageBean;6.import com.news.domain.QueryInfo;7.import com.news.domain.QueryResult;8.9.public class FrontNewsService {10.11. FrontNewsDao dao=new FrontNewsDao();12. public PageBean pageQuery(QueryInfo queryInfo,int category_id) throws Exception13. {14. //调用dao获得页面数据15. QueryResult qr= dao.pageQuery(queryInfo.getStartindex(), queryInfo.getPagesize(),category_id);16. //把获得页面数据封装到pagebean里面17. PageBean pagebean=new PageBean();18. pagebean.setList(qr.getList());19. pagebean.setTotalrecord(qr.getTotalrecord());20. pagebean.setCurrentpage(queryInfo.getCurrentpage());21. pagebean.setPagesize(queryInfo.getPagesize());22. return pagebean;23. }24. public News findNewsById(int news_id) throws Exception{25. return dao.findNewsById(news_id);26. }27.}dao层:[java]view plaincopyprint?1.package com.news.dao;2.3.import java.sql.Connection;4.import java.sql.PreparedStatement;5.import java.sql.ResultSet;6.import java.util.ArrayList;7.import java.util.HashMap;8.import java.util.LinkedList;9.import java.util.List;10.import java.util.Map;11.12.import net.sf.json.JSONArray;13.14.import mons.dbutils.DbUtils;15.16.import com.news.domain.Category;17.import com.news.domain.News;18.import com.news.domain.QueryResult;19.import com.news.utils.JdbcUtils;20.21.public class FrontNewsDao {22. public QueryResult pageQuery(int startindex,int pagesize,int category_id) throws Exception23. {24. Connection conn=null;25. PreparedStatement st=null;26. ResultSet rs=null;27. QueryResult qr=new QueryResult();28. try {29. conn=JdbcUtils.getConnection();30. String sql="select * from tb_news order by id desc limit ?,?";31. System.out.println("分类id:"+category_id);32. if(category_id>0){33. sql="select * from tb_news where category_id=? order by id desc limit ?,? ";34. }35. st=conn.prepareStatement(sql);36. if(category_id>0){37. st.setInt(1,category_id );38. st.setInt(2, startindex);39. st.setInt(3, pagesize);40. }else{41. st.setInt(1, startindex);42. st.setInt(2, pagesize);43. }44. rs=st.executeQuery();45. List list=new LinkedList();46. while(rs.next())47. {48. News n=new News();49. n.setTitle(rs.getString("title"));50. n.setContent(rs.getString("content"));51. n.setNews_id(rs.getInt("id"));52. n.setDate(rs.getDate("date"));53. n.setCategory(new Category(rs.getInt("category_id"),null));54. list.add(n);55. }56. if(category_id>0){57. sql="select count(*) from tb_news where category_id=?";58. }else{59. sql="select count(*) from tb_news";60. }61. st=conn.prepareStatement(sql);62. if(category_id>0){63. st.setInt(1,category_id );64. }65. rs=st.executeQuery();66. if(rs.next())67. {68. qr.setTotalrecord(rs.getInt(1));69. }70. qr.setList(list);71. return qr;72. } catch (Exception e) {73. // TODO Auto-generated catch block74. throw new Exception(e);75. }finally{76. DbUtils.closeQuietly(conn, st, rs);77. }78. }79. public News findNewsById(int news_id) throws Exception{80. Connection conn=null;81. PreparedStatement st=null;82. ResultSet rs=null;83. try {84. conn=JdbcUtils.getConnection();85. String sql="select * from tb_news where id=?";86. st=conn.prepareStatement(sql);87. st.setInt(1, news_id);88. rs=st.executeQuery();89. News n=new News();90. if(rs.next())91. {92.93. n.setTitle(rs.getString("title"));94. n.setContent(rs.getString("content"));95. n.setNews_id(rs.getInt("id"));96. n.setDate(rs.getDate("date"));97. n.setCategory(new Category(rs.getInt("category_id"),null));98. }99. return n;100. } catch (Exception e) {101. // TODO Auto-generated catch block102. throw new Exception(e);103. }finally{104. DbUtils.closeQuietly(conn, st, rs);105. }106. }107.}工具类:[java]view plaincopyprint?1.package com.news.utils;2.import java.sql.Connection;3.import java.sql.ResultSet;4.import java.sql.SQLException;5.import java.sql.Statement;6.7.import javax.servlet.ServletContextEvent;8.import javax.servlet.ServletContextListener;9.import javax.sql.DataSource;10.11.import boPooledDataSource;12.import com.mchange.v2.c3p0.DataSources;13.14.public class JdbcUtils implements ServletContextListener{15.16. private static ComboPooledDataSource ds=null;17. static{18. try{19. ds=new ComboPooledDataSource();20. }catch (Exception e) {21. // TODO: handle exception22. throw new ExceptionInInitializerError(e);23. }24. }25. public static DataSource getDateSource(){26. return ds;27. }28. public static Connection getConnection() throws SQLException{29. return ds.getConnection();30. }31. public static void release(Connection conn,Statement st,ResultSet rs)32. {33. if(rs!=null)34. {35. try{36. rs.close();37. }catch (Exception e) {38. // TODO: handle exception39. e.printStackTrace();40. }41. rs=null;42. }43. if(st!=null)44. {45. try{46. st.close();47. }catch (Exception e) {48. // TODO: handle exception49. e.printStackTrace();50. }51. st=null;52. }53. if(conn!=null){54. try{55. conn.close();56. }catch (Exception e) {57. // TODO: handle exception58. e.printStackTrace();59. }60. conn=null;61. }62. }63. public void contextDestroyed(ServletContextEvent arg0) {64. // TODO Auto-generated method stub65. System.out.println("���");66. try67. {68. DataSources.destroy(ds);69. }70. catch (Exception e)71. {72. e.printStackTrace();73. }74.75.76. try {77. Thread.sleep(1000);78. } catch (InterruptedException e) {79. e.printStackTrace();80. }81. }82. public void contextInitialized(ServletContextEvent arg0) {83. // TODO Auto-generated method stub84.85. }86.}系统的主要源码就贴到这,接下来提供源码下载整个项目的源码下载。
西安航空职业技术学院毕业设计(论文)论文题目:新闻发布系统所属系部:计算机工程系指导老师:姚海军职称:副教授学生姓名:刘鑫班级、学号: 08383110 专业:软件技术西安航空职业技术学院制2011年 04月 15日西安航空职业技术学院毕业设计(论文)任务书题目:用基于PHP+MySQL技术完成新闻发布系统。
任务与要求:前台完成对新闻的查看及评价;后台主要分为管理员(对所有信息进行管理)、编辑(审核并发布新闻)、记者(上传新闻)三大模块。
时间: 2011 年 02 月 21 日至2011年 04月 15 日共 8 周所属系部:计算机工程系学生姓名:刘鑫学号:083831-10专业:软件技术指导单位或教研室:软件教研室指导教师:姚海军职称:副教授西安航空职业技术学院制2010年 11月 25日II毕业设计(论文)进度计划表本表作评定学生平时成绩的依据之一。
新闻发布系统【摘要】21世纪是信息的时代,是网络的时代,进入信息社会高速发展的时代,数字化革命给所有领域带来新的改变。
随着Internet的普及,无论人们相隔多么遥远,都有天涯若比邻的感觉。
足不出户,便可知天下新近之大事,便可与大洋彼岸的朋友畅谈无阻。
网页逐渐融入人们的生活,快速及时地浏览新闻,获取五彩缤纷的网上信息,已成为人们日常生活的一部分,与此同时越来越多的企业建立了自己的Web网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,与合作伙伴建立联系,以及开展电子商务等。
互联网的世界里蕴藏着无限生机,这里只有想不到的、没有做不到的。
网络发展前景无限,及早与网络结合,与信息时代同步,与高科技汇合,定会给社会各行各业的发展注入新鲜的活力。
在网络技术的领域里,传统的商务网站的管理方式有两种,一是静态HTML页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,然而随着Internet的进一步发展,这种静态Web站点的开发与维护变得越来越困难,而且不能与浏览者进行有效交互,从而使得这种方法已不多用。
源代码范例参考------------------------------------------------------ 5 新闻系统的主要开发过程5.1 数据库设计该系统使用Access作为使用程序的数据库,建立了有6张数据表:Lb_Admin表用于存储帐户的信息,Lb_Class表用于存储新闻分类信息,Lb_Links 表用于存储友情链接信息, Lb_News表用于存储新闻内容, Lb_Setup表用于存储系统设置信息,Lb_Skins表用于存储页面风格。
Lb_News表与Lb_Class表相关联。
在6个数据表中,主要介绍一下新闻表和账户表如下:Lb_News表如表1所示:表1 新闻表n_id为该表主键,n_cid为所属新闻分类ID,n_hit为点击数,n_commend 用于判断是否为推荐新闻,n_index用于判断是否为首页新闻,n_title为新闻标题,n_date为发布新闻的日期,n_author为新闻发布者名,n_content为新闻内容,n_ispic用于判断是否为首页滚动图片,n_spic为首页所滚动图片的存储地址,,n_check用于判断是否为审核新闻(值为0表示未通过审核,值1表示通过审核),n_intro为新闻简介,n_publisher为账户类型,如为管理员、审核员或新闻输入员。
Lb_Admin表如表2所示:表2 账户表A_Id为该表主键,A_Name为用户名,A_Password为密码,A_Grade为用户级别。
5.2各主要窗体页的图形界面介绍◆首页:主要功能是显示最热门、最新和推荐的前8条新闻,显示新闻搜索功能、页面风格设置、新闻分类、滚动新闻图片和网站公告等;◆新闻详细内容查看页:在首页里点击新闻标题所进入的页面,显示当前所点击新闻的详细内容,新闻标题正中加粗显示,在添加新闻时,根据所编辑的新闻内容对应显示;◆新闻输入员页面:新闻输入员只具有添加新闻的权限,任何浏览者都可注册成为新闻输入员,但所添加的新闻并不能直接发布到网站上显示,而需经过审核员或管理员审核是否给予通过,这保证了网站内容管理的合理性,并不是随便添加的新闻都能发布;◆新闻审核员页面:审核员管理页面主要是对新闻进行审核,可对需审核的新闻内容进行查看和编辑,以确定是否授权发布,审核员除审核新闻外,也可添加新闻和管理新闻,所添加的新闻不需审核而可以直接发布,管理新闻包括修改和删除新闻;◆新闻管理员页面:管理员具有系统的所有权限,除审核员的审核新闻、添加新闻和管理新闻外,还可添加新闻部门和用户。
新闻发布系统一、新闻发布系统的页面构成在新闻发布系统中,需要以下的动态页面。
index.asp:以非管理员身份进入首页(不能发布新闻、不能修改、不能删除;只能浏览。
)indexs.asp:以管理员身份进入首页(能发布新闻,能修改,能删除。
)add.asp:发布新闻页面add_ok.asp: 提示发布新闻成功的页面play.asp:显示新闻具体内容的页面edit.asp:对出错的新闻内容进行编辑的页面edit_ok.asp:提示编辑新闻成功的页面del.asp:对错误的或过时的新闻进行删除的页面del_ok.asp:提示删除新闻成功的页面login.asp:上面的发布,修改,删除新闻等操作只有管理员有权力。
管理员通过这个页面来登录管理这个新闻发布系统login_ok.asp:提示管理员登录成功的页面sorry.asp:访问了无权访问的页面时所显示的页面二、数据库设计新建包含“admin”表和“news”表的数据库,其中表“admin”用于存放管理员的登录名和密码,表“news”里存放发布新闻的相关信息。
“admin”表:“news”表三、新闻发布系统开发过程1.在本地磁盘新建文件夹,命名为NEW2.创建数据库,命名为news3.配置好IIS、ODBC4.在Dreamweaver中新建站点,文档类型为ASP VBScript5.具体页面制作该新闻发布系统表格背景颜色为#ff72001)index.asp(标题改为新闻发布)1、插入5行1列的表格,居中对齐。
输入相关文本。
2、在第一行、第三行拆分单元格,在第四行嵌套一个1行1列的表格。
效果图如上(记录集字段那一列表格)3、定义数据源:单击数据库面板→“+”→数据源名称(DSN),在弹出的对话框中设置连接名称为conn。
4、绑定记录集:单击绑定面板→“+”→记录集(查询),在弹出的对话框中设置连接为conn,其余选其默认值。
5、在嵌套的表格中,拖入相应的字段集名称到相应位置(如图)6、选中嵌套的表格,为其添加服务器行为:服务器行为面板→“+”→重复区域,确定。
华东交通大学理工学院课程设计报告书所属课程名称JSP程序设计题目新闻发布系统分院电信分院专业班级计算机科学与技术学号学生姓名指导教师2013 年1 月3 日华东交通大学理工学院课程设计(论文)任务书专业计算机科学与技术班级姓名一、课程设计(论文)题目新闻发布系统二、课程设计(论文)工作:自2012 年12 月31 日起至2013 年 1 月 3 日止。
三、课程设计(论文)的内容要求:利用已经学过的网站开发工具MyEclipse 8.0+SQL Server 2008,设计一个新闻发布系统。
该系统的功能模块有:1.用户注册;2.用户修改个人资料;3.用户发布新闻、修改、更新、删除等;4.用户评论新闻等。
要求:用MyEclipse 8.0进行设计;数据库用SQL Server 2008;设计一个新闻发布系统学生签名:2013 年1 月3 日课程设计(论文)评阅意见评阅人职称20 年月日目录第一章: 系统概要及分析 (5)1.1设计技术及开发环境 (5)1.1.1开发环境 (5)1.2运行环境 (5)1.3该系统的功能模块有: (5)第二章: 系统功能及构架设计 (6)2.1功能层次图 (6)2.2业务实体说明 (6)2.3系统构架设计 (7)第三章: 进行数据库表格的设计 (9)第四章: 进行各模块的界面与详细设计 (10)4.1系统运行环境配置 (10)4.2编写实用类 (11)4.3编写抽象基类 (11)4.4模型层的实现 (11)4.5业务层的实现 (12)4.6视图层的实现 (13)第五章: 测试运行整个系统 (15)第六章: 设计小结 (17)第七章: 参考资料 (18)第八章: 致谢 (19)第一章: 系统概要及分析internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视、广播、报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻。
由于互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面的介绍与比较,大大地方便了人们的阅读,。
源代码范例参考------------------------------------------------------ 5 新闻系统的主要开发过程5.1 数据库设计该系统使用Access作为应用程序的数据库,建立了有6张数据表:Lb_Admin表用于存储帐户的信息,Lb_Class表用于存储新闻分类信息,Lb_Links 表用于存储友情链接信息, Lb_News表用于存储新闻内容, Lb_Setup表用于存储系统设置信息,Lb_Skins表用于存储页面风格。
Lb_News表与Lb_Class表相关联。
在6个数据表中,主要介绍一下新闻表和账户表如下:Lb_News表如表1所示:表1 新闻表n_id为该表主键,n_cid为所属新闻分类ID,n_hit为点击数,n_commend 用于判断是否为推荐新闻,n_index用于判断是否为首页新闻,n_title为新闻标题,n_date为发布新闻的日期,n_author为新闻发布者名,n_content为新闻内容,n_ispic用于判断是否为首页滚动图片,n_spic为首页所滚动图片的存储地址,,n_check用于判断是否为审核新闻(值为0表示未通过审核,值1表示通过审核),n_intro为新闻简介,n_publisher为账户类型,如为管理员、审核员或新闻输入员。
Lb_Admin表如表2所示:表2 账户表A_Id为该表主键,A_Name为用户名,A_Password为密码,A_Grade为用户级别。
5.2各主要窗体页的图形界面介绍◆首页:主要功能是显示最热门、最新和推荐的前8条新闻,显示新闻搜索功能、页面风格设置、新闻分类、滚动新闻图片和网站公告等;◆新闻详细内容查看页:在首页里点击新闻标题所进入的页面,显示当前所点击新闻的详细内容,新闻标题正中加粗显示,在添加新闻时,根据所编辑的新闻内容对应显示;◆新闻输入员页面:新闻输入员只具有添加新闻的权限,任何浏览者都可注册成为新闻输入员,但所添加的新闻并不能直接发布到网站上显示,而需经过审核员或管理员审核是否给予通过,这保证了网站内容管理的合理性,并不是随便添加的新闻都能发布;◆新闻审核员页面:审核员管理页面主要是对新闻进行审核,可对需审核的新闻内容进行查看和编辑,以确定是否授权发布,审核员除审核新闻外,也可添加新闻和管理新闻,所添加的新闻不需审核而可以直接发布,管理新闻包括修改和删除新闻;◆新闻管理员页面:管理员具有系统的所有权限,除审核员的审核新闻、添加新闻和管理新闻外,还可添加新闻部门和用户。
web课程设计新闻发布系统代码一、教学目标本课程旨在让学生掌握Web课程设计新闻发布系统的代码相关知识,培养他们实际操作和解决问题的能力。
具体目标如下:1.知识目标:学生能理解并掌握HTML、CSS、JavaScript等基本前端技术;学生能了解并熟悉PHP、MySQL等后端技术;学生能理解新闻发布系统的整体架构和运作原理。
2.技能目标:学生能独立完成新闻发布系统的页面设计;学生能熟练使用PHP和MySQL进行新闻数据的处理和存储;学生能通过实际操作,掌握新闻发布系统的部署和维护。
3.情感态度价值观目标:学生能认识到信息技术在现代社会的重要性,增强学习的自信心和责任感;学生能在团队合作中,培养良好的沟通能力和协作精神;学生能在解决实际问题的过程中,增强创新意识和实践能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.HTML/CSS:介绍网页的基本结构,以及如何使用CSS进行页面样式设计;2.JavaScript:讲解如何使用JavaScript进行页面交互设计和动态效果实现;3.PHP/MySQL:讲解如何使用PHP进行后端编程,以及如何使用MySQL进行数据库设计和操作;4.新闻发布系统:介绍新闻发布系统的整体架构,讲解如何实现新闻的增删改查等功能。
为了提高教学效果,本课程将采用以下教学方法:1.讲授法:用于讲解基本概念、原理和方法;2.案例分析法:通过分析实际案例,使学生更好地理解和掌握知识;3.实验法:让学生在实际操作中,培养动手能力和解决问题的能力;4.小组讨论法:鼓励学生进行团队合作,培养沟通能力和协作精神。
四、教学资源为了支持教学,我们将准备以下教学资源:1.教材:选用权威、实用的教材,为学生提供系统的学习资料;2.参考书:提供丰富的参考资料,帮助学生拓展知识面;3.多媒体资料:制作精美的PPT、视频等教学课件,提高学生的学习兴趣;4.实验设备:提供充足的实验设备,确保每个学生都能动手实践。
源代码范例参考------------------------------------------------------ 5 新闻系统的主要开发过程5.1 数据库设计该系统使用Access作为应用程序的数据库,建立了有6张数据表:Lb_Admin表用于存储帐户的信息,Lb_Class表用于存储新闻分类信息,Lb_Links 表用于存储友情链接信息, Lb_News表用于存储新闻内容, Lb_Setup表用于存储系统设置信息,Lb_Skins表用于存储页面风格。
Lb_News表与Lb_Class表相关联。
在6个数据表中,主要介绍一下新闻表和账户表如下:Lb_News表如表1所示:表1 新闻表n_id为该表主键,n_cid为所属新闻分类ID,n_hit为点击数,n_commend 用于判断是否为推荐新闻,n_index用于判断是否为首页新闻,n_title为新闻标题,n_date为发布新闻的日期,n_author为新闻发布者名,n_content为新闻内容,n_ispic用于判断是否为首页滚动图片,n_spic为首页所滚动图片的存储地址,,n_check用于判断是否为审核新闻(值为0表示未通过审核,值1表示通过审核),n_intro为新闻简介,n_publisher为账户类型,如为管理员、审核员或新闻输入员。
Lb_Admin表如表2所示:表2 账户表A_Id为该表主键,A_Name为用户名,A_Password为密码,A_Grade为用户级别。
5.2各主要窗体页的图形界面介绍◆首页:主要功能是显示最热门、最新和推荐的前8条新闻,显示新闻搜索功能、页面风格设置、新闻分类、滚动新闻图片和网站公告等;◆新闻详细内容查看页:在首页里点击新闻标题所进入的页面,显示当前所点击新闻的详细内容,新闻标题正中加粗显示,在添加新闻时,根据所编辑的新闻内容对应显示;◆新闻输入员页面:新闻输入员只具有添加新闻的权限,任何浏览者都可注册成为新闻输入员,但所添加的新闻并不能直接发布到网站上显示,而需经过审核员或管理员审核是否给予通过,这保证了网站内容管理的合理性,并不是随便添加的新闻都能发布;◆新闻审核员页面:审核员管理页面主要是对新闻进行审核,可对需审核的新闻内容进行查看和编辑,以确定是否授权发布,审核员除审核新闻外,也可添加新闻和管理新闻,所添加的新闻不需审核而可以直接发布,管理新闻包括修改和删除新闻;◆新闻管理员页面:管理员具有系统的所有权限,除审核员的审核新闻、添加新闻和管理新闻外,还可添加新闻部门和用户。
新闻发布系统开发与实现摘要本文从有关网站新闻发布事项的实际情况出发,确立新闻发布系统的可行性,导出实现系统目标的策略及功能,估计完成该系统需要的资源和成本,进而开发出新闻发布系统。
本系统以Access数据库为后台,采用ASP技术开发前台,其功能简单、鲜明、实用性强,且具有良好的外设接口,能够很好的配合站点的其它子系统服务于各种的新闻发布。
本系统实现了新闻的分类浏览、版块管理、添加、修改和删除等功能。
首页的分类显示和后台管理员的管理是本系统的1大特点,系统可以自动对新闻进行行为统计。
关键词:新闻发布系统;Web;ASP;AccessINews Release Development and Implementation ofSystemABSTRACTWith the development of Internet , Internet news are gradually becoming a part of people’s lives. Embarking from the actual situation of publishing news, we ma ke sure the feasibility of News Publication System firstly, then we educe the strategy and function of realizing system target and estimate the resource and cost of this project, finally we develop a News Publication System. This system has carried out the function of classified browse, Administration Module[1], accession, edit and deleting of news. Classified display of front page and classified management of administer are the great characteristics of this system, this system can account actions for the news automatically. This News Publication System takes Database as background, exploit foreground by ASP technology, its simple, brilliant, practical function and well-set Peripheral Interface can cooperate other sub-system of site to promulgate all kinds of news.Key words: News Release System; Web; ASP; AccessII目录引言 (1)第1章需求分析及相关技术 (2)1.1 设计目的 (2)1.2 新闻发布系统的特点 (2)1.3 可行性分析 (2)1.4 系统设计 (3)1.5 ASP技术简介 (4)1.6 VBScript基础 (7)1.7 IIS配置 (10)1.8 Access数据库简介 (13)第2章数据库设计 (14)2.1数据库的建立 (14)2.2 数据库设计 (15)第3章系统功能模块具体实现 (17)3.1 前台显示模块设计 (17)3.2 后台管理模块设计 (19)3.3 超级管理员模块设计 (22)第4章系统测试 (34)4.1 前台页面测试 (34)4.2 后台登陆测试 (35)4.3 系统运行测试 (36)4.4 系统维护 (36)结束语 (37)致谢 (38)参考文献 (39)附录 (40)附录A 软件使用说明书 (40)附录B 各主功能模块源代码 (43)III四川理工学院毕业设计(论文)引言随着网络是21世纪对人类社会影响最深远的科技成就之一。
/ **说明:数据库助手类*/using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using System.Configuration;namespace DAL{public class SQLHelper{private SqlConnection conn = null;private SqlCommand cmd = null;private SqlDataReader sdr = null;public SQLHelper(){string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;conn = new SqlConnection(connStr);}private SqlConnection GetConn(){if (conn.State == ConnectionState.Closed){conn.Open();}return conn;}///<summary>///执行不带参数的增删改SQL语句或存储过程///</summary>///<param name="cmdText">增删改SQL语句或存储过程</param>///<param name="ct">命令类型</param>///<returns></returns>public int ExecuteNonQuery(string cmdText, CommandType ct){int res;try{cmd = new SqlCommand(cmdText, GetConn());mandType = ct;res = cmd.ExecuteNonQuery();}catch (Exception ex){throw ex;}finally{if (conn.State == ConnectionState.Open){conn.Close();}}return res;}///<summary>///执行带参数的增删改SQL语句或存储过程///</summary>///<param name="cmdText">增删改SQL语句或存储过程</param>///<param name="ct">命令类型</param>///<returns></returns>public int ExecuteNonQuery(string cmdText, SqlParameter[] paras, CommandType ct){int res;using (cmd = new SqlCommand(cmdText, GetConn())){mandType = ct;cmd.Parameters.AddRange(paras);res = cmd.ExecuteNonQuery();}return res;}///<summary>///执行查询SQL语句或存储过程///</summary>///<param name="cmdText">查询SQL语句或存储过程</param>///<param name="ct">命令类型</param>///<returns></returns>public DataTable ExecuteQuery(string cmdText, CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(cmdText, GetConn());mandType = ct;using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)) {dt.Load(sdr);}return dt;}///<summary>///执行带参数的查询SQL语句或存储过程///</summary>///<param name="cmdText">查询SQL语句或存储过程</param>///<param name="paras">参数集合</param>///<param name="ct">命令类型</param>///<returns></returns>public DataTable ExecuteQuery(string cmdText, SqlParameter[] paras, CommandType ct){DataTable dt = new DataTable();cmd = new SqlCommand(cmdText, GetConn());mandType = ct;cmd.Parameters.AddRange(paras);using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection)){dt.Load(sdr);}return dt;}}}/** 类说明:新闻类别实体类*/namespace Model{///<summary>///新闻类别实体类///</summary>public class Category{private string id;///<summary>///主键,自增///</summary>public string Id{get { return id; }set { id = value; }}private string name;///<summary>///类别名称///</summary>public string Name{get { return name; }set { name = value; }}public Category(string id, string name) {this.id = id; = name;}}}/** 类说明:新闻评论实体类*/namespace Model{///<summary>///新闻评论实体类///</summary>public class Comment{private string id;///<summary>///主键,自增///</summary>public string Id{get { return id; }set { id = value; }}private string content;///<summary>///评论内容///</summary>public string Content{get { return content; }set { content = value; }}private string userIp;///<summary>///评论人IP///</summary>public string UserIp{get { return userIp; }set { userIp = value; }}private string createTime;///<summary>///评论发表时间///</summary>public string CreateTime{get { return createTime; }set { createTime = value; } }private string newsId;///<summary>///所属新闻ID///</summary>public string NewsId{get { return newsId; }set { newsId = value; }}public Comment(){ }public Comment(string content, string userIp, string newsId) {this.content = content;erIp = userIp;this.newsId = newsId;}}}/** 类说明:新闻实体类*/namespace Model{///<summary>///新闻实体类///</summary>public class News{private string id;///<summary>///主键,自增///</summary>public string Id{get { return id; }set { id = value; }}private string title;///<summary>///新闻标题///</summary>public string Title{get { return title; }set { title = value; }}private string content;///<summary>///新闻内容///</summary>public string Content{get { return content; }set { content = value; }}private string createTime;///<summary>///新闻发表时间///</summary>public string CreateTime{get { return createTime; }set { createTime = value; } }private string caId;///<summary>///新闻所属类别ID///</summary>public string CaId{get { return caId; }set { caId = value; }}public News() { }public News(string title, string content, string caid){this.title = title;this.content = content;this.caId = caid;}public News(string id, string title, string content, string caid) {this.id = id;this.title = title;this.content = content;this.caId = caid;}}}/** 说明:新闻类别表操作类*/using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using Model;namespace DAL{///<summary>///新闻类别表操作类///</summary>public class CategoryDAO{private SQLHelper sqlhelper = null;public CategoryDAO(){sqlhelper = new SQLHelper();}///<summary>///取出当前所有新闻分类///</summary>///<returns></returns>public DataTable SelectAll(){DataTable dt = new DataTable();string sql = "select * from category";dt = sqlhelper.ExecuteQuery(sql, CommandType.Text);return dt;}///<summary>///增加类别///</summary>///<param name="caName">类别名称</param>///<returns></returns>public bool Insert(string caName){bool flag = false;string sql = "insert into category(name) values(@caName)";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@caName", caName)};int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text);if (res > 0){flag = true;}return flag;}///<summary>///修改类别///</summary>///<param name="id">类别ID</param>///<param name="caName">类别名称</param>///<returns></returns>public bool Update(Category ca){bool flag = false;string sql = "update category set [name]=@caName where id=@id";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@id", ca.Id),new SqlParameter("@caName", )};int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text);if (res > 0){flag = true;}return flag;}///<summary>///删除类别(连同其下的新闻及新闻评论一起删除)///</summary>///<param name="id">类别ID</param>///<returns></returns>public bool Delete(string id){bool flag = false;string sql = "delete from category where id=@id";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@id", id)};int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text);if (res > 0){flag = true;}return flag;}///<summary>///判断类别名称是否已存在///</summary>///<param name="caName">类别名称</param>///<returns></returns>public bool IsExists(string caName){bool flag = false;string sql = "select * from category where [name]='" + caName + "'";DataTable dt = sqlhelper.ExecuteQuery(sql, CommandType.Text);if (dt.Rows.Count > 0){flag = true;}return flag;}}}/** 说明:评论表操作类*/using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using Model;namespace DAL{public class CommentDAO{private SQLHelper sqlhelper;public CommentDAO(){sqlhelper = new SQLHelper();}///<summary>///根据新闻ID取出该新闻的所有评论///</summary>///<param name="newsId">新闻ID</param>///<returns></returns>public DataTable SelectByNewsId(string newsId){DataTable dt = new DataTable();string sql = "select * from comment where newsId=@newsId order by createTime desc";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@newsId", newsId)};dt = sqlhelper.ExecuteQuery(sql, paras, CommandType.Text);return dt;}///<summary>///添加评论///</summary>///<param name="c">评论实体类</param>///<returns></returns>public bool Insert(Comment c){bool flag = false;string sql = "insert into comment([content],userIp, newsId) values(@content,@userIp,@newsId)";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@content", c.Content),new SqlParameter("@userIp", erIp),new SqlParameter("@newsId", c.NewsId)};int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text);if (res > 0){flag = true;}return flag;}///<summary>///删除评论///</summary>///<param name="id">评论ID</param>///<returns></returns>public bool Delete(string id){bool flag = false;string sql = "delete comment where id=@id";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@id",id)};int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text);if (res > 0){flag = true;}return flag;}}}/** 说明:新闻表操作类*/using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;using System.Data.SqlClient;using Model;namespace DAL{public class NewsDAO{private SQLHelper sqlhelper;public NewsDAO(){sqlhelper = new SQLHelper();}#region选择全部新闻///<summary>///选择全部新闻///</summary>///<returns></returns>public DataTable SelectAll(){DataTable dt = new DataTable();string sql = "select * from news";dt = new SQLHelper().ExecuteQuery(sql, CommandType.Text);return dt;}#endregion#region通过类别ID选择新闻///<summary>///根据类别ID取出该类别下的所有新闻///</summary>///<param name="caid">类别ID</param>///<returns></returns>public DataTable SelectByCaId(string caid){// TODO:根据类别ID取出该类别下的所有新闻DataTable dt = new DataTable();string cmdText = "news_selectByCaId";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@caid", caid)};dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);return dt;}#endregion#region通过新闻ID查看新闻///<summary>///根据新闻ID取出该条新闻主体内容///</summary>///<param name="id">新闻ID</param>///<returns></returns>public News SelectById(string id){// TODO:根据新闻ID取出该条新闻主体内容News n = new News();DataTable dt = new DataTable();string cmdText = "news_selectById";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@id", id)};dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure); n.Id = id;n.Title = dt.Rows[0]["title"].ToString();n.Content = dt.Rows[0]["content"].ToString();n.CreateTime = dt.Rows[0]["createTime"].ToString();n.CaId = dt.Rows[0]["caId"].ToString();return n;}#endregion#region通过标题查找新闻///<summary>///根据标题搜索新闻///</summary>///<param name="title">新闻标题关键字</param>///<returns></returns>public DataTable SelectByTitle(string title){// TODO:根据标题搜索新闻DataTable dt = new DataTable();string cmdText = "news_selectByTitle";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@title", title)};dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);return dt;}#endregion#region通过内容查找新闻///<summary>///根据内容搜索新闻///</summary>///<param name="content">新闻内容关键字</param>///<returns></returns>public DataTable SelectByContent(string content){// TODO:根据内容搜索新闻DataTable dt = new DataTable();string cmdText = "news_selectByContent";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@content", content)};dt = sqlhelper.ExecuteQuery(cmdText, paras, CommandType.StoredProcedure);return dt;}#endregion#region增加新闻///<summary>///增加新闻///</summary>///<param name="n">新闻实体现</param>///<returns></returns>public bool Insert(News n){// TODO:增加新闻bool flag = false;string cmdText = "news_insert";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@title", n.Title),new SqlParameter("@content", n.Content),new SqlParameter("@caid", n.CaId)};int res = sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}#endregion#region修改新闻///<summary>///修改新闻///</summary>///<param name="n">新闻实体类</param>///<returns></returns>public bool Update(News n){// TODO:修改新闻bool flag = false;string cmdText = "news_update";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@id", n.Id),new SqlParameter("@title", n.Title),new SqlParameter("@content", n.Content),new SqlParameter("@caid", n.CaId)};int res = sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}#endregion#region删除新闻///<summary>///删除新闻(连同其下新闻评论一起删除)///</summary>///<param name="id">新闻ID</param>///<returns></returns>public bool Delete(string id){// TODO:删除新闻bool flag = false;string cmdText = "news_delete";SqlParameter[] paras = new SqlParameter[] {new SqlParameter("@id", id)};int res = sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure);if (res > 0){flag = true;}return flag;}#endregion}}/** 说明:新闻类别表的业务类*/using System;using System.Collections.Generic;using System.Linq;using System.Text;using DAL;using Model;using System.Data;using System.Data.SqlClient;namespace BLL{public class CategoryManager{private CategoryDAO cdao = null;public CategoryManager(){cdao = new CategoryDAO();}#region取出当前所有新闻分类///<summary>///取出当前所有新闻分类///</summary>///<returns></returns>public DataTable SelectAll(){return cdao.SelectAll();}#endregion#region增加类别///<summary>///增加类别///</summary>///<param name="caName">类别名称</param>///<returns></returns>public bool Insert(string caName){return cdao.Insert(caName);}#endregion#region修改类别///<summary>///修改类别///</summary>///<param name="id">类别ID</param>///<param name="caName">类别名称</param>///<returns></returns>public bool Update(Category ca){return cdao.Update(ca);}#endregion#region删除类别///<summary>///删除类别(连同其下的新闻及新闻评论一起删除)///</summary>///<param name="id">类别ID</param>///<returns></returns>public bool Delete(string id){return cdao.Delete(id);}#endregion#region判断类别名称是否已存在///<summary>///判断类别名称是否已存在///</summary>///<param name="caName">类别名称</param>///<returns></returns>public bool IsExists(string caName){return cdao.IsExists(caName);}#endregion}}using System;using System.Collections.Generic;using System.Linq;using System.Text;using DAL;using Model;using System.Data;using System.Data.SqlClient;namespace BLL{public class CommentManager{private CommentDAO cdao = null;public CommentManager(){}#region根据新闻ID取出该新闻的所有评论///<summary>///根据新闻ID取出该新闻的所有评论///</summary>///<param name="newsId">新闻ID</param>///<returns></returns>public DataTable SelectByNewsId(string newsId) {return cdao.SelectByNewsId(newsId);}#endregion#region添加评论///<summary>///添加评论///</summary>///<param name="c">评论实体类</param>///<returns></returns>public bool Insert(Comment c){return cdao.Insert(c);}#endregion#region删除评论///<summary>///删除评论///</summary>///<param name="id">评论ID</param>///<returns></returns>public bool Delete(string id){}#endregion}}/** 说明:登陆的业务逻辑类*/using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace BLL{public class LoginManager{#region用户登陆是否成功///<summary>///用户登陆是否成功///</summary>///<param name="name">用户名</param>///<param name="pwd">密码</param>///<returns></returns>public static bool Login(string name, string pwd){bool flag = false;if ("login" == name && "9CE853EB7EE8E362E1D121EB4DF2DC91" == pwd) {flag = true;}return flag;}#endregion}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Manger_Top : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class AdminManage_Login : System.Web.UI.Page {CommonClass CC = new CommonClass();protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){bCode.Text =CC.RandomNum(4);//产生验证码}}protected void btnLogin_Click(object sender, EventArgs e){if (txtAdminName.Text.Trim() == "" || txtAdminPwd.Text.Trim() == ""){Response.Write(CC.MessageBox("登录名和密码不能为空!", "Login.aspx"));//Response.Write("<script>alert('登录名和密码不能为空!');location='javascript:history.go(-1)';</script>");}else{//判断用户输入的验证码是否正确if (txtAdminCode.Text.Trim() == labCode.Text.Trim()){//调用CommonClass类中的checkLogin方法,判断用户是否为合法用户int IntUserIn = CC.checkLogin(txtAdminName.Text.Trim(), txtAdminPwd.Text.Trim());if (IntUserIn > 0){//该用户为合法用户,跳转到后台首页(AdminIndex.aspx)中Response.Write("<scriptlanguage=javascript>window.open('AdminIndex.aspx');window.close();</script>");}else{//该用户不是合法用户,调用CommonClass类中的MassageBox方法,弹出提示框Response.Write(CC.MessageBox("您输入的用户名或密码错误,请重新输入!", "Login.aspx"));}}else{Response.Write(CC.MessageBox("验证码输入有误,请重新输入!", "Login.aspx"));}}}protected void btnCancel_Click(object sender, EventArgs e){Response.Write("<script>window.close();location='javascript:history.go(-1)';</script>") ;}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manage_list : System.Web.UI.Page{CommonClass CC = new CommonClass();//定义一个静态的全局变量,用于标识是否已单击站内搜索控钮public static int IntSearch;protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){//页面初始化时,指定IntSearch=0IntSearch = 0;//使用Request对象获取页面传递的值int n = Convert.ToInt32(Request.QueryString["id"]);//指定新闻类别名this.ddlNewsStyle.SelectedIndex = (n - 1);this.bind();}}protected void bind(){//调用CommonClass类的GetDataSet方法,查询需要管理的新闻信息,并绑定GridView控件上this.gvNewsList.DataSource = CC.GetDataSet("select * from tb_News where style='" + this.ddlNewsStyle.SelectedValue.Trim() + "' order by id", "tbNews");this.gvNewsList.DataKeyNames = new string[] { "id" };this.gvNewsList.DataBind();}protected void searchBind(){//使用Like运算符,定义一个查询字符串string strSql = "select * from tb_News where style='"+ this.ddlNewsStyle.SelectedValue.ToString() + "'";strSql += " and (( content like '%" + this.txtKey.Text + "%')";strSql += " or (Title like '%" + this.txtKey.Text + "%'))";//调用CommonClass类的GetDataSet方法,获取符合条件的新闻信息//将获取的新闻信息绑定到数据控件GridView控件中gvNewsList.DataSource = CC.GetDataSet(strSql, "tbNews");gvNewsList.DataKeyNames = new string[] { "id" };gvNewsList.DataBind();}protected void gvNewsList_RowDeleting(object sender, GridViewDeleteEventArgs e){//调用CommonClass类的ExecSQL方法,删除指定的新闻CC.ExecSQL("delete from tb_News where id='"+ this.gvNewsList.DataKeys[e.RowIndex].Value.ToString() + "'");if (IntSearch == 1){this.searchBind();}else{bind();}}protected void btnSearch_Click(object sender, EventArgs e){//单击站内搜索按钮时,IntSearch=1;IntSearch = 1;this.searchBind();}protected void gvNewsList_PageIndexChanging(object sender, GridViewPageEventArgs e) {gvNewsList.PageIndex = e.NewPageIndex;if (IntSearch == 1){this.searchBind();}else{bind();}}protected void gvNewsList_RowDataBound(object sender, GridViewRowEventArgs e) {if (e.Row.RowType == DataControlRowType.DataRow){e.Row.Cells[3].Text=Convert.ToDateTime(e.Row.Cells[3].Text).ToShortDateString();}}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class Manger_MemberAdd : System.Web.UI.Page{CommonClass CC = new CommonClass();protected void Page_Load(object sender, EventArgs e){}protected void btnCancel_Click(object sender, EventArgs e){txtName.Text = "";txtPass.Text = "";}protected void btnSave_Click(object sender, EventArgs e){if (txtName.Text == ""){Response.Write(CC.MessageBox("请输入管理员名!", "MemberAdd.aspx"));}else{int IntUserIn = CC.checkLogin(this.txtName.Text.Trim(), this.txtPass.Text.Trim());if (IntUserIn > 0){Response.Write(CC.MessageBox("该管理员名已存在!", "MemberAdd.aspx")); }else{CC.ExecSQL("INSERT INTO tb_User( Name, PassWord) VALUES ('"+ this.txtName.Text.Trim() + "', '" + this.txtPass.Text.Trim() + "')");Response.Write(CC.MessageBox("添加成功!", "MemberAdd.aspx"));}}}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Manger_AdminIndex : System.Web.UI.Page {protected void Page_Load(object sender, EventArgs e){}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manage_fzAdd : System.Web.UI.Page{CommonClass CC = new CommonClass();protected void Page_Load(object sender, EventArgs e){//使用Request对象获取页面传递的值//使用switch语句,获取添加的新闻类别名switch (Convert.ToInt32(Request["id"].ToString())) {case 1:bTitle.Text = "国内新闻";break;case 2:bTitle.Text = "国际新闻";break;case 3:bTitle.Text = "社会新闻";break;case 4:bTitle.Text = "文体新闻";break;case 5:bTitle.Text = "专题新闻";break;default:bTitle.Text = "";break;}}protected void btnAdd_Click(object sender, EventArgs e){//调用CommonClass类的ExecSQL方法,将填写的新闻信息添加到数据库中CC.ExecSQL("INSERT INTO tb_News( Title, Content, Style, Type, IssueDate)VALUES ('" + this.txtNewsTitle.Text.Trim() + "', '"+ this.txtNewsContent.Text.Trim() + "', '"+ bTitle.Text.Trim()+ "', '" + this.ddlNewsType.SelectedValue.ToString() + "', '" + DateTime.Now.ToString("yyyy-MM-dd") + "')");//调用CommonClass类的MessageBox方法,弹出提示框,提示用户添加成功Response.Write(CC.MessageBox("添加成功!"));}protected void btnReset_Click(object sender, EventArgs e){this.txtNewsContent.Text = "";this.txtNewsTitle.Text = "";}}using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;。