当前位置:文档之家› 新闻发布管理系统实训报告

新闻发布管理系统实训报告

新闻发布管理系统实训报告九江学院信息科学与技术学院《新闻发布系统开发》课程设计(实训)报告书题目:专业:班级:姓名:学号:同组人员:指导老师:设计时间:年月日~ 年月日目录《新闻发布系统开发》课程设计(实训)报告书 (1)1.课程设计(实训)计划............... 错误!未定义书签。

2.系统需求分析与功能设计............. 错误!未定义书签。

3.总体设计.......................... 错误!未定义书签。

4.数据库设计........................ 错误!未定义书签。

5.程序模块设计...................... 错误!未定义书签。

6.技术难点与分析.................... 错误!未定义书签。

7.系统测试.......................... 错误!未定义书签。

8.心得体会.......................... 错误!未定义书签。

9.参考文献.......................... 错误!未定义书签。

1.系统分析1.1新闻添加模块新闻添加模块功能如下:对新闻的添加直接在管理页面点击添加新闻这个链接,这时我们可以转到另外一个新的页面:新闻添加页面。

我们可以在这里要填写新闻的作者、新闻标题、新闻类型、新闻内容、新闻发布时间,填写完毕了,我们可以直接返回到新闻管理页面看到我们添加的新闻,点击新闻标题,我们就可以进入新闻的预览了。

1.2新闻修改模块新闻修改模块功能如下:如果我们想对我们不满意的新闻重新进行编辑,那么我们就可以在管理页面点击编辑,在这个系统里面我们设计管理员可以对新闻的标题和内容进行编辑,其它的就不可以编辑了,编辑后的新闻可以在管理页面里显示出来。

1.3新闻删除模块新闻删除模块功能如下:新闻的删除相对来说是比较简单的,我们只需要在管理页面对于那些我们不满意的新闻选中,然后点击删除就可以直接把新闻删除了。

1.4新闻浏览模块新闻浏览模块功能如下:想对新闻进行详细的浏览,我们可以点击新闻的标题直接进入网页阅读模式,在这个新的页面当中,我们不能在这里进行任何的编辑。

1.5管理员登陆模块管理员登陆模块功能如下:当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。

当未登录用户单击系统导航栏上的“新闻管理”超镕接时,进入管理员登录页面。

用户可以在登录页面输入用户名和密码,若登录失败,则重定向到管理员登录页面等待下一次登录。

2新闻发布管理系统功能结构图新闻发布系统功能结构图,如图1所示:图 1 新闻发布管理系统流程图3.数据库设计3.1数据库的创建我们使用的是SQL Server 2005数据库,要使得新闻发布系统和数据库链接,我们必须要创建一个ODBC数据源,我们现在创建的数据源名字叫做:newsAccess.下面我们创建的是数据库、用户表和新闻信息表。

create database newsAccess;use newsAccess;create table UserInfo(UserId int primary key identity,UserName nvarchar(10) not null,UserPwd nvarchar(16) not null);insert into UserInfo values('admin','admin');create table NewsInfo(NewsId int primary key identity,NewsUserName nvarchar(10) not null,NewsTitle nvarchar(100) not null,NewsType nvarchar(10) not null,Newscontent ntext not null,NewsUpTime datetime not null);表1 新闻信息表newsinfo表 2 管理员信息表users表 3 新闻评论comment表 4 新闻类别信息名称classes3.2 数据库连接我们在新闻管理页面中对新闻的管理,首先我们必须链接数据库,下面的语句是用来链接的关键语句:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc:odbc:newsAccess");stmt=conn.createStatement();我们还提供了添加、删除、修改、浏览的关键语句:添加新闻String sql="Insert into NewsInfo values('"+ username+"','"+title+"','"+type+"','"+content+"',getdate())";stmt.executeUpdate(sql); response.sendRedirect("newsManage.jsp");修改新闻stmt=conn.createStatement();sql="select * from NewsInfo where NewsId='"+NewsId+"'";rs=stmt.executeQuery(sql);if(rs.next())String username=rs.getString("NewsUserName");删除新闻conn=DriverManager.getConnection("jdbc:odbc:newsAccess");Statement stmt=conn.createStatement();String sql= "DELETE FROM NewsInfo WHERE NewsId="+NewsId;浏览新闻sql="select * from NewsInfo where NewsId="+newsID;rs=stmt.executeQuery(sql);if(rs.next()){NewsTitle=rs.getString("NewsTitle");Type=rs.getString("NewsType");Content=rs.getString("Newscontent");Uptime=rs.getString("NewsUpTime");}编码的转换(以添加新闻的标题和内容为例)String title=(String)request.getParameter("newstitle");if(title==null){title="";}byte c[]=title.getBytes("ISO-8859-1");title=new String(c);String content=(String)request.getParameter("NewsContent1");if(content==null){content="";}byte d[]=content.getBytes("ISO-8859-1");content=new String(d);7 系统功能实现登录页面我们登录进去需要输入管理员的用户名和密码,系统默认的是admin和admin,如果我们输入的用户名和密码有错,又或者是他们其中至少一个没有填写,则会出现错误,如图所示:图 2 登录界面图3 登录出错图4 新闻管理页面新闻添加在管理页面我们可以进行新闻的添加,我们点击就可以进行新闻的添加了,添加完成了我们可以进入浏览,在这里我们添加了三条VOA的新闻,然后我们在进行浏览,如下图所示:图5 添加页面图6 增加新闻图7 浏览新闻新闻修改在管理页面可以直接点击修改链接来进行修改,我们将第二和第三条新闻修改为中文新闻。

