JSP项目(新闻管理系统)开发实训报告.doc
《JSP项目(新闻管理系统)开发实训报告.doc》由会员分享,可在线阅读,更多相关《JSP项目(新闻管理系统)开发实训报告.doc(44页珍藏版)》请在咨信网上搜索。
1、(word完整版)JSP项目(新闻管理系统)开发实训报告课 程 编 号: 学 号: 实 训 报 告教 学 院计算机学院课程名称JSP项目开发专业 班级姓 名指导教师2018年1月10日目录一。实训内容11. 系统功能介绍:11。1前言11。2功能介绍12数据库设计:22。1数据库技术22.2数据库详细设计23。 系统架构和文件作用介绍:43。1 系统的目录结构图43。2 jsp文件的作用53。2。1 JSP 组成概要53。2。2 JSP工作原理63。2。3 项目中的JSP73.3 系统所需的jar包74. 通用功能的实现:94.1 model模式介绍94。2 项目中的model104.3 项目
2、中的common105. 数据访问层功能的实现:135。1 工厂factory类代码135.2 DAO设计模式145.2。1 DAO介绍145.2。2 DAO类代码156。前台普通用户访问新闻网站功能的实现:206.1 前台中的Servlet类(Front)206。2 JSP页面核心代码257。 后台管理员管理新闻网站功能的实现:267。1 后前台中的Servlet类(Back)267.2 JSP页面核心代码288。在组中承担的工作及主要书写的Java类文件和JSP文件:308.1 Java类308。1。1。前台java代码308。1。2.后台java代码318.1 Jsp页面338。2。1。
3、前台jsp页面338.2。1。后台jsp页面35二。程序运行结果及结果分析371。 前台运行结果及结果分析:372. 后台运行结果及结果分析:401一。实训内容1. 系统功能介绍:1.1前言当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出。简单的说,新闻发布系统就是充当一个网络新闻媒介的功能,主要实现对新闻的分类、上传、审核、发布,模拟了一般的新闻媒介的新闻发布过程.利用JSP技术开发的新闻发布系统,主要有五大功能模块:前台查看模块,登陆验证模块,管理员管理模块,新闻类型管理模块,新闻信息管理模块,实现了对网站新闻的动态管理.因
4、为可以用来动态发布新闻信息,所以对信息的管理更加及时、高效,提高了工作效率。1.2功能介绍本系统采用JSP +Servlet等相关技术来实现一个Web应用程序:新闻网站系统。其主要目的是为用户提供一个方便的、可快速浏览当前最新新闻的界面,并且也可以随时发布最新的信息以达到信息共享的目的。因此要为用户提供个方便易用的使用界面,同时也为具有更高权限的管理用户提供添加、修改和删除新闻等的系统维护功能。访问本系统的用户可分为两大类:普通用户和管理员用户。普通用户可以直接访问新闻发布系统的前台,通过点击每条新闻的标题来查看该条新闻的详细内容。查看各条新闻的评论.用户在登录之后可以发表自己的评论。用户还可
5、以在发布一个论坛,让广大网友发出自己的看法和声音.当用户作为管理员成功登陆后,可以对新闻系统进行管理,包括四大模块:1. 管理员信息管理:增加管理员、删除管理员、修改管理员信息;2. 新闻类型管理:增加新闻类型、查看新闻类型信息;3. 新闻管理:查看新闻、修改新闻、发布新闻、审核新闻,信息;4. 论坛管理:查看论坛、删除论坛。 2数据库设计:2.1数据库技术本系统使用MySQL作为开发中使用的数据库,它具有使用简单,稳定等特性。在与java程序连接时,为提到数据库操作的效率提高系统的性能。使用到Dbutils和DBCP等工具。在使用Dbutils 之前,我们Dao层使用的技术是JDBC,那么分
6、析一下JDBC的弊端。数据库链接对象、sql语句操作对象,封装结果集对象,这三大对象会重复定义封装数据的代码重复,而且操作复杂,代码量大。释放资源的代码重复 结果:(1)程序员在开发的时候,有大量的重复劳动.(2)开发的周期长,效率低数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现的尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正式针对这个问题提出来的。数据库连接池负责分配,管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。数据库连接池在初始化时将创建一定数量的数据库连接放到
7、连接池中, 这些数据库连接的数量是由最小数据库连接数来设定的.无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量.连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。相信使用这些数据库的技术之后,能很好保证新闻管理系统正常运行。2.2数据库详细设计在设计数据库时,需要分析清楚需要有几个数据表,最重要的是各个数据表之间的逻辑关系。使用一款数据库设计工具将会大大方便开发的时间和成本,powerdesigner.但是本次的课程设计是在老师教学的基础之上的二次开发,数据库的大体模式基本已经给
8、出,我们只需要在此基础上添加几个表(forum表、reply表等).数据库的设计一定要遵循数据库设计的一些原则,如各个完成性的要求,范式,冗余,备份等等方面。由于本次课题新闻管理系统在数据库这方面要求不是很高,故实现起来也不是很难。重点在与JSP的使用,Tomcat服务器上的程序编写。下面简要介绍数据库的逻辑关系、关键表等.图21 数据表信息表2-1 forum表列名数据类型长度说明idint11论坛类型标号,主键nameint11发表论坛时的名字usernamechar20新闻用户名emailchar20用户的电子邮件subjectchar100论坛主题contentmediumtext论坛
9、内容picturesvarchar20论坛中的照片timedatetime论坛发布时间isDelint2标题论坛的删除表22 reply表列名数据类型长度说明idint11论坛类型标号,主键discussIdint11回复论坛的标记namechar20新闻用户名contentmediumtext回复论坛的内容picturesvarchar20回复论坛中的照片timedatetime回复论坛的时间isDelint2标题回复的删除对数据库的数据表的操作通过DAO层进行,DAO层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DAO的接口,然后就可在模块中
10、调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,显得结构非常清晰,DAO层的数据源配置,以及有关数据库连接的参数进行配置.3. 系统架构和文件作用介绍:3。1 系统的目录结构图一个系统,在开发初期就必须有一个清晰的文件结构,进而在文件结构中分解出详细的目录结构图.在Java web项目开发中,有一个项目存放的规范,这样便于管理,同时也便于其他人的再次开发。1. 一个 web 应用程序是由一组 Servlet,HTML 页面,类,以及其它的资源组成的运行在 web 服务器上的完整的应用程序,以一种结构化的有层次的目录形式存在;2。 组成 web 应用程序的这些文件要部署在相
11、应的目录层次中,根目录代表整个 web 应用程序的“根”;3. 通常将 web 应用程序的目录放在 webapps 目录下,在 webapps 目录下的每一个子目录都是一个独立的 web 应用程序,子目录的名字就是 web 应用程序的名字,也就是 web 应用程序的“根”。用户通过 web 应用程序的“根”来访问 web 应用程序中的资源.表3-1 srcmainwebapp目录目录存放内容css存放.css格式文件(可再分目录)skins存放皮肤文件(按主题划分的framework的位图)images存放图片,按产品、功能模块划分子目录jsJavaScript文件(对象、函数库)includ
12、e存放被包含的JS文件片段【注:JSP文件互相不要包含,通过模板/组件/标签库/BEAN实现重用】resources存放JSF组件、相关资源等templates模板文件存放地,按类别划分子目录pages网页目录(静态和动态网页,除index.jsp),按产品、功能模块划分子目录webapp下其他目录解释为模块名,认为其中全部为网页,可再分子目录META-INF存放清单文件、services等配置信息WEB-INF网站配置文件目录,存放WEB.XML等配置信息WEB-INF/classes未打包的项目编译代码,禁止手工修改。WEB-INF/conf存放struts,spring,hibernat
13、e,JSF等的配置文件WEBINF/lib存放第三方JAR包,使用MAVEN构建时此目录禁止手动放入文件!WEB-INF/pages高安全性的网页目录,如登录信息维护等WEBINF/tldJSP标签库定义文件存放目录在本系统中可能有部分文件没有涉及到,但是大部分的文件都是有的。js主要包括extends(引入第三方的js)、module(项目模块自己的js)、lib(引用包,这里也可以继续拆分),module中包含具体的模块中的js。common。js是核心命名空间的js.在开发中严格按一套标准,这样才会得到同行的认可。图3-1 web项目的java目录和WebRoot根目录3.2 jsp文件
14、的作用 3.2.1 JSP 组成概要一个JSP页面主要由注释(Comment)、指令(Directives)、脚本元素(Declaration,Scriptlet,Expression).动作元素(Action)的内容组成。1注释包括HTML注释和JSP隐藏注释。2指令包括: (1)page:用来定义整个JSP页面的属性和相关功能.(2)include:用来指定JSP文件被编译时需要插入的资源,可以是文本、代码、HTML文件或JSP文件。(3)taglib:页面使用者用来自定义标签。3脚本元素(1)声明:用来定义在程序中使用的实体,它是一段Java代码,可以声明变量,也可以声明方法.格式:%!
15、 开始声明 例如:%! int i;%.(2)表达式:格式:=表达式 最后是没有分号的.例如:=1+2+3.(3)Scriptlet:格式:java代码。4在JSP中的动作指令包括:Include、 Forward、 UseBean、 GetProperty、 SetProperty、 Plugin。(1)include指令:表示包含一个静态的或者动态的文件。子句能让你传递一个或多个参数给动态文件,也可在一个页面中使用多个指令来传递多个参数给动态文件.(2)forward指令:表示重定向一个静态html/jsp的文件,或者是一个程序段。(3)Plugin指令:用于在浏览器中播放或显示一个对象(
16、典型的就是Applet和Bean),而这种显示需要浏览器的Java插件。一般来说,元素会指定对象是Applet还是Bean,同样也会指定class的名字和位置,另外还会指定将从哪里下载这个Java插件。(4)useBean指令:表示用来在JSP页面中创建一个Bean实例并指定它的名字以及作用范围。(5)setProperty指令:用来为一个Bean的属性赋值。若在jsp:useBean后使用,jsp:setProperty将被执行。若jsp:setProperty出现在jsp:useBean标签内,jsp:setProperty只会在新的对象被实例化时才将被执行。注意name值应当和useBe
17、an中的id值相同。(6)getProperty指令:表示获取Bean的属性的值并将之转化为一个字符串,然后将其插入到输出的页面中。3。2.2 JSP工作原理当客户端请求浏览JSP页面时,JSP服务器在把页面传递给客户端之前,先将JSP页面编译成Servlet(纯Java代码),然后由Java编译器生成的服务器小程序编译为Java字节码,最后再转换成纯HTML代码,这样客户端接收到的只是HTML代码.JSP到Servlet的编译过程一般在第一次页面请求时进行.因此,如果希望第一个用户不会由于JSP页面编译成Servlet而等待太长的时间,希望确保Servlet已经正确地编译并装载,你可以在安装
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 项目 新闻 管理 系统 开发 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。