陕西师范大学远程教育学院考查课科目《动态网页制作》设计报告题目在线新闻发布系统姓名学号专业计算机应用技术批次层次高起专学习中心_陕西延川职业教育中心《在线新闻发布系统》课程设计报告一、设计时间2013年6月04日-----11月08日二、设计地点延川职教中心学校三、设计目的1、巩固学习Web基础知识方面的基本算法,进一步熟悉基本概念。
2、熟练常用软件及JA V A语言等方面的操作,了解基本的流程。
3、运用所用学的JA V A语言知识,编写出较为实用的网页系统,增进对一些实际问题的软,硬件知识的掌握。
4、培养查阅资料,养成独立思考解决问题的能力。
四、设计小组成员... ...五、指导老师... 老师六、设计课题编写实现一个新闻发布系统七、基本思路及关键问题的解决方法基本思路:新闻发布系统是一个功能齐全的新闻网页,本系统基于B/S模式,服务端采用JSP进行动态开发,系统主要包含三个部分:前台系统:此部分主要包括新闻查看,新闻信息查询以及登录模块。
后台系统:此部分主要包括管理员基本信息的设置以及新闻基本分类及信息管理、后台退出。
数据库部分:数据库主要存放用户所有信息,在管理员和普通用户登陆过程中都有登陆的信息确认过程,确认密码是否与原服务器上的一致,只有一致的时候才能登陆成功,否则失败。
当修改信息的时候也会有这样的确认过程,确保信息的正确性和有效性。
八、算法及流程图(一)新闻系统功能结构图23(二)系统流程图 后台流程:九、调试过程中出现的问题及相应解决办法4详细设计4.1 前台系统 4.1.1 新闻的查看 主页面如下图新闻查看功能管理员登陆新闻发布新闻管理功能新闻发布及管理系统开始用户登录失败重试管理所有用户的信息 管理所有新闻信息及发布管理自己的信息管理员普通用户图4-1 系统主页界面效果任何用户在浏览器输入网址后进入本站界面,即可查看新闻标题及发布时间,新闻的评论、新闻的点击率等,单击任意一条新闻标题即可查看新闻内容。
图4-2 新闻内容界面效果显示一条新闻的主要代码为:<%request.setCharacterEncoding("gbk");SearchNews sh = new SearchNews();News n=sh.getNews(1);if(n != null){%><% out.println(n.getBiaoti()); %><% out.print(n.getFabushijian()); %></td>45<% out.println(n.getLaiyuan()); %> <% out.println(n.getZhaiyao()); %></td> <% out.println(n.getTupian()); %><% out.println(StringToHtml.toHtml(n.getZhengwen())); %> <% 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="提交" />4.1.2 评论功能的实现评论管理的数据流图如下评论管理留言信息表(message )评论管理命令评论管理结果浏览评论评论删除评论查询信息评论删除信息评论信息查询结果评论信息删除结果评论查看结果评论删除结果评论查看评论删除命令图4-3 评论管理数据流图评论与浏览页面:图4-4 评论浏览添加评论页面评论实现的事务处理相关代码: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 stubrequest.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");int newsid = Integer.parseInt(request.getParameter("newsid"));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);6int result = ModifComment.insert(comm);if(type.equals("new")){response.sendRedirect("oneofnews.jsp?newid="+newsid);}else if(type.equals("comment")){response.sendRedirect("commentofnew.jsp?newid="+newsid);}else if(type.equals("admincomment")){response.sendRedirect("admin\\admin_commentview.jsp?newid="+newsid);}}添加一条评论的代码为:public class InsertComment{public static void insert(Comment comment){DBConnectPool dbp=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();}}7}}4.2 后台管理系统的设计4.2.1后台登陆模块图4-5 后台登陆界面当用户在对话框输入正确的用户名、密码及随机产生的验证码时,进入后台页面lf.jsp,否则回到登陆页面login.jsp并提示原因。