新闻网页设计报告_第1页
新闻网页设计报告_第2页
新闻网页设计报告_第3页
新闻网页设计报告_第4页
新闻网页设计报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.课程设计报告课程名称:JSP 开发应用技术课程设计题目:新闻发布系统姓 名:XXXX系:信息技术系专 业:计算机科学与技术年 级:2011学 号:XXXX实验地点:1教室、3教室指导教师:XXX完成起止日期:2012.12.112013.1.172013年 1月 17日目 录1项目总体计划- 3 -1.1项目简介- 3 -1.2项目设计的基本原理和采用的主要方法与技术- 3 -1.3系统开发平台与软件工具- 5 -2系统需求分析和总体设计- 6 -2.1系统功能需求- 6 -2.2系统角色- 7 -2.3流程图- 7 -3数据库设计- 8 -3.1E-R图- 8 -32数据表的设计- 8 -4系统详细设计- 9 -4.1数据库访问模块- 9 -4.3新闻查看模块- 10 -4.3新闻发布模块- 15 -4.4新闻管理模块- 17 -5个人遇到的困难及解决方法- 21 -6总结- 23 -7附录- 23 -.新闻发布系统1项目总体计划1.1项目简介现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷,考生考试,人工阅卷,成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观、更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,我们推出了这一系统,使其尽快在各类考试中发挥高效,便捷的作用,把老师从繁重的工作中解脱出来。1.2项目设计的基本原理和采用的主要方法与技术该系统基于B/S运行模式,采用JSP的Model1开发模型。Model1是一种最初级的模式,它以JSP文件为中心,在这种模式中JSP页面不仅负责表现逻辑,也负责控制逻辑,而是用JavaBean处理业务逻辑。这种模式的优点有如下: 纯净的JSP页面,因为业务逻辑和数据库操作已经从JSP页面中剥离出来,JSP页面中只需嵌入少量的Java代码甚至不使用Java代码; 方便进行调试; 可重用的组件; 易维护易扩展。在Model 1体系中,如图1所示,JSP页面独自响应请求并将处理结果返回客户。这里仍然存在表达与内容的分离,因为所以的数据存取都是由bean来完成的。Model 1体系十分适合简单应用的需要,非常适合小型系统的开发。图 1JSP技术JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,类似于其他技术标准,如ASP,PHP等,主要用于开发动态网页内容。JSP是新一代的动态内容编程技术,它继承了Java技术的“一次编写,随处运行”的特性,允许Web开发人员开发和维护与平台无关,信息丰富动态的Web页面,包括HTML,DHTML,XHTML和XML,它能使Web开发人员轻易搭建网络平台,建立起功能强大的Web网站。JSP可以把用户界面从内容层次中分离出来,使得Web开发人员不必修改在底层的动态内容,就可以修改整体的页面布局。JavaBeanJavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中使用可重复使用的Java组件的技术规范。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的.java文件,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被示例之后,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。使用JSP技术,Web页面开发人员可以使用HTML和XML标识来设计和格式化最终页面。使用JSP标识或者小脚本生成页面上的动态内容。生成内容的逻辑被封装在JSP标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。核心逻辑封装在标识和Beans中,可以方便页面设计者编辑和使用JSP页面。在服务器端,JSP引擎解释JSP标识和小脚本生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBC技术访问数据库),并且将结果以HTML(或XML)页面的形式发送回浏览器。绝大多数JSP页面依赖于可重用的跨平台的足见(JavaBeans或者Enterprise JavaBeans组件)来执行应用程序所要求的复杂的处理。这样的好处是开发人员能够共享和交换执行普通操作的组件,加速了总体开发过程。因此,基于Web的较为复杂的应用程序(如JSP开发网站或网上MIS),JSP的复杂架构必须由JavaBeans达成。JDBCJDBC 是一种用于执行 SQL 语句的 Java API(有意思的是,JDBC 本身是个商标名而不是一个缩写字;然而,JDBC常被认为是代表 “Java 数据库连接 (Java Database Connectivity)”)。它由一组用 Java 编程语言编写的类和接口组成。JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序。有了 JDBC,向各种关系数据库发送 SQL 语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问 Sybase 数据库专门写一个程序,为访问 Oracle 数据库又专门写一个程序,为访问Informix 数据库又写另一个程序,等等。您只需用 JDBC API 写一个程序就够了,它可向相应数据库发送 SQL 语句。而且,使用 Java 编程语言编写的应用程序,就无须去忧虑要为不同的平台编写不同的应用程序。将 Java 和 JDBC 结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java 应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和 UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用 Java 编程语言,对从 Java中便捷地访问数据库的要求也在日益增加。1.3系统开发平台与软件工具平台用途版本要求是否具备Dreamweaver网页设计工具,设计web静态界面8.0是MySQL5.0关系型数据库管理系统5.0是Navicat 8.0MySQL数据库客户端8.0是MyEclipse6.5项目开发工具6.5是Tomcat服务器程序6.0是Internet Explorer 6.0网页浏览器6.0是2系统需求分析和总体设计2.1系统功能需求 随着网络的飞速发展和普及,越来越多的用户习惯上网浏览新闻。本系统的主要目的就是为用户提供一个方便的,及时的网上新闻发布,浏览平台。利用本系统,用户可以直接在网上发布新闻信息并根据自己的需要对新闻进行检索。本系统遵循软件工程标准,并按照软件工程规定的流程进行项目的开发。 如图2所示,在本系统中主要阐述新闻访问模块、新闻查看模块、新闻发布模块以及新闻管理模块四个模块。(1)数据访问模块:利用JavaBean封装对数据的操作,主要包括连接数据库,添加,修改,删除,查询数据表,关闭连接等。当JSP页面需要访问数据库时直接调用这个JavaBean即可。(2)新闻查看模块:提供分页显示全部新闻的列表,还可查看新闻详细内容的功能。(3)新闻发布模块:实现新闻发布功能。(4)新闻管理模块:实现修改新闻,删除新闻的功能,管理员登录进入管理模块对新闻管理。2.2系统角色(1) 普通用户(2) 管理员2.3流程图 3数据库设计3.1E-R图该系统数据库表的E-R图如图3所示:图 2 32数据表的设计下面列出了设计过程中所用到的news数据库中的数据库表news和数据库表admin及其结构:1. news 表用来存储现有的新闻信息,如表3-1:表 01 news表结构字段中文描述类型是否为空备注ID新闻ID号Int是主键、自动递增Title新闻标题varchar是Content新闻详细内容Text是Author新闻作者varchar是Pubdate日期/时间Datetime是2. admin表用来保存管理员信息,如表3-2:表 02 admin表结构字段中文描述类型是否为空备注ID管理员IDint是主键、自动递增name管理员名字varchar是PWD管理员密码varchar是4系统详细设计4.1数据库访问模块数据库使用一个JavaBean来专门完成多个JSP页面对数据库的连接,访问等操作。即每次访问数据库时只需实例化一个封装数据库的类,并利用类里的各种公有方法来完成对应功能。下列是类中的几个方法:(1) 方法DBBean() public DBBean() try Class.forName(driverStr); catch(ClassNotFoundException ex) System.out.println(ex.getMessage();(2) 执行SQL语句的方法1executeQuery(String sql) public ResultSet executeQuery(String sql) ResultSet rs = null;try conn = DriverManager.getConnection(connStr,userName,userPassword); stmt = conn.createStatement();rs = stmt.executeQuery(sql); catch(SQLException ex) System.out.println(ex.getMessage();return rs;(3) 执行SQL语句的方法2executeUpdate(String sql) public int executeUpdate(String sql)int result=0;tryconn = DriverManager.getConnection(connStr,userName,userPassword);stmt = conn.createStatement();result = stmt.executeUpdate(sql);catch(SQLException ex)System.out.println(ex.getMessage();return result;(4) 关闭语句对象方法close()public void close()trystmt.close();conn.close();catch(SQLException ex)System.out.println(ex.getMessage();4.3新闻查看模块 新闻查看模块全部新闻分页显示,显示新闻内容,新闻搜索方式等功能。完成新闻显示,搜索等操作。1) 新闻发布系统首页 其功能有:新闻查看页面,如下图所示:关键代码如下: function datail(id) window.open(detail.jsp?id=+id,infoWin,height=400,width=600,scrollbars=yes,resizable=yes); 欢迎您访问新闻发布系统! 请选择查询类别: option value=title 按标题查询 option value=content 按内容查询 option value=author 按作者查询 option value=pubdate 按日期查询 请输入查询关键字: 标题作 者日期 % temp=conn.executeQuery(sql2); int totalrecord=0; if(temp.next() totalrecord=temp.getInt(1); if(totalrecord % size = 0) totalPage = totalrecord/size; else totalPage=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(ptotalPage) p=totalPage; rs=conn.executeQuery(sql1); if(rs.next() out.println(printPage(rs,p,size); % % for(int i=1;i=totalPage;i+) out.println(+i+  ); % 输入页数: 页数:/ 继续发布    请选择查询类别: option value=title 按标题查询 option value=content 按内容查询 option value=author 按作者查询 option value=pubdate 按日期查询 请输入查询关键字: 标题作 者日期 % temp=conn.executeQuery(sql2); int totalrecord=0; if(temp.next() totalrecord=temp.getInt(1); if(totalrecord % size = 0) totalPage = totalrecord/size; else totalPage=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(ptotalPage) p=totalPage; rs=conn.executeQuery(sql1); if(rs.next() out.println(printPage(rs,p,size); % % for(int i=1;i=totalPage;i+) out.println(+i+  ); % 输入页数: 页数:/ 继续发布    2) 系统导航栏页面 4.3新闻发布模块此模块提供新闻发布功能,包括新闻发布首页,及新闻发布处理页面。1) . 新闻发布首页:提供输入新闻信息表单,如下图:相关代码如下:2) 新闻发布处理页面:3) 4) 编辑新闻5) 返回管理页面6) 7) 26) 27) input type=hidden name=editid value=28) 29) 30) 标题:31) input type=text name=title size=65% value=32) 33) 内容:34) 35) 36) 作者:37) 38) 39) 40)    41) 42) 43) 44) 45) 48) 对不起,没有相关的新闻!4.4新闻管理模块管理员登录对现有新闻进行编辑,删除,发布等操作。主要有:管理员登录表单,登陆处理页面,新闻管理页面,编辑页面,管理员退出页面等。1).管理员注册登录表单: 用户注册登录的关键代码如下: 管理员登录 注册 管  理  员: 管理员密码: % String warning=request.getParameter(warning); if(warning!=null) warning=new String(warning.getBytes(8859_1); out.println(+warning+,请重新登录或返回首页); % 44-11登录表单 4.4-1.2 注册表单2). 登陆处理页面 关键代码如下: 3)退出系统关键代码如下: 4). 新闻管理页面关键代码如下:请选择查询类别: option value=title 按标题查询 option value=content 按内容查询 option value=author 按作者查询 option value=pubdate 按日期查询   请输入查询关键字: % int num=1; while(rs.next() String id=rs.getString(id); if(num%2=1) out.println(); else out.println(); ou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论