当前位置:文档之家› 新闻发布系统

新闻发布系统

xxxxxxxxxx学院课程设计报告书所属课程名称JSP程序课程设计题目JSP新闻发布系统分院专业班级学号学生姓名指导教师2015 年06 月23 日目录第1章课程设计目的、内容及要求 (3)1.1 设计的目的 (3)1.2 设计内容及要求: (3)第2章方案设计及功能 (4)2.1 设计方法与步骤: (4)2.2 设计方案及功能 (4)2.3 数据库设计 (5)第3章模块设计 (6)3.1系统模块 (6)3.2 数据库访问模块 (6)3.3查看新闻模块 (7)3.4发布新闻模块 (7)3.5管理新闻模块 (7)第4章系统设计 (9)4.1实现结构 (9)4.2功能实现 (9)4.2.1登录页面 (10)4.2.2注册页面 (11)4.2.3添加新闻页面 (13)4.2.4管理新闻页面 (14)4.2.5查看新闻页面 (16)第5章设计心得 (17)参考文献 (18)第1章课程设计目的、内容及要求1.1 设计的目的利用已经学过的网站开发工具myeclipse+mysql,设计一个新闻发布系统。

1.2 设计内容及要求:该系统的功能模块有:1.用户注册;2.用户修改个人资料;3.用户发布新闻、修改、更新、删除等;4.用户评论新闻等。

要求:用myeclipse进行设计;数据库用mysql;运行环境:数据库:MYSQL,Navicat for MySQL系统开发软件:myeclipse第2章方案设计及功能2.1 设计方法与步骤:对网站进行分析设计,分模块;进行各模块的界面设计;进行数据库表格的设计;进行各个模块的详细设计;测试运行整个系统。

2.2 设计方案及功能所有用户均可以使用新闻发布系统功能,发布新闻是用户需要填写新闻标题、新闻类型、新闻内容,发布时间和作者不需要用户填写登录功能当用户需要管理新闻是需要用管理员的身份登录,当为登录用户点击管理新闻时,弹出“非法用户”,点击确定进入管理员登录页面。

可通过“退出”连接退出管理用户注册功能添加新闻功能新闻标题、新闻类别、新闻内容管理新闻功能当用户以管理员身份进入管理页面时,可对新闻修改、删除等操作(1)查看新闻查看标题、类别、作者、内容、发布时间(2)修改新闻修改标题、类别(3)删除新闻添加、管理评论任何人可发表评论,注册用户可以管理自己发布的评论添加、管理类别2.3 数据库设计在数据中采用tb_news表来存储新闻信息,如图所示:tb_user来存储用户信息tb_class表来存储新闻类别信息第3章 模块设计3.1系统模块依据需求分析结果,新闻发布系统可以分为四个模块:数据库访问模块、新闻查看模块、新闻发布模块和新闻管理模块。

3.2 数据库访问模块利用JavaBean ,Servlet 封装对数据库的操作,主要包括连接数据库、添加、修改、删除、查询数据表、关闭连接等功能。

当JSP 页面中需要访问数据库时直接调用这个JavaBean 即可。

数据库模块 新闻发布系统 新闻发布模块 新闻查看模块 新闻管理模块 数据库访问模加载驱动程序 关闭连接 创建连接、执行非查询类语句 创建连接、执行查询语句3.3查看新闻模块新闻查看模块提供显示全部新闻的功能,用户通过单击每条新闻的标题可以查看到本条新闻的详细内容。

显示新闻列表查看新闻模块查看详细内容3.4发布新闻模块新闻发布模块提供发布新消息的功能。

3.5管理新闻模块新闻管理模块包括修改新闻和删除新闻的功能。