图8 新闻修改页面图9 修改新闻4.4删除新闻直接在管理页面中删除新闻,我们删除中间三条新闻有:图10 删除新闻程序源代码<%request.setCharacterEncoding("gbk"); SearchNews sh = new SearchNews();News n=sh.getNews(1);if(n != null){%><% out.println(n.getBiaoti()); %><% out.print(n.getFabushijian()); %></td> <% out.println(n.getLaiyuan()); %><% out.println(n.getZhaiyao()); %></td> <% out.println(n.getTupian()); %><%out.println(StringToHtml.toHtml(n.getZhengw en())); %><% out.println(n.getGuanjianzi()); %><% out.println(n.getFabiaozhe()); %><% out.println(n.getClassid()); %><% out.println(n.getDianjilv()); %><% } %><%out.println(n.getBanquanxinxi()); %><% if(n.getComcount()!=0) { %><a href="commentofnew.jsp?newid=<%out.print(n.getNewsid()); %>"> <em>评论<% out.print(n.getComcount()); %> 条>></em> </a><% } else { %> <em>评论<% out.print(n.getComcount()); %>条>></em> <% } %></td></tr><p><hr>我要留言:</hr><form action="AddCommentOfNews"method="post" enctype="multipart/form-data" name="form1" id="form1"><textarea name="commenttext" rows="15"cols="61"></textarea><input name="newsid" type="hidden" value="<% out.print(n.getNewsid()); %>"/><input name="Submit" type="submit" value="提交" />protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{// TODO Auto-generated method stubdoPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stub request.setCharacterEncoding("gbk"); response.setCharacterEncoding("gbk");int newsid = Integer.parseInt(request.getParameter("news id"));String comment = request.getParameter("commenttext");String comperson = request.getParameter("person");String type = request.getParameter("type"); PrintWriter pw = response.getWriter();pw.println(newsid);pw.println(comment);Comment comm = new Comment();comm.setContext(comment);comm.setNewid(newsid);comm.setComPerson(comperson);int result = ModifComment.insert(comm);if(type.equals("new")){response.sendRedirect("oneofnews.jsp?newid= "+newsid);}else if(type.equals("comment")){response.sendRedirect("commentofnew.jsp?new id="+newsid);}else if(type.equals("admincomment")){response.sendRedirect("admin\\admin_comment view.jsp?newid="+newsid);}}添加一条评论的代码为:public class InsertComment{public static void insert(Comment comment) {DBConnectPooldbp=DBConnectPool.getInstance(); Connection conn=dbp.getConnection(); PreparedStatement pstmt=null;try {pstmt=conn.prepareStatement("inser into comment values(?,?,?,?)");pstmt.setInt(1, comment.getNewid()); pstmt.setDate(2, (java.sql.Date)(new Date()));pstmt.setString(3,comment.getComPerson());pstmt.setString(4, comment.getContext()); pstmt.executeUpdate();}catch (SQLException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}finally{try{if(pstmt!=null)pstmt.close();}catch(SQLException el){el.printStackTrace();}}}}protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubdoPost(request, response);}/*** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse* response)*/protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("gbk"); response.setCharacterEncoding("gbk");String username =request.getParameter("name");String passwd =request.getParameter("pass");boolean flag = false;User user = (newSearchUsers()).getUser(username);if(user!=null){if(passwd.equals(user.getPassWord()))实训心得几个星期的课程设计,新闻发布系统开发基本完成,新闻发布的基本功能这个系统都已经具备了。

相关主题