JAVAWEB应用开发报告_第1页
JAVAWEB应用开发报告_第2页
JAVAWEB应用开发报告_第3页
JAVAWEB应用开发报告_第4页
JAVAWEB应用开发报告_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、JavaWeb应用开发课程报告 目录1 主要功能模块介绍(截图、文字说明)2设计概述:21.1各功能模块表结构及表关系31.2用户登录模块(ajax)31.3用户注册模块(增,ajax)31.4用户修改资料模块(改)41.5首页视图及注销51.6主要业务1用户上传模块(增,上传文件)51.7主要业务2用户搜索模块(查)61.8主要业务3文件下载和删除(删)62 开发环境及配置(截图、文字说明)72.1开发环境搭建72.2全局配置文件创建103 项目包层次结构(截图)144各模块代码实现及测试(截图、文字说明)154.1各模块代码实现154.2配置文件344.3运行测试35项目开发小结411 主

2、要功能模块介绍(截图、文字说明)设计概述:本次小项目的设计我编写的是一个网盘,参考了115网盘的样式来构建我的网盘。这个小网盘注册登陆后能上传下载2M以内的文件。其中运用的javaweb方面的知识点有:MVC开发模式(servlet+DAO+JSP),session的设置,DAO开发,过滤器(登录验证),ajax异步验证,tomcat数据库连接池,文件的上传下载,分页功能。117diskfilesuserVarcharfilenamevarcharfilesizeFloatFiletimeVarcharFileidintFK_117diskfiles1.1 各功能模块表结构及表关系117dis

3、kusersuservarcharpwdvarcharnamevarchardormvarcharbedvarchar1.2 用户登录模块(ajax)用户登录模块,输入账号、密码和验证码,用javascriptit保证了这三项不能为空,然后登陆的验证交给LoginServlet来做,验证码用了ajax异步验证是否输入正确。1.3 用户注册模块(增,ajax)用户注册模块,需要填写5项资料。第1项资料同样用了ajax异步验证来判断学号是否已经存在,另外的4项都用javascript来控制验证了它们的格式,全部符合要求之后才能提交给RegisterServlet来处理注册,并插入117diskus

4、ers数据库。1.4 用户修改资料模块(改)用户资料修改,基本沿用了注册页面的代码,做了一点点小的修改,用户不能修改自己的学号,并且修改也要全部符合要求后才能提交,并且更新117diskusers数据库数据。1.5 首页视图及注销登陆后的首页视图,点击右上角并确认可以实现用户注销,清空登录时设下的session。1.6 主要业务1用户上传模块(增,上传文件)用户上传模块,这一块用了smartupload组件来实现上传。因为用的是http协议来进行上传,所以用户只能上传2M以内的文件。点击浏览并选择相应的文件即可上传,上传后会有成功或失败的信息反馈,成功的话会即刻在下面的文件列表中分页列出刚上传

5、的文件。1.7 主要业务2用户搜索模块(查)用户搜索,在搜索框输入连续的搜索关键字,下面的文件列表会分页列出找到的相关文件。1.8 主要业务3文件下载和删除(删)文件下载和删除,点击下载或者删除按钮,回传相应的文件id,实现功能。2 开发环境及配置(截图、文字说明)122.1 开发环境搭建软件环境、硬件环境、开发工具、开发实现模式(最低等级要求:JSP+DAO)【软件环境】:window10【开发工具】:Eclipse,MySQL,tomcat7.0,jdk1.8,navicat1、JAVA环境变量的配置安装好JDK之后配置path,JAVA_HOME等环境变量j Path的取值为:C:Pro

6、gram Files (x86)Javajdk1.8.0_11bink JAVA_HOME取值为:C:Program Files (x86)Javajdk1.8.0_112、MySQL的配置我下载的是mysql的解压版,只要将mysql加入服务并且配置好环境变量与相应的配置文件即可使用 Mysql的环境变量配置:path中添加mysql的bin目录路径 修改mysql的配置文件my-default.ini:添加mysql所在目录及data文件夹所在目录 安装mysql服务:将mysqld.exe拖进cmd窗口,并且install之后即可成功启动登录mysql3、tomcat7.0的配置tomc

7、at7.0的环境变量的配置:CATALINA_BASE、CATALINA_HOME、TOMCAT_HOME:E:tomcat7.0apache-tomcat-7.0.73等配置安装和配置tomcat成功后访问http:/localhost:8080出现以下页面:4、navicat的安装使用Navicat下载的是破解版,破解的步骤就不在这里述说,截图展示一下运行的画面。【开发模式】:MVC (DAO+JSP+Servlet)Controller层是多个servlet,View层是多个jsp,Model层是DAO,但本项目并没有使用请求分发器。2.2 全局配置文件创建Tomcat服务器配置(端口号

8、、虚拟目录、首页等)、组件包导入、配置及映射(数据库连接/连接池、标签库、文件上传、SSH包等) 【将tomcat配置到eclipse中】:window-preference-Server-Runtime Environment-Add找到tomcat的安装路径: 【tomcat的端口号(server.xml)】:特别说明,本人因为同时在自学php的原因,php的apache用的是80端口,所以我并没有修改Tomcat的端口号,依然采用默认的8080端口。 【tomcat的首页文件配置(web.xml)】:采用的也是默认配置 【虚拟目录配置(web.xml)】: 【smartupload包,数

9、据库驱动包的导入】:我将这两个包直接放进了tomcat的lib文件夹里面,在eclipse的导视图中便可以看到这两个包已经被包含进来了。 【数据库连接池文件配置(context.xml)】:本次使用的是tomcat的数据库连接池,先在META-INF文件夹下建立context.xml,然后往里面添加内容: 【各种servlet,过滤器的配置映射(web.xml)】:登录过滤器配置web.xml:各种servlet的配置映射(这里只列举其中一个servlet的配置,其他类推)3 项目包层次结构(截图)整个项目的结构及文件层次示意图: 4各模块代码实现及测试(截图、文字说明)123344.1 各模

10、块代码实现 【VO.Account类】:负责存储和提供用户对象的属性信息。这里截取代码的一部分,展示user属性的getter与setter方法,其他属性的getter与setter方法类似。该类里面全是属性的get与set方法。【VO. UploadFile类】:负责存储和提供上传文件对象的属性信息。这里截取代码的一部分,展示filename属性的getter与setter方法,其他属性的getter与setter方法类似。该类里面全是属性的get与set方法。 【dao.IUserNFileDAO类】:定义了用户登录注册,文件上传下载等操作的接口。【dao.UserNFileDAOImpl

11、类】:DAO接口的真实实现类,完成具体的用户注册、登录、信息修改操作, 文件上传、下载、删除操作。创建新用户方法:用户资料修改方法:获得特定用户对象方法:判断用户是否存在方法:获取用户名字的方法:按账号查找密码的方法:新上传文件插入数据库的方法:获取用户所有上传文件的方法:按用户名查找用户文件的方法:按照文件ID查找对应文件方法:通过文件ID删除文件方法:【dao. UserNFileDAOProxy类】:DAO接口的代理实现类,完成具体的数据库打开与关闭操作。以及用户注册、登录、信息修改操作, 文件上传、下载、删除操作的异常抛出。基本上该类的方法都对应UserNFileDAOImpl类的方法

12、,只是做了数据库连接的打开与关闭和异常的抛出,这里只展示其中一个对应方法的截图,其他对应方法可查看源文件。 【dbc.DatabaseConnection类】:该类通过配置数据库连接池,获取数据库连接对象。 【factory.DAOFactory类】:该类提供获取一个DAO对象的方法。 【filters.LoginFilter类】:用过滤器对用户是否登录做一个验证。其中登录,注册页面,css,js,图片加载地址等放行。 【servlets. CheckUserServlet类】:用于检查注册的用户账号是否已经存在,ajax异步返回检查的结果。【servlets. DeleteServlet类】

13、:获取文件id,并通过id删除数据库数据以及文件,并返回相应信息。【servlets.DownloadServlet类】:使用smartupload的下载方法下载文件。【servlets. LoginServlet类】:对用户账号密码的登录验证,成功就跳转index.jsp,失败则返回相应信息,并返回登录页面。【servlets.ModifyServlet类】:通过session中的user账号获得用户对象并进行修改,成功跳转到首页,失败则返回修改页面。【servlets. RegisterServlet类】:向数据库中添加用户数据,成功跳转到登录页,失败则返回注册页。【servlets.Up

14、loadServlet类】:该类实现了文件上传功能,并且根据上传结果返回相应信息,显示在index.jsp中【servlets. ValidateServlet类】:该类负责比较输入的验证码是否匹配,通过ajax异步返回比较结果。 【index.jsp文件】:项目的首页,用于展示上传界面,上传的文件列表界面。【Login.jsp页面】:项目的登录界面。【LogOut.jsp页面】:用户注销的处理。【Modify.jsp页面】:用户资料修改页面。【Register.jsp页面】:用户注册页面,js验证输入格式。【validate.jsp页面】:生成验证码并打印。【Success.jsp页面】:用

15、于接受所有成功操作后返回的信息进行显示,并跳转到指定页面。【Error.jsp页面】:用于接受所有失败操作后返回的信息进行显示,并跳转到上一步页面。4.2 配置文件【数据库连接池文件配置(context.xml)】:本次使用的是tomcat的数据库连接池,先在META-INF文件夹下建立context.xml,然后往里面添加内容:【各种servlet,过滤器的配置映射(web.xml)】:登录过滤器配置web.xml:各种servlet的配置映射(这里只列举其中一个servlet的配置,其他类推,详细请查看项目的web.xml)4.3 运行测试 【注册功能】【登录功能】: 【用户资料修改功能】

16、: 【上传文件功能】: 【文件下载功能】: 【文件删除功能】:项目开发小结关于这次的javaweb课程设计,我有很多很深的感触与体会。首先,我自己平时有在学另一种web语言php,所以我在做这个javaweb的过程中发现其实有很多东西的原理是一样的。比如设计模式,开发模式等等。只是各自实现的语法不通,难怪总有些前辈说语言都是相通的,语法知识细枝末节的东西,通过这一次小项目的编写,我算是深有体会了。其次,在这次小项目中我加入了不少css和js的前端的东西,javaweb是一门后台语言,这里加入这些东西只是为了我的界面稍微好看一点。本来以为调一下样式是一件很快得事情,但是没想到其实我发在这上面的时

17、间甚至比我写javaweb的时间要多上一点,瞬间就明白前端的工作者为什么也能称作为前端工程师了,任何一个领域你想做好都是需要耐心和学习的,没有一蹴而就的事情。后端如此,前端如此,任何一门语言如此。再次,就是这次的项目加深了我对java这门语言的理解和体会。我学php的一个原因是我以前觉得java的语法太死,因为是一门强语言的关系,大一的时候学习java总有很多不理解的地方。但是现在渐渐使用多了就明白到强语言有强语言的优势,它的出现必然有它的道理。对比过其它语言才知道,其实原理大家都是差不多的,并且java可以做到php可以做的事情,php就做不到很多java可以做的事情了。这样的角度想想之后就发现其实java的语法虽然不算简洁,但是读起来也是很有逻辑的。所以我这段时间来对java有了质的改观,写起代码来也不会想以前一样那么不情愿和一知半解了。另外,不得不说自己亲手做一个小项目出来才是最锻炼人和检验知识学习水平的。我们知道书上的代码是这样写的,知道这样tomcat就能配置好,知道程序这样就能运行,但是我们不知道自己亲手做的时候会不会也向书本那样顺利的就配好所有东西。只有亲自做过了,才知道原来书本善有些代码已经过时了,有些代码是书本上自己写错了,有更好的方法可以代替书本上的方法等,这些

温馨提示

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

最新文档

评论

0/150

提交评论