在进入管理模块前,需要以合法的管理员身份登录管理员登录发布新闻模块修改新闻删除新闻第4章系统设计4.1实现结构4.2功能实现4.2.1登录页面若未注册或者用户名,密码不正确,则提示:登录页面关键代码String uname = request.getParameter("Uname");String upwd = request.getParameter("Upwd");DBConn conn = new DBConn();ResultSet rs = null;String sql = "select * from tb_user where u_name='" + uname+ "' and u_pwd='" + upwd + "'";System.out.println(sql);System.out.println(request.getContextPath());rs = conn.doQuery(sql);try {if (rs.next()) {session.setAttribute("UserName", uname);conn.closeConn();out.print("<script>location.href='" + request.getContextPath() + "/admin/index.html';</script>");} else {conn.closeConn();out.print("<script>alert('您的用户名或密码错误,请重登陆');location.href('"+ request.getContextPath()+ "/admin/login.jsp');</script>");}4.2.2注册页面注册页面关键代码String sql = "select * from tb_user where u_name='" + uName + "'";DBConn dbconn = new DBConn();Connection conn = dbconn.getConn();try {Statement stmt = conn.createStatement();ResultSet rs = dbconn.doQuery(sql);if(rs.next()){dbconn.closeConn();out.print("<script>alert('"+uName+" 已被注册过,请修改用户名后重新注册!');history.go(-1);</script>");}else{sql = "insert into tb_user(u_name,u_pwd) values('" + uName + "','" + uPwd + "')";i = dbconn.doUpdate(sql);if( i == 1 ){dbconn.closeConn();out.print("<script>alert('恭喜"+uName+" 注册成功!');location.href='"+request.getContextPath()+"/admin/login.jsp';</script>");}else{dbconn.closeConn();out.print("<script>alert('"+uName+" 注册失败!');history.go(-1);</script>");}}}4.2.3添加新闻页面添加新闻的关键代码String nauthor = (String) session.getAttribute("UserName");if(nauthor != "" && nauthor != null){String ntitle =new String(request.getParameter("newsTitle").getBytes("ISO8859-1"),"UTF-8");String nclass = new String(request.getParameter("newsClass").getBytes("ISO8859-1"),"UTF-8");String ncontent = new String(request.getParameter("NewsContent").getBytes("ISO8859-1"),"UTF-8");SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateStr = df.format(new Date());String sql = "INSERT INTO tb_news(n_title,n_class,n_content,n_author,n_datatime) V ALUES('"+ ntitle + "','" + nclass + "','" + ncontent +"','" + nauthor +"','"+ dateStr + "')";DBConn db = new DBConn();int result = db.doUpdate(sql);if(result==1){out.print("<script>alert('添加成功!');location.href('"+ request.getContextPath()+ "/admin/addNews.jsp');</script>");}else{out.print("<script>alert('添加失败!');</script>");}}4.2.4管理新闻页面修改页面管理新闻页面关键代码<%DBConn db = new DBConn();String sql = "SELECT * FROM tb_news,tb_class WHERE n_class=c_id ORDER BY n_datatime DESC";ResultSet rs = db.doQuery(sql);int i = 1;while( rs.next() ){%><tr align="center"><td><%=i %></td><td><ahref="<%=path %>/admin/viewNews.jsp?nid=<%=rs.getString("n_id") %>" target="_blank"><%=rs.getString("n_title") %></a></td><td><%=rs.getString("c_name") %></td><td><%=rs.getString("n_datatime") %></td><td><%=rs.getString("n_author") %></td><td><ahref="<%=path %>/admin/updateNews.jsp?nid=<%=rs.getString("n_id")%>&n_title=<% =rs.getString("n_title") %>&n_class=<%=rs.getString("n_class")%>&n_datatime=<%=rs.getString("n_datatime")%>&n_author=<%=rs.getString("n_aut hor")%>" >修改</a><ahref="<%=path %>/admin/delNews.jsp?nid=<%=rs.getString("n_id") %>" >删除</a><ahref="<%=path %>/admin/viewNews.jsp?nid=<%=rs.getString("n_id") %>" >查看</a></td></tr>4.2.5查看新闻页面第5章设计心得通过本次课设,在学习JSP动态网页设计的基础有了深刻的了解,也有巩固和加深,同时对数据库的知识也进行了复习和在学习。

相关主题