欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计(论文)asp新闻发布系统 .doc

    • 资源ID:3976384       资源大小:1,007KB        全文页数:25页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计(论文)asp新闻发布系统 .doc

    目 录1系统概述 12系统运行环境 12.1、硬件环境 12.2、软件环境 13功能需求描述 13 .1 查看新闻功能 13.2 新闻搜索功能23.3 发布新闻功能23.4 管理员登录功能23.5 新闻管理功能24. 总体设计 24.1 开发与设计的总体思想 24.2 系统模块结构图 24.3 模式设计 34.3.1 数据库访问模块 34.3.2 新闻查看模块 34.3.3 新闻发布模块 34.4 系统流程描述44.5 界面设计44.5.1 查看新闻页面(系统首页)设计 44.5.2 查看新闻详细内容页面设计 54.5.3 发布新闻页面设计 54.5.4 管理员登录页面设计 64.5.5 新闻管理页面设计 64.5.6 编辑新闻页面设计 74.6 数据库设计75. 详细设计 85.1 应用部署图 85.2 访问数据库的 JAVABEAN 85.2.1 模块描述 85.2.2 类的设计和实现 85.2.3 新闻查看模块 115.2.4 新闻发布模块 165.2.5 新闻管理模块 176. 小结 24 新闻发布系统需求分析随着网络的飞速发展和普及,越来越多的 用户习惯上网浏览新闻。本系统的主要目的就是为用户提供一个方便、及时的网上新闻发布、浏览平台。利用本系统,用户可以直接在网上发布新闻信息并根据自己的需要对新闻进行检索。本系统遵循软件工程标准,并按照软件工程规定的流程进行项目的开发。 1系统概述 本次任务是要实现一个新闻发布系统,系统的主要功能包括:新闻查看功能、新闻搜索功能、发布新闻功能、管理员登录功能和新闻管理功能。任何用户均可使用本系统来查看、查找、发布新闻。用户可以通过单击每条新闻的标题来查看该条新闻的详细内容。新闻搜索分为按新闻标题、新闻内容、新闻作者和发布时间等多种搜索方式。当用户作为系统管理员成功登录后,可以使用新闻管理功能。新闻管理包括对现有新闻的修改和删除,管理员本次操完毕后,可单击“管理员退出”超连接退出登录状态。2系统运行环境2.1、硬件环境* 处理器:AMD2800+* 内存:512M* 硬件空间:160G* 显卡:SVGA 显示适配器2.2、软件环境* 操作系统:Windows XP SP2* Web 服务器:Tomcat5.5* 数据库:Access* 客户端:IE 6.0* 开发语言: JSP、Java3 功能需求描述 新闻发布系统的主要目的是为用户提供一个方便的、可快速浏览当前最新新闻的界面,并且也可以随时发布最新的讯息以达到信息共享的目的。因此要为用户提供一个方便易用的使用界面,同时也为具有更高权限的管理用户提供添加、删除新闻的系统维护功能。新闻发布系统主要需要实现以下一些基本功能。3.1 查看新闻功能:任何用户均可以使用查看新闻功能。用户通过在系统导航栏单击“查看新闻”超链接,可以进入查看新闻页面。查看新闻功能显示所有新闻,并且使用分页显示效果,每页显示8条新闻,用户可通过单击下方的页码或文本框中输入页码来条转到任意一页浏览。这里显示的所有新闻按发布时间降序排列,以保证最新发布的新闻位于最前面。用户通过单击每条新闻的标题可以查看到新闻的详细内容。3.2 新闻搜索功能:任何用户均可以使用新闻搜索功能。在新闻查看页面上,用户可以通过在“查询类别”下拉列表框中选择按新闻的标题、内容、作者和发布日期等不同的查询方式来搜索符合条件的新闻。这里提供的是模糊搜索功能,即只要在查询字段只能感包含用户输入的关键内容就认为是符合查询条件的记录。查询结果同样以分页的方式显示。3.3 发布新闻功能:任何用户均可以使用发布新闻功能。用户通过在系统导航栏上单击“发布新闻”超链接可以进入发布新闻页面。发布新闻时,需要填写新闻的标题、内容和发布者姓名,发布时间取当前系统时间,不需要用户填写。3.4 管理员登录功能:当用户需要使用新闻管理功能时,需要先以管理员身份登录系统。当未登录用户单击系统导航栏上的“新闻管理”超链接时,进入管理员登录页面。用户可以在登录页面输入用户名和密码,若登录失败,则重定向到管理员登录页面等待下一次登录。3.5 新闻管理功能:当用户作为管理员登录系统后,可以进行新闻管理操作,包括对现有新闻的修改和删除。在管理页面上,用户可以通过单击每条记录右侧的“编辑”和“删除”超链接来进行操作。当管理员的本次维护工作结束后,可通过单击“管理员推出”超链接来注册管理员身份。4. 总体设计 在前面对用户需求的分析和研究的过程中,对于本系统中几个主要的功能模块大致有了一个抽象的认识。下面将通过总体设计,给出新闻发布系统的模块结构、流程描述和用户界面布局。4.1 开发与设计的总体思想 新闻发布系统面向各层次的网络用户,为了使它合适个多的用户使用,系统的界面实际应该尽量做到简洁、友好、方便、易用,用户不需要专门的学习便可熟练操作。 本系统采用B/S模式,服务器端使用jsp进行动态网页的开发。4.2 系统模块结构图 依据需求分析结果,新闻法务系统可以分为四个模块:数据库访问模块、新闻查看模块、新闻发布模块和新闻管理模块,如图4.3 模式设计4.3.1 数据库访问模块:利用JavaBean封装对数据库的操作,主要包括连接数据库、添加、修改、删除、查询数据表、关闭连接等功能。当jsp页面中需要访问数据库时直接调用这个JavaBean即可。数据库访问模块功能树如图4.3.2 新闻查看模块:新闻查看模块提供分页显示全部新闻的功能,用户通过单击每条新闻的标题可以查看到本条新闻的详细内容。还可以通过输入查询类别和查询关键字来选择符合条件的新闻浏览。新闻查看模块功能树如图4.3.3 新闻发布模块:新闻发布模块提供发布新消息的功能。4.3.4 新闻管理模块:新闻管理模块包括修改新闻和删除新闻的功能。在进入管理模块前,需要以合法的管理员身份登录。新闻管理模块功能树如图:4.4 系统流程描述 系统的流程如图4.5 界面设计 新闻发布心痛系统的界面设计仍遵循简洁美观、方便易用的基本原则。为了方便用户在各个功能间快速切换,本系统使用了导航栏方式,在各个页面的头部均包含了导航文件。系统具体设计如下。 4.5.1 查看新闻页面(系统首页)设计,具体设计效果如图 4.5.2 查看新闻详细内容页面设计,具体设计效果如图 4.5.3 发布新闻页面设计,具体设计效果如图 4.5.4 管理员登录页面设计,具体设计效果如图 4.5.5 新闻管理页面设计,具体设计效果如图 4.5.6 编辑新闻页面设计,具体设计效果如图4.6 数据库设计 本系统采用Access数据库,在数据库中使用数据表news来储存现有的新闻信息。表的结构如表名称字段名称数据类型主键非空新闻ID号ID数字(自动编号)YesYes新闻标题Title文本NoYes新闻详细内容Content备注NoYes新闻作者Author文本NoYes新闻发布时间Pubdate日期/时间No Yes 另外,还使用了admin数据表来储存管理员的信息,表的结构如表名称字段名称数据类型主键非空管理员ID号ID数字(自动编号) Yes Yes管理员用户名Name文本NoYes管理员密码Password文本NoYes 本系统中采用JSVCODBC桥的方式连接数据库,因此要首先配置一个ODBC数据源,数据源名定为news。5. 详细设计 基于系统需求分析与系统总体设计的结论,本节将分别阐述系统的详细设计和实现过程。5.1 应用部署图 新闻发布系统对应于一个名为news的WEB应用,具体的部署情况及目录结构如图所示。5.2 访问数据库的 JAVABEAN 由于在本系统的多个JSP页面中都需要访问数据库,因此使用一个JAVABEAN 来专门完成数据库的连接,访问等操作。吧数据库操作封装在一个类中,每次需要访问数据库时只需要例化这个类并利用类里面提供的各种共有方法来完成对应的功能即可。这样,既可以节省编码时间,也提高了代码的利用率。 5.2.1.模块描述 负责完成于数据库的连接,访问,关闭等操作。5.2.2.类的设计和实现5.2.2-(1)名称:DBBEAN.JAVA5.2.2-(2)功能:负责完成于数据库的连接,访问,关闭操作5.2.2-(3)属性设计:如表4-3所示 表4-3 类属性定义表5.2.2-(4)构造方法设计1. 方法定义:public DBBEAN( )2. IPO图输入:无处理:加载由属性driverstr指定的驱动程序,若加载中出现异常,则显示异常描述信息。输出:无。3.程序清单:public DBBean() try /加载驱动程序 Class.forName(driverStr); catch(ClassNotFoundException ex) System.out.println(ex.getMessage();5.2.2-(5)主要方法设计 方法 一: execute Query 方法1. 方法定义:public ResultSet executeQuery(String sql)2. IPO 图 输入: 要执行的SQL语句。 处理:创建驱动程序指定数据库之间的连接对象,建立语句对象,利用语句对象的executequery()方法执行SQL语句,并将执行结果存放于局部变量rs中。 输出:查询结果集rs。3. 程序清单: public ResultSet executeQuery(String sql) ResultSet rs = null;try conn = DriverManager.getConnection(connStr); stmt = conn.createStatement();rs = stmt.executeQuery(sql); catch(SQLException ex) System.out.println(ex.getMessage();return rs; *方法 二: execute Update方法1. 方法定义:public int execute Update(string sql)2. IPO 图 输入:要执行的SQL语句。处理:创建驱动程序指定数据库之间的连接对象,建立语句对象,利用语句对象的executequery()方法执行SQL语句,并将执行结果存放于局部变量result中. 输出:更新的记录个数result.3. 程序清单: public int executeUpdate(String sql)int result=0;tryconn = DriverManager.getConnection(connStr);stmt = conn.createStatement();result = stmt.executeUpdate(sql);catch(SQLException ex)System.out.println(ex.getMessage();return result;方法 三 : close 方法1. 定义: public void close()2. IPO 图输入:无处理:调用 connection 对象 statement 对象的close() 方法,关闭语句对象连接对象。输出: 无。3. 程序清单:public void close()trystmt.close();conn.close();catch(SQLException ex)System.out.println(ex.getMessage();5.2.2-(6)编译部署JAVABEAN 编写好的JAVABEAN, 可以使用JDK中的JAVAC命令编译,需要注意的是,不带参数的JAVAC命令没有生成目录的能力,需要使用带-d参数的命令进行编译: Javac DBBean.java -d . 其中的“.” 代表当前目录,编译成功后,会在当前目录下生成一个名为 dbBean 的目录,在该目录中有 编译好的字节码文件 DBBEAN.CLASS. 然后, 将 DBBEAN 子目录以及目录中的字节码文件复制到“TOMCAT 安装目录 webappsnewsWEB-INFclasses”中, 重启TOMCAT服务器即可在NEWS应用中的各个jsp 一面使用 该JAVABEAN来完成对数据库的访问。5.2.3 新闻查看模块 新闻查看模块主要提供全部新闻的分页显示,显示新闻的详细内容,按不同的方式搜索新闻等功能。其中完成新闻显示,搜索的各jsp 页面中均需要访问数据库,因此直接调用了刚刚实现并发布好的DBBean来完成数据库操作。5.2.3-1模块描述提供新闻显示功能,搜索功能。5.2.3-2源文件定义5.2.3-2(1)index.jsp 名称:新闻发布系统首页。 功能:新闻查看页面,默认情况下分布显示全部新闻,并按发布时间降序排列。若查看条件不为空,则显示符合条件的所有新闻。 输入:查询类别和查询关键字。 处理:获取查询条件,在news表中查找符合条件的记录并按时间降序排列。 输出:新闻信息列表。 程序清单: <% page contentType="text/html;charset=gb2312" import="java.sql.*"%><% include file="top.htm"%><jsp:useBean id="conn" class="dbBean.DBBean" scope="session"/><jsp:setProperty name="conn" property="connStr" value="jdbc:odbc:news"/><%!String type=""String key=""/每页显示的记录个数int size = 8;/当前页号int p = 1;/全部的页数int totalPage = 1;String str = ""/显示页号为p的一页public String printPage(ResultSet rs, int p, int size) str = "" /将访问游标定位到页号为p的页要显示的第一条记录的位置 try for(int k=0;k<(p-1)*size;k+)rs.next(); catch(SQLException e) for(int iPage=1; iPage<=size; iPage+) str += printRow(rs,iPage,p); try if(!rs.next() break; catch(Exception e) return str;/显示单行记录public String printRow( ResultSet rs ,int i,int p) String temp = ""try if(i%2=1)temp+="<tr bgcolor='#FFFFCC'>"elsetemp+="<tr bgcolor='#f7f7f7'>" temp+="<td><a href=javascript:detail("+rs.getInt("id")+")>"+rs.getString("title")+"</a></td>"temp+="<td>"+rs.getString("author")+"</td>"temp+="<td>"+rs.getString("pubdate")+"</td>" temp += "</tr>"catch(SQLException e) return temp;%><script language="javaScript">function detail(id)window.open('detail.jsp?id='+id,'infoWin','height=400,width=600,scrollbars=yes,resizable=yes');</script><%request.setCharacterEncoding("gb2312");if(request.getParameter("stype")!=null)type=request.getParameter("stype");session.setAttribute("stype",type);if(request.getParameter("skey")!=null)key=request.getParameter("skey");session.setAttribute("skey",key);ResultSet rs=null;ResultSet temp=null;String sql1="select * from news"String sql2="select count(*) from news"if(session.getAttribute("stype")!=null)type=(String)session.getAttribute("stype");if(session.getAttribute("skey")!=null)key=(String)session.getAttribute("skey");if(type!=null && key!=null && !type.equals("") && !key.equals("")sql1 += " where "+type+" like '%"+key+"%'"sql2 += " where "+type+" like '%"+key+"%'"sql1+=" order by pubdate desc"%><center><p><font size="4" color="red"><strong>欢迎您访问新闻发布系统!</strong></font><p><font size="2"><form method="post" action="index.jsp">请选择查询类别:<select name="stype"><option value="title" <%if(type!=null) if(type.equals("title") out.print("selected");%>>按标题查询</option><option value="content" <%if(type!=null) if(type.equals("content") out.print("selected");%>>按内容查询</option><option value="author" <%if(type!=null) if(type.equals("author") out.print("selected");%>>按作者查询</option><option value="pubdate" <%if(type!=null) if(type.equals("pubdate") out.print("selected");%>>按日期查询</option></select>请输入查询关键字:<input type="text" name="skey"> <input type="submit" value="查询"></form></font></center><p><center><table border="1" borderColorDark="#ffffec" borderColorLight="#5e5e00" width="95%"><tr bgcolor="#FFCC99" align="center"><th width="50%">标题</th><th width="20%">作者</th><th>日期</th><%temp = conn.executeQuery(sql2);int totalrecord=0;if(temp.next()totalrecord = temp.getInt(1);/ 如果是当前页码的整数倍if(totalrecord % size =0) totalPage = totalrecord / size; / 如果最后还空余一页else totalPage = (int) Math.floor( totalrecord / size ) + 1; if(totalPage = 0) totalPage = 1;temp.close();try if(request.getParameter("p")=null | request.getParameter("p").equals("") p = 1;else p = Integer.parseInt(request.getParameter("p"); / 捕获用户从浏览器地址拦直接输入非数字信息而引起的异常catch(NumberFormatException e) p = 1;if(p < 1) p = 1;if(p > totalPage) p = totalPage;rs=conn.executeQuery(sql1);if(rs.next()out.println(printPage(rs,p,size);%></table><form Action="index.jsp" Method="GET"><% for(int i=1;i<=totalPage;i+) out.println("<a href=index.jsp?p=" + i +">" + i + "</a>&nbsp;&nbsp;"); %> <p>输入页数:<input type="text" name="p" size="3"> 页数:<font color="red"><%=p%>/<%=totalPage%></font> </p></form></center><%rs.close();conn.close();session.setMaxInactiveInterval(-1);%>5.2.3-2(2)top.htm 名称:系统导航栏页面。 功能:主要负责提供系统的导航功能,用户可以通过导航栏方便地在各个功能页面间切换。5.2.3-2(3)detail.jsp 名称:显示新闻详细信息页面。 功能:主要负责显示每条新闻的详细内容。当用户单击查看的新闻标题时,重新打开一个浏览器窗口显示该条新闻的详细信息。为了显示效果更清晰,美观,这里需要将换行符从“/n”转换成HTML语言中识别的标记符号”<br>”或”<p>”。 输入:要显示的新闻的id号。 处理:在news表中查找相应的记录. 输出:新闻详细内容。 程序清单: <% page contentType="text/html;charset=gb2312" import="java.sql.*"%><jsp:useBean id="conn" class="dbBean.DBBean" scope="session"/><%!StringBuffer fragment(StringBuffer c)for(int i=0;i<c.length();i+)if(c.charAt(i)='n')c.delete(i,i+1);c.insert(i,"<p>");return c;%><%request.setCharacterEncoding("gb2312");String id=request.getParameter("id");ResultSet rs=null;String sql="select * from news where id="+id;rs=conn.executeQuery(sql);if(!rs.next()out.println("对不起,没有相关的新闻!");elseStringBuffer content=new StringBuffer(rs.getString("content");content=fragment(content);%><center><table border="1" borderColorDark="#ffffec" borderColorLight="#5e5e00" width="100%"><tr bgcolor="#FFCC99" align="center"><th><%=rs.getString("title")%></th><tr><td><%=content%></td></table><font size="2" color="blue"><%=rs.getString("author")%>&nbsp;发布于&nbsp;<%=rs.getString("pubdate")%></center><%rs.close();conn.close();%>5.2.4新闻发布模块5.2.4-1.模块描述提供发布新闻的功能5.2.4-2.源文件定义5.2.4-2(1)add.jsp名称:新闻发布页面。功能:提供输入新闻信息的表单,用户需输入新闻标题,新闻内容和发布者姓名来添加新闻。这里使用了客户验证,检查各部分是否均已添写,避免无效信息提交到后台。新闻的发布时间使用系统的当前时间,无需用户输入。5.2.4-2(2)save.jsp名称:新闻发布处理页面。功能:负责添加一条新闻。输入:用户在添加页面输入的信息。处理:读取用户在add.htm 中输入的新闻信息,并作为一条新记录插入到数据表中。输出:重定向到新闻查看页面index.jsp,显示发布结果。程序清单:<% page contentType="text/html;charset=gb2312" import="java.sql.*"%><jsp:useBean id="conn" class="dbBean.DBBean" scope="session"/><%request.setCharacterEncoding("gb2312");String title=""String content=""String author=""if(request.getParameter("title")!=null)title=request.getParameter("title");if(request.getParameter("content")!=null)content=request.getParameter("content");if(request.getParameter("author")!=null)author=request.getParameter("author");String sql="insert into news(title,content,author,pubdate) values('"+title+"','"+content+"','"+author+"',date()+time()"conn.executeUpdate(sql);conn.close();response.sendRedirect("index.jsp");%>5.2.5新闻管理模块5.2.5-1.模块描述提供已有新闻的的修改和删除功能。5.2.5-2.源文件定义5.2.5-2(1)login.jsp名称:管理员登陆页面。功能:提供管理员登陆的表单。输入:用户名和密码。处理:显示登陆表单,读取错误信息,若存在,则显示错误提示信息。输出:登陆界面或错误提示信息。程序清单:<% page contentType="text/html;charset=gb2312"%><html><head><title>管理员登录</title></head><body><center><h2>管理员登录</h2><form method="post" action="verify.jsp"><table border bordercolor="#FF6633" bgcolor='#FFFFCC'><tr><td width="40%">用户名:</td> <td><input type="text" name="user"></td><tr><td width="40%">密码:</td> <td><input type="password" name="pw"></td><tr> <td colspan="2" align="center"> <input type="submit" value="登录">&nbsp;&nbsp;&nbsp;&nbsp; <input type="reset" value="清空"> </td></table></form><%String warning=request.getParameter("warning");if(warning!=null)warning=new String(warning.getBytes("GBK");out.println("<h3>"+warning+",请重新登录或<a href='index.jsp'>返回首页</a></h3>");%></center></body></html>5.2.5-2(2)verfy,jsp名称:登陆处理页面。功能:负责判断用户是否为合法用户。输入:用户在登陆页面输入的信息。处理:获取用户在login.jsp页面上输入的的用户名和密码,验证是否为admin表中的管理员用户,若验证通过,重定向到管理页

    注意事项

    本文(毕业设计(论文)asp新闻发布系统 .doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开