版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Comment d1: 论文整体格式需按照 学院的模板执行 门户网站的设计与开发门户网站的设计与开发 摘摘 要要 21 世纪的发展已经很大程度的依赖于计算机网络的发展,随着计算机网络 的快速发展而带来的一系列的基于网络的事物的飞速增长和世界信息化步伐的 加快,于是越来越多的企事业单位包括各类院校都需要一个自己的信息发布和 资源共享的平台。为了满足这个需求,我们开发此门户网站,用于用户发布自 己的信息和资源以实现信息的共享和传递。 。 在基于 JSP 页面、MySQL 数据库及 Tomcat 服务器端的基础上开发的新闻发 布系统。系统地阐述该网站系统开发的分析及设计过程,包括数据流图,功能 分析
2、设计,数据库设计等; 关键词:关键词:门户网站系统 新闻发布 JSP; ABSTRACT 【Keywords】 portal system, press releases, jsp; 目目 录录 目目 录录 .III 第一章第一章 绪论绪论.1 1.1 门户网站的发展现状及发展趋势.1 1.2 课题的目的与意义.2 1.3 本论文所做的工作.3 第二章第二章 开发工具,语言,及数据库简介开发工具,语言,及数据库简介.5 2.1 MYSQL 数据库.5 2.2 JSP 与 SERVLET.5 2.3 STRUTS 框架.7 第三章第三章 总体设计总体设计.9 3.1 需求分析.9 3.2 数据库
3、设计.10 3.3 功能模块简介.10 3.4 框架的应用.14 第四章第四章 详细设计详细设计.18 4.1 新闻显示功能.18 4.2 用户注册功能.18 Comment d2: 用三级目录 4.3 修改注册信息功能.18 4.4 管理新闻功能.19 4.5 添加新闻功能.19 4.6 管理用户.19 4.7 注销.20 第五章第五章 功能实现功能实现.21 5.1 新闻显示功能.21 5.2 用户注册功能.23 5.3 修改注册信息功能.25 5.4 管理新闻功能.26 5.55.5 修改新闻功能修改新闻功能.28 5.6 管理用户.30 5.7 注销.32 第六章第六章 结束语结束语.
4、34 致致 谢谢.35 参考文献参考文献.36 Comment d3: 删去论文中的全部超 级链接 第一章第一章 绪论绪论 1.11.1 门户网站的发展现状及发展趋势门户网站的发展现状及发展趋势 门户网站,是指通向某类综合性互联网信息资源并提供有关信息服务的应 用系统。门户网站最初提供搜索服务、目录服务,后来由于市场竞争日益激烈, 门户网站不得不快速地拓展各种新的业务类型,希望通过门类众多的业务来吸 引和留住互联网用户,以至于目前门户网站的业务包罗万象,成为网络世界的 “百货商场”或“网络超市” 。 实际上,我们今天所谈论的门户与当初 yahoo 初创时所说的门户已经有了 很大的不同。那个时候
5、,大多数网民面对茫茫网海无从下手,正是 yahoo 这种 以提供搜索服务为主的网站扮演了引网民“入门”的角色,成为网民进入互联 网的“门户”。将提供新闻服务作为门户网站的主业乃至核心竞争力,这其实 只是后来的事情,原本就与门户网站的“本质”或者“正根”没有什么关系。 因此,今天在门户问题上,极力强调新闻业务的重要性,似乎不做新闻甚至少 做新闻就是对门户的 “背叛”,让人有些不知所云。相反,简单回顾门户的起 源和历史,可以让我们清楚地看到,无论是搜索还是新闻,都只是门户发展的 一个阶段,门户可以从搜索服务演进到新闻服务,未必就不能从新闻服务演进 到别的什么服务。随着网络媒体的发展,原先的门户不一
6、定再将搜索作为主业 (例如 yahoo 和搜狐),而提供搜索引擎服务的又不一定非门户不可(例如百 度和 google);今人可以这样看过去,后人未必就不能如此看今日。 这场争论同时暗含一个关于门户网站与大众媒体的关系问题。大众媒体的 模式是成熟的,其特点集中体现在“一对多”的传播渠道和以新闻为主的传播 内容上,不用作理论分析,传统媒体上百年的历史已然充分证明了其在传统信 息环境下的合理性和有效性,也充分证明了其能够满足大多数对于新闻、信息 的通用需求。问题在于,这种模式在目前和未来的信息环境下依然那么合理和 有效吗?作为信息交流平台的网络媒体不会改变这种状况吗?新闻永远是大多 数人们的通用需求
7、吗?网络媒体一定要向大众媒体靠拢吗?这些问题都不是显 而易见、一目了然的,正确的答案存在于不断的尝试、选择和进化之中,而 “先知”们的“定论”却未必那么可信。 网络媒体不同于大众媒体,信息时代的网民及其需求也不同于过去时代的 受众及其需求,千万不要轻视网络媒体所具有的信息交流平台功能,千万不要 轻视数量日增的网民对新闻服务以外的信息需求。通过向网民发布新闻固然是 门户网 站的一种模式选择,但是,为网民提供信息交流平台,使网民从多种渠道(例 如其他网民)获取多元信息(不仅限于新闻)也是门户网站的一种模式选择, 也许,这是更好、更有前途的模式选择以这种模式成功的网站正在涌现。 随着中国互联网 10
8、 年的过去,已经诞生出几家全国大型的门户。中国城市百分 之九十都是属于中小二三级城市,电脑终端在中国的普及和网民快速增长,中 国城市未来的网络发展是趋势,市场空间也是很巨大的。在此同时也出现地方 门户,通常我们所说的地方门户系统是指“地方门户网站系统”,它由多个网 站功能系统构成,主要有分类信息系统、社区论坛系统、地方信息资讯系统、 商家企业黄页系统等。并非单指地方某个行业垂直网站系统,如单一的论坛系 统、单一的分类信息系统等。 1.21.2 课题课题的目的与意义的目的与意义 在 Internet 飞速发展的今天,互联网成为人们快速获取、发布和传递信息 的重要渠道,它在人们政治、经济、生活等各
9、个方面发挥着重要的作用.因此网 站建设在 Internet 应用上的地位显而易见,它已成为政府、企事业单位信息化 建设中的重要组成部分,从而倍受人们的重视。现今的社会,人们已经离不开 了网络,网络已经成为人与人之间交流的一种形式,他能够把事情的复杂化转 为简单。新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也 充当了一个重要的新闻媒介的功能。简单地说,新闻发布系统就是充当一个网 络新闻媒介的功能,主要实现对新闻的分类、上传、审核、发布,模拟了一般 新闻媒介的新闻发布的过程,通过不同权限的账号分别实现以上所说功能,当 然这些功能也可以是某一个账号全部具有。 随着互联网的进一步发展,网
10、络媒体在人们心中的地位进一步提高,新闻 发布系统做为网络媒体的核心系统,其重要性是越来越重要:一方面,它提供 一个新闻管理和发布的功能;另一方面,现在的新闻发布要求实现与普通的用 户实现交互,用户可以很方便地参加一些调查和相关新闻的评论,这一点也是 其他一些媒体现在无法做到的(电视、电台等) ,同时,Internet 发展到当今, 可以说,只要你上 Internet,你就会接触到新闻发布系统,新闻发布系统的用 户是相当惊人的,其重要性是不容置疑的,当然这也对新闻发布系统的开发提 出了更高的要求。 网站新闻发布系统,是将网站上需要经常变动的信息,社会的动态等更新 信息集中管理,并通过信息的某些共
11、性进行分类,最后系统化、标准化发布到 网站上的一种网站应用程序。传统的网站新闻管理方式有两种,一是静态 HTML 页面,更新信息时需要重新制作页面然后上传页面并修改相应链接,这种方式 Comment d4: 格式问题 因为效率太低已不多用。二是基于 JSP 和脚本语言,将动态网页和数据库结合, 通过应用程序来处理新闻,这是目前较为流行的做法。人们对最新信息的需求 和发布迫切的需要及时性,而动态交互式网页刚好提供了这些功能,本系统就是 一个能够在网上实现新闻的网上多用户发布,多栏目管理,实时的进行行为统 计和记录的网上交互。 1.31.3 本论文所做的工作本论文所做的工作 本论文实现了一个新闻发
12、布系统的门户网站,主要的功能有七大模块: 1 新闻浏览模块 首页显示网站所有新闻列表,根据新闻的数量分页,网站顾客可以自由浏 览新闻。 2 用户登录模块 用户登界面,用户需根据自己的类型(普通用户,管理员)进行选择性登 陆,登录时需要填写验证码。注意本系统部分功能只有在登陆后才被激活,且 不同用户类型登陆后所具有的功能也不同。 3 用户注册模块 注册模块仅服务于普通用户,在网站上注册的用户身份仅是普通用户,管 理员需到服务器注册信息。 4 用户修改信息模块 普通用户登陆后才能修改自己的信息,为了确保系统安全系统管理员不能 在客户端修改信息,必须到服务器数据库直接修改信息。 5 管理新闻模块 用
13、户登陆后此模块被激活,为了确保其他用户在本站的利益,用户仅可以 管理自己的新闻,管理新闻包括(删除,修改) ,系统管理员可以管理所有用户 发表的新闻。 6 添加新闻模块 用户登录后可以发布新闻,发布的新闻将在系统首页新闻列表中显示出来, 用户在发表新闻时若不填写作者,系统默认当前用户为作者。发表时间不用填 写,由系统根据服务器时间默认。 7 管理用户模块 此模块专属于系统管理员,系统管理员登陆后,可以查看本系统存在的所 有普通用户的信息,信息包括(用户名,密码,联系电话,即时通信 QQ) 。 管理员可以根据需要,对系统中的任何用户进行封号处理。 8 注销模块 当用户登录后,不再进行操作时,为了
14、减少服务器资源的浪费和自身账户 的安全性,可以进行注销。 Comment d5: 数据库技术出现的太 突然,和课题的关系没有将清楚 第二章第二章 开发工具,语言,及数据库简介开发工具,语言,及数据库简介 2.12.1 MySqlMySql 数据库数据库 随着门户类网站的发展,尤其是新闻类门户网站的发展,今天 MySQL 已被 广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有 成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成 本而选择了 MySQL 作为网站数据库。 MySQL 是一个真正的多用户、多线程 SQL 数据库服务器。系统采用加载纯
15、Java 数据库驱动程序的方式操作数据库,目前 mysql 还不支持桥连接。 SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序 mysqld 和很多 不同的客户程序和库组成,并且能够支持多平台。 2.22.2 JSPJSP 与与 ServletServlet Java Servlet 是一种独立于平台和协议的服务器端的 Java 应用程序,可 以生成动态的 Web 页面。 Java Servlet 是位于 Web 服务器内部的服务器端的 Java 应用程序,与传 统的从命令行启动的 Java 应用程序不同,Ser
16、vlet 由 Web 服务器进行加载,该 Web 服务器必须包含支持 Servlet 的 Java 虚拟机。 Java Servlet 与 Applet 的比较: 相似之处: 它们不是独立的应用程序,没有 main()方法。 它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用。 它们都有一个生存周期,包含 init()和 destroy()方法。 不同之处: Applet 具有很好的图形界面(AWT),与浏览器一起,在客户端运行。 Java Servlet 则没有图形界面,运行在服务器端。 Java Servlet 与 CGI(Common Gateway Interface) 的
17、比较: 与传统的 CGI 和许多其他类似 CGI 的技术相比,Java Servlet 具有更高的 效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资。在未来 的技术发展过程中,Servlet 有可能彻底取代 CGI。 高效 在传统的 CGI 中,每个请求都要启动一个新的进程,如果 CGI 程序本身的 执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在 Servlet 中,每个请求由一个轻量级的 Java 线程处理(而不是重量级的操作系 统进程)。 在传统 CGI 中,如果有 N 个并发的对同一 CGI 程序的请求,则该 CGI 程序 的代码在内存中重复装载了 N 次
18、;而对于 Java Servlet,处理请求的是 N 个线 程,只需要一份 Servlet 类代码。在性能优化方面,Servlet 也比 CGI 有着更 多的选择。 方便 Java Servlet 提供了大量的实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置 HTTP 头、处理 Cookie、跟踪会话状态等。 功能强大 在 Java Servlet 中,许多使用传统 CGI 程序很难完成的任务都可以轻松地 完成。例如,Java Servlet 能够直接和 Web 服务器交互,而普通的 CGI 程序不 能。Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类的功能
19、 很容易实现。 可移植性好 Java Servlet 用 Java 编写,Servlet API 具有完善的标准。因此,为 IPlanet Enterprise Server 写的 Servlet 无需任何实质上的改动即可移植到 Apache、Microsoft IIS 或者 WebStar。几乎所有的主流服务器都直接或通过插 件支持 Servlet。 节省投资 不仅有许多廉价甚至免费的 Web 服务器可供个人或小规模网站使用,而且 对于现有的服务器,如果它不支持 Servlet 的话,要加上这部分功能也往往是 免费的(或只需要极少的投资)。 Java Servlet 与 JSP(JavaSe
20、rver Pages) 的比较: JavaServer Pages(JSP)是一种实现普通静态 HTML 和动态 HTML 混合编码的 技术,JSP 并没有增加任何本质上不能用 Servlet 实现的功能。但是,在 JSP 中编写静态 HTML 更加方便,不必再用 println 语句来输出每一行 HTML 代码。 更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地 分开:比如,由页面设计者进行 HTML 设计,同时留出供 Java Servlet 程序员 插入动态内容的空间。 2.32.3 StrutsStruts 框架框架 在我学习 Struts 框架时,我本人更愿意看到
21、 Struts 的本质,其实 Strurts 框架就是一个核心类 ActionServlet,这个类把所有请求都劫走了,然 后根据请求的 URL 转发到相应的 Action 上,让 Action 处理相应的系统业务, 表单数据由 Struts 替我们进行封装 FormBean 中,我们只需取出来进行操作。 在有 Struts 框架编程时我们不需要认真考虑里面的机制,而是要学会如何更好 的去运用它。 如果有一天我愿意,我会在我做的项目中手动编写一个框架。 Strusts 框架的基本组成如下: 1: Client browser(客户浏览器) 来自客户浏览器的每个 HTTP 请 求创建一个事件。W
22、eb 容器将用一个 HTTP 响应作出响应。 2: Controller(控制器) 控制器接收来自浏览器的请求,并决定将这 个请求发往何处。就 Struts 而言,控制器是以 servlet 实现的一个命令设计 模式。 struts-config.xml 文件配置控制器命令。 3:业务逻辑 业务逻辑更新模型的状态,并帮助控制应用程序的流程。 就 Struts 而言,这是通过作为实际业务逻辑“瘦”包装的 Action 类完成的。 4:Model(模型)的状态 模型表示应用程序的状态。业务对象更新应 用程序的状态。ActionForm bean 在会话级或请求级表示模型的状态,而不是 在持久级。J
23、SP 文件使用 JSP 标记读取来自 ActionForm bean 的信息。 5:View(视图) 视图就是一个 JSP 文件。其中没有流程逻辑,没有 业务逻辑,也没有模型信息 只有标记。标记是使 Struts 有别于其他框 架(如 Velocity)的因素之一。 6: Struts 中的 Controller(控制器) 命令设计模式的实现: Struts 的控制器将事件(事件通常是 HTTP post)映射到类的一个 servlet. ActionServlet (Command) 创建并使用 Action 、 ActionForm 和 ActionForward .通过 struts-c
24、onfig.xml 文件配置该 Command.从而扩展 Action 和 ActionForm 来解决特定的问题。可以通过扩展 ActionServlet 来 添加 Command 功能。 在 Struts 框架中控制器组件由三个部分构成: (1)消息控制模块; 用户所有的提交请求都发往消息控制模块,在由消息总线模块根据视图映射模 块找到消息处理模块来执行处理逻辑。 消息控制模块接收所有用户的请求, 并根据请求视图找到处理。 Strtus 中通过 ActionServlet 和 RequestProcessor 类来完成。 2,消息处理模块; 该模块执行该消息的 逻辑处理,因此通常由用户扩展
25、实现。 Struts 中通过 Action 类来实现。 3,视图映射模块; 控制器逻辑和视图逻辑之间的结合是通过配置模块 和配置文件建立其的链接。 Struts 中配置模块通过 ModuleConfig 类来完 成,而配置文件由 struts-config.xml 文件提供。 7: Struts 中的 View(视图) 视图组件通过 JSP 组件实现的。Struts 框架对视图组件进行了扩展和封装。 Struts 对视图的扩展提供了一组扩展 服务器标签用来提供视图显示以及传递数据到处理缓冲,而处理缓冲由 ActionForm 的扩展类来实现。 Struts 框架利用 ActionForm Be
26、an 来实现视图 与控制器之间的数据的交互,维持会话级或请求级的模型的状态。 服务器 标签主要包括: Html 视图标签; Logic 逻辑流程控制标签; Bean 数 据缓冲读取标签; 8:Struts 中的 Model(模型) 1,Struts 框架中并没有定义特定的模 型组件,而是希望由用户自己决定选择合理的模型组件。 J2EE 中可用的模 型组件包括: JavaBean 用户定义组件; EJB 组件,由 EJB 容器实现组 件; JDO 未来 J2EE 数据访问模型; 一些扩展框架如:Hibernate; 2,模型中状态的级别 会话级或请求级:ActionForm bean 来维持 ;
27、 持 久级:模型组件来。 第三章第三章 总体设计总体设计 3.13.1 需求分析需求分析 本系统是新闻发布系统。由于网站新闻需要频繁性更新,每次更新管理员都要 到服务器上更新,给管理员管理网站造成不便,因这种需求本系统诞生了。 在系统开发过程中寻找需求是一件十分重要的工作,在认真分析和调查后 确定了本系统的需求要求。 本系统参与者:管理员、普通用户、浏览者。 系统功能模块: 新闻浏览 用户登陆 用户注册 用户修改信息 管理新闻 添加新闻 管理用户 注销 系统功能模块图 3.1 浏览新闻 用户登录 注册用户 修改注册信息 添加新闻 管理新闻 注销 管理用户 新闻发布系统 图 3.1 3.23.2
28、 数据库设计数据库设计 数据库命名为 mynews,三张表 user,news,admin。 User 表字段(username,password,phone,qq) 图 3.2 News 表字段(id,title,author,message,post_time,username) 图 3.3 Admin 表字段(username,password) 图 3.4 3.33.3 功能模块简介功能模块简介 新闻浏览 首页显示网站所有新闻列表,根据新闻的数量分页,网站顾客可以自由浏览新 闻。 用户登陆 用户登界面,用户需根据自己的类型(普通用户,管理员)进行选择性登 陆,登录时需要填写验证码。注意
29、本系统部分功能只有在登陆后才被激活,且 不同用户类型登陆后所具有的功能也不同。 图 3.5 是用户登录用例图 图 3.5 用户注册 注册模块仅服务于普通用户,在网站上注册的用户身份仅是普通用户,管 理员需到服务器注册信息。 图 3.6 新用户注册状态图 图 3.6 用户修改信息 普通用户登陆后才能修改自己的信息,为了确保系统安全系统管理员不能 在客户端修改信息,必须到服务器数据库直接修改信息。 图 3.7 用户修改信息序列图 图 3.7 管理新闻 用户登陆后此模块被激活,为了确保其他用户在本站的利益,用户仅可以 管理自己的新闻,管理新闻包括(删除,修改) ,系统管理员可以管理所有用户 发表的新
30、闻。 图 3.8 用户管理新闻用例图 图 3.8 添加新闻 用户登录后可以发布新闻,发布的新闻将在系统首页新闻列表中显示出来, 用户在发表新闻时若不填写作者,系统默认当前用户为作者。发表时间不用填 写,由系统根据服务器时间默认。 管理用户 此模块专属于系统管理员,系统管理员登陆后,可以查看本系统存在的所 有普通用户的信息,信息包括(用户名,密码,联系电话,即时通信 QQ) 。 管理员可以根据需要,对系统中的任何用户进行封号处理。 图 3.9 管理员管理用户用例图 图 3.9 注销 当用户登录后,不再进行操作时,为了减少服务器资源的浪费和自身账户的安 全性,可以进行注销。 3.43.4 框架的应
31、用框架的应用 使用 struts 框架需要搭建环境 拷贝 struts lib 下的所有 jar 到 WEB-INF/lib 下 修改 web.xml 文件,配置 ActionServlet 指定 struts-config.xml 的位置 ActionServlet 的日志输出等级 配置 Apache 的第三方组件的日志输出等级 当 Tomcat 启动的时候执行 ActionServlet 的初始化方法 提供 struts-config.xml 文件 应用 struts 创建登录项目 创建 jsp 页面(login.jsp,success.jsp,error.jsp) 创建 LoginAct
32、ionForm.java,做数据收集的。属性名与表单元素名一致 创建 LoginAction.java 配置 struts-config.xml 文件 ActionServlet 由 Struts 提供:org.apache.struts.action.ActionServlet 是一个 Servlet,需要在 web.xml 中配置 ActionForm 封装页面提交的数据 继承自 org.apache.struts.action.ActionForm 需要在 struts-config.xml 中配置 与 JSP 的交互:从页面获取数据 loginActionForm.getUsernam
33、e(); 发送数据到页面 request.setAttribute(username,username); Action*Action.java 封装一类客户操作 继承自 org.apache.struts.action.Action,实现 execute 方法 需要在 struts-config.xml 中配置 struts-config.xml 配置 Form Bean 和 Action Bean 服务器启动时,Struts 装载 struts-config.xml 信息 服务器启动后,根据 web.xml 加载 ActionServlet 读取 struts-config.xml 文件内
34、容到内存。 输入用户名密码提交表单、提交到 action 属性的 login.do,通过 ActionServlet 读 struts-config.xml 文件找到 action 下的 path 属性找到.do,通 过 name 属性找 form-beans 中的 form-bean 的 name 属性得到 ActionForm 的包名类 名,先实例化 form,把表单的值填充给 form,调用 form 的 validate 方法验证、 ActionErrors 返回 null 表示验证通过,否则失败返回 input 指定的页面.验证通 过会实例化 Action,执行 Action 的 e
35、xcute 方。 整个项目的 Struts-config.xml 配置文件代码: Comment d6: 详细设计,应当进行 需求分析后,给出功能模块结构 第四章第四章 详细设详细设计计 4.14.1 新闻显示功能新闻显示功能 首页(index.jsp)负责显示新闻列表,点击新闻标题将显示出新闻详细内 容,新闻标题上加有链接,链接到 showNewsDeatil.Jsp 页面,此页面负责显示 新闻详细内容(标题,发表时间,内容,作者) 。根据新闻条数 NewsTurnPageAction.java 负责新闻列表分页,点击“上一页” “下一页”实现 分页。 新闻内容都存与 UserBean 的实
36、例化对象 user 中,数据封装好后存放到 session 中供用户读取。 4.24.2 用户注册功能用户注册功能 register.jsp 页面负责提交新用户注册信息,信息提交给 Struts,有 RegisterActionForm.java 把表单数据接收过来封装,Register.java 从 FormBean(RegisterActionForm.java)中把数据提取出来,进行检测,首先检 测用户名,检查是否已被注册,此过程用到 myutils 包中的 UserUtils 类。 此系统支持汉化用户名,所以用户名还要进行编码处理,用以保障用汉字 注册用户名的用户。 注册成功返回 su
37、ccess.jsp 否则返回 error.jsp 页面。 4.34.3 修改注册信息功能修改注册信息功能 此模块登陆后才能被激活,此模块是普通用户设计的,管理员不可以在客 户端修改信息,modifyUserMess.jsp 页面负责修改。 当用户登陆后,点击修改,GetUserOldMessAction.java 负责查询用户信 息,得到信息后,把信息存放到 UserMessage.java 的实例化对象 userMess 中, 然后 modifyUserMess.jsp 页面引入 userMess 对象获得旧的信息,修改后提交 给 ActionServlet.java 类,ActionSer
38、vlet 根据 Struts-config.xml 中的 URL 配置再转发到 ModifyUserMessAction.java,经过处理后最终存入数据库中。 4.44.4 管理新闻功能管理新闻功能 此模块登录后被激活,普通用户登陆后仅可以管理自己的新闻,管理项目 包括(删除,修改) 。 管理员登陆后可管理数据库中所有的新闻,管理项目包括(删除,修改) 。 删除新闻基本实现流程:managerUserAction.jsp 显示新闻列表,单击 “删除”confirmDeleteNews.JspDeleteNewsAction.java 最终 SqlUtils.java 工具类根据接收到的 id
39、 号,从数据库的 news 表把相应的新闻 删除。 编辑新闻基本实现流程:单击“修改”modifyNews.jsp(负责显示当 前新闻,并提交新新闻)ModifyNewsAction.java(处理后存入数据库) 。 4.54.5 添加新闻功能添加新闻功能 添加新闻的最低用户级别是普通用户,用户登录后可以在 addNews.jsp 页 面添加新闻,新闻提交给 Struts,ActionServlet.java 负责分发给相应的 Action 类处理,给据配置文件的 FormBean 把提交的新闻信息封装,然后 AddNews.java 类从 FormBean(AddNewsActionForm
40、.java)中取出数据处理后存 入 news 表中。 添加新闻基本流程:addNews.jspAddNewsAction.java SqlUtils.java(工具类)news 新闻表。 4.64.6 管理用户管理用户 此模块系统管理员专有,系统管理员登录后,此模块被激活。 managerUserList.jsp 页面负责显示用户列表,管理员可以根据需要对个别 用户进行封号处理。点击删除,把对应用户的用户名最终传递给 SqlUtils.java(工具类) ,由工具类实施删除。 封号实现流程:点击“删除”confirmDeleteUser.jap DeleteUserAction.javaSql
41、Utils.java(工具类:根据接收到的用户名, 在数据库 mynews 的 User 表中删除相应用户)。 4.74.7 注销注销 ExitAction.java 负责注销,当用户登录后,不再进行操作点击导航栏上 的“注销”系统会销毁当前 session。 基本实现流程:点击“注销”ExitAction.java(销毁当前 session 对 象)。 Comment d7: 应当给出关键代码和 结果图,可增加说明使用的方法。 第五章第五章 功功能实现能实现 5.15.1 新闻显示功能新闻显示功能 NewsBean.java 部分代码(负责新闻数据封装): private CachedRow
42、SetImpl row; private int pageSize; private int pageCount; private int rowCount; private int currentPage; public NewsBean() pageSize= 10; currentPage = 1; String sql = select * from news ; List parameters = new ArrayList(); row = SqlUtils.querySql(sql, parameters); try row.last(); rowCount = row.getR
43、ow(); pageCount = (rowCount%pageSize=0)?(rowCount/pageSize):(rowCount/pageSize+1); catch (SQLException e) e.printStackTrace(); rowCount = 0; pageCount = 0; public NewsBean(String username) pageSize= 10; currentPage = 1; String sql; boolean ok; List parameters = new ArrayList(); ok = UserUtils.isExis
44、tingUser(username); if(ok) sql = select * from news where username = ?; parameters.add(username); else sql = select * from news; row = SqlUtils.querySql(sql, parameters); try row.last(); rowCount = row.getRow(); pageCount = (rowCount%pageSize=0)?(rowCount/pageSize):(rowCount/pageSize+1); catch (SQLE
45、xception e) e.printStackTrace(); rowCount = 0; pageCount = 0; showNewsList.jsp主要代码(负责首页新闻题目列表): % row.absolute(currentPage-1)*pageSize+1); String str;/声明一个截取时间的临时字符串 for(int i = 1; i 图 5.1 5.25.2 用户注册功能用户注册功能 RegisterAction.java部分代码(负责处理注册动作) package action; import myutils.*; . ./部分包省略 import action
46、Form.RegisterActionForm; public class RegisterAction extends Action /* * 注册用户 * 先查询用户是否存在 * 根据查询结果来处理是否执行注册 */ Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception RegisterActionForm raf=(RegisterActi
47、onForm)form; String username=StringUtils.StringEcode(raf.getUsername(); String password=StringUtils.StringEcode(raf.getPassword(); String phone=StringUtils.StringEcode(raf.getPhone(); String qq=StringUtils.StringEcode(raf.getQq(); boolean isExistingUser=UserUtils.isExistingUser(username); if(isExist
48、ingUser) return mapping.findForward(userExisting); else boolean ok = UserUtils.addUser(username, password,phone,qq); if(ok) return mapping.findForward(success); else return mapping.findForward(error); 图 5.2 5.35.3 修改注册信息功能修改注册信息功能 GetUserMessAction.java(负责向用户返回旧信息) package action; / /部分包省略 import or
49、g.apache.struts.action.ActionMapping; public class GetUserMessAction extends Action public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception UserLogin login = null; HttpSession session = null; try session = reques
50、t.getSession(true); login = (UserLogin)session.getAttribute(login); catch (Exception e) return mapping.findForward(error); if(login!=null) ResultSet rs = null; UserMessage usermess = new UserMessage(); String username = login.getUsername(); String password = login.getPassword(); /查询当前用户信息 rs = UserUtils.queryUserMess(username); if(rs.next() String phone =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电信业务专员KPI考核表
- 生物医药研发员医药行业KPI考核表
- 2026年甘肃省陇南市成县青少年校外活动中心专业教师招聘启事模拟试卷附答案详解(满分必刷)
- 2026浙江金华市妇幼保健院协议人员招聘1人启事参考题库附参考答案详解【培优A卷】
- 2026广东深圳市桃源居中澳实验学校诚聘初高中教师笔试题库带答案详解(综合卷)
- 2026四川达州市开江县人民政府淙城街道办事处招聘公益性岗位工作人员1人参考题库附完整答案详解(名校卷)
- 2026年芜湖一中教育集团公开选聘经济技术开发区托管学校执行校长2人模拟试卷含完整答案详解(网校专用)
- 2026中国戏曲学院第二次招聘1人备考题库含答案详解【典型题】
- 筑牢安全防线警钟长鸣在心五年级主题班会课件
- AI生成式技术创作中国风动画制作
- XXX电力高压线迁改跨河通航安全评估报告
- 食品研发调研报告范文
- 装饰用不锈钢焊接管材标准
- DL∕T 1848-2018 220kV和110kV变压器中性点过电压保护技术规范
- 教师形体与礼仪智慧树知到期末考试答案章节答案2024年成都师范学院
- 公共部门经济学公共物品和公共资源
- 疑难病例讨论课件
- 山西焦煤集团正仁煤业有限公司矿产资源开发利用、地质环境保护与土地复垦方案
- 病理生理学重点知识点整理总结归纳
- GA 1802.3-2022生物安全领域反恐怖防范要求第3部分:高生物安全风险疫苗生产单位
- 奇瑞汽车tpcams操作手册-工程中心人员
评论
0/150
提交评论