资源描述
师大学远程教育学院考查课科目动态网页制作设计报告题目在线新闻发布系统某学号 专业 计算机应用技术 批次 层次 高 起 专 学习中心延川职业教育中心在线新闻发布系统课程设计报告一、设计时间2013年6月 04日-11月08日二、设计地点延川职教中心学校三、设计目的1、巩固学习Web基础知识方面的基本算法,进一步熟悉基本概念。 2、熟练常用软件及JAVA语言等方面的操作,了解基本的流程。3、运用所用学的JAVA语言知识,编写出较为实用的网页系统,增进对一些实际问题的软,硬件知识的掌握。 4、培养查阅资料,养成独立思考解决问题的能力。四、设计小组成员. .五、指导老师 . 老师六、设计课题编写实现一个新闻发布系统 七、基本思路及关键问题的解决方法基本思路:新闻发布系统是一个功能齐全的新闻网页,本系统基于B/S模式,服务端采用JSP进行动态开发,系统主要包含三个部分:前台系统:此部分主要包括新闻查看,新闻信息查询以及登录模块。后台系统:此部分主要包括管理员基本信息的设置以及新闻基本分类及信息管理、后台退出。数据库部分:数据库主要存放用户所有信息,在管理员和普通用户登陆过程中都有登陆的信息确认过程,确认密码是否与原服务器上的一致,只有一致的时候才能登陆成功,否则失败。当修改信息的时候也会有这样的确认过程,确保信息的正确性和有效性。八、算法及流程图(一) 新闻系统功能结构图新闻查看功能管理员登陆新闻发布新闻管理功能新闻发布及管理系统(二)系统流程图 后台流程:失败重试开始用户登录管理员管理所有用户的信息管理所有新闻信息及发布管理自己的信息普通用户九、调试过程中出现的问题及相应解决办法4详细设计4.1 前台系统4.1.1 新闻的查看主页面如下图图4-1 系统主页界面效果任何用户在浏览器输入网址后进入本站界面,即可查看新闻标题及发布时间,新闻的评论、新闻的点击率等,单击任意一条新闻标题即可查看新闻容。 图4-2 新闻容界面效果显示一条新闻的主要代码为: a href=mentofnew.jsp?newid= 评论 条 评论 条 我要留言: input name=newsid type=hidden value=/ 4.1.2 评论功能的实现 评论管理的数据流图如下 图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 ment = request.getParameter(menttext);String person = request.getParameter(person);String type = request.getParameter(type);PrintWriter pw = response.getWriter();pw.println(newsid);pw.println(ment);ment m = new ment();m.setContext(ment);m.setNewid(newsid);m.setPerson(person);int result = Modifment.insert(m);if(type.equals(new)response.sendRedirect(oneofnews.jsp?newid=+newsid);else if(type.equals(ment)response.sendRedirect(mentofnew.jsp?newid=+newsid);else if(type.equals(adminment)response.sendRedirect(adminadmin_mentview.jsp?newid=+newsid);添加一条评论的代码为:public class Insertment public static void insert(ment ment) DBConnectPool dbp=DBConnectPool.getInstance(); Connection conn=dbp.getConnection(); PreparedStatement pstmt=null; try pstmt=conn.prepareStatement(inser into ment values(?,?,?,?);pstmt.setInt(1, ment.getNewid();pstmt.setDate(2, (java.sql.Date)(new Date();pstmt.setString(3,ment.getPerson();pstmt.setString(4, ment.getContext();pstmt.executeUpdate(); catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace();finallytryif(pstmt!=null) pstmt.close();catch(SQLException el) el.printStackTrace(); 4.2 后台管理系统的设计4.2.1 后台登陆模块图4-5 后台登陆界面当用户在对话框输入正确的用户名、密码及随机产生的验证码时,进入后台页面lf.jsp,否则回到登陆页面login.jsp并提示原因。登录事务处理相关代码如下: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 = (new SearchUsers().getUser(username);if(user!=null)if(passwd.equals(user.getPassWord()flag = true;if(flag)response.sendRedirect(admin/admin_index.html);elseresponse.sendRedirect(admin/login.jsp);4.2.2 新闻的管理文章的管理包括文章的添加,删除和修改等操作,其数据流图如下图4-6文章管理的数据流图新闻的添加新闻添加页面如下:图4-7 新闻添加界面添加一条新闻的相关代码为:public static boolean insert(News news) boolean flag = false;DBConnectPool dbp = DBConnectPool.getInstance();Connection conn = dbp.getConnection();PreparedStatement pstmt = null;try pstmt = conn.prepareStatement(insert into newsinfo( +biaoti,gabushijian,pinglun, +laiyuan,tupian,zhaiyao,guanjiainzi, +classid,fabiaozhe,banquanxinxi,dianjilv +) + value(?,?,?,?,?,?,?,?,?,?,?););pstmt.setString(2,news.getBiaoti();pstmt.setDate(3, news.getFabushijian();pstmt.setInt(4,news.getPinglun();pstmt.setString(5, news.getLaiyuan();pstmt.setString(6,news.getTupian();pstmt.setString(7, news.getZhaiyao();pstmt.setString(8,news.getGuanjianzi();pstmt.setInt(9, news.getClassid();pstmt.setString(10,news.getFabiaozhe();pstmt.setString(11,news.getBanquanxinxi();pstmt.setInt(12, news.getDianjilv();int r = pstmt.executeUpdate();if (r = 1)flag = true; catch (SQLException e1) / TODO Auto-generated catch blocke1.printStackTrace(); finally try if (pstmt != null)pstmt.close(); catch (SQLException el) el.printStackTrace();return flag;1出现的问题:在浏览器地址栏输入页面地址时无法显示页面。解决方法:先检查有无错误代码,然后再检查是否正确执行,Tomcat与jdk路径是否正确。2出现的问题:无法完成页面的正确跳转。解决方法:正确配置servlet,使用正确的映射路径。十、课程设计心得体会这次课程设计我们组的课题是“编写实现一个新闻发布系统”,由于上课不认真以及课后缺少练习,这样一个系统对我来说有一定的难度。所幸在借阅书籍以及和同组同学讨论后,并适当请教指导老师后,也解决了不少难题,完成了这次课程设计。本次新闻发布系统网页的课程设计是一个理论与实践结合的过程,使我明白理论知识往往是不够的,只有把所学的理论与实际行动相结合,才会提高自己的综合实际能力和独立思考能力。在设计的过程中我们都会遇到很多的问题,但往往是一个小问题都会导致实验的失败,这就要我们花大量的时间去思索和改正,这是一个很艰辛的过程,但同时也是你收获最大的过程。实验往往是一个苦中有乐的过程,我希望在以后的实验学习中自己能独立思考,同时也要认真去完成,这样既能学到知识,也能让自己的实践操作得到锻炼。总之,这次课程设计让我感触很多,不仅仅是知识上的学习和掌握,同时也让我明白了很多做人的道理。此次实验让我明白了一个很深刻的道理:团队精神固然很重要,担人往往还是要靠自己的努力,自己亲身去经历,这样自己的心里才会踏实,学到的东西才会更多。在此,我要感同学,他们帮我学到了很多,同时也付出了很多,也感老师的细心指导,让我们顺利的完成了课程设计。在此次的上机实习中,我对于JSP网页开发有了更为系统的认识,同时也增强了自己网页制作方面的能力。(本人有完整的项目需要的话发给我491990141qq.)十一、源程序在此次的课程设计中,我主要负责的是管理分类新闻,部分代码如下:添加新闻function add()if(add_form.title.value.length = 0 )alert(新闻标题不能为空);else if(add_form.content.value.length = 0)alert(新闻容不能为空);else if(add_form.newtype.value=)alert(新闻类别不能为空);elseadd_form.submit();返回首页新闻标题新闻类别请选择类别option value=新闻容 alert(添加新闻成功!);location.href=index.jsp;十二、参考文献1 燕奎 德奎等编著 JSP实用案例教程,清华大学,20112 (美)Bruce Eckel著 昊鹏饶若楠等译JAVA编程思想,机械工业 ,20103 佳 中兵 伯华:JSP + Oracle 动态开发案例精选,清华大学,20104 蓓 国锋:JSP数据库通用模块开发与系统移植,清华大学,20125徐立 聂小燕 勇:中文Dreamweaver MX 2004白金教学,兵器工业,2011 / 15
展开阅读全文