《JavaWeb应用开发》课程报告
学院管理学院
专业电子商务
年级班别 14级(2)班
姓名梁伟彬
学号 3114004987
指导老师胡凤
2016年12月
目录
1 主要功能模块介绍(截图、文字说明) (3)
设计概述: (3)
1.1各功能模块表结构及表关系 (3)
1.2用户登录模块(ajax) (3)
1.3用户注册模块(增,ajax) (4)
1.4用户修改资料模块(改) (5)
1.5首页视图及注销 (6)
1.6主要业务1——用户上传模块(增,上传文件) (6)
1.7主要业务2——用户搜索模块(查) (7)
1.8主要业务3——文件下载和删除(删) (7)
2 开发环境及配置(截图、文字说明) (8)
2.1开发环境搭建 (8)
2.2全局配置文件创建 (11)
3 项目包层次结构(截图) (15)
4各模块代码实现及测试(截图、文字说明) (16)
4.1各模块代码实现 (16)
4.2配置文件 (35)
4.3运行测试 (36)
项目开发小结 (42)
1 主要功能模块介绍(截图、文字说明)设计概述:
本次小项目的设计我编写的是一个网盘,参考了115网盘的样式来构建我的网盘。这个小网盘注册登陆后能上传下载2M以内的文件。其中运用的javaweb方面的知识点有:MVC 开发模式(servlet+DAO+JSP),session的设置,DAO开发,过滤器(登录验证),ajax异步验证,tomcat数据库连接池,文件的上传下载,分页功能。
1.1各功能模块表结构及表关系
1.2用户登录模块(ajax)
用户登录模块,输入账号、密码和验证码,用javascriptit保证了这三项不能为空,然后登陆的验证交给LoginServlet来做,验证码用了ajax异步验证是否输入正确。
1.3用户注册模块(增,ajax)
用户注册模块,需要填写5项资料。第1项资料同样用了ajax异步验证来判断学号是否已经存在,另外的4项都用javascript来控制验证了它们的格式,全部符合要求之后才能提交给RegisterServlet来处理注册,并插入117diskusers数据库。
1.4用户修改资料模块(改)
用户资料修改,基本沿用了注册页面的代码,做了一点点小的修改,用户不能修改自己
的学号,并且修改也要全部符合要求后才能提交,并且更新117diskusers数据库数据。
1.5首页视图及注销
登陆后的首页视图,点击右上角并确认可以实现用户注销,清空登录时设下的session。
1.6主要业务1——用户上传模块(增,上传文件)
用户上传模块,这一块用了smartupload组件来实现上传。因为用的是http协议来进行上传,所以用户只能上传2M以内的文件。点击浏览并选择相应的文件即可上传,上传后会有成功或失败的信息反馈,成功的话会即刻在下面的文件列表中分页列出刚上传的文件。
1.7主要业务2——用户搜索模块(查)
用户搜索,在搜索框输入连续的搜索关键字,下面的文件列表会分页列出找到的相关文件。
1.8主要业务3——文件下载和删除(删)
文件下载和删除,点击下载或者删除按钮,回传相应的文件id,实现功能。
2 开发环境及配置(截图、文字说明)
2.1 开发环境搭建
软件环境、硬件环境、开发工具、开发实现模式(最低等级要求:JSP+DAO )
【软件环境】:window10 【开发工具】:Eclipse ,MySQL ,tomcat7.0,jdk1.8,navicat 1、JAV A 环境变量的配置
安装好JDK 之后配置path ,JA V A_HOME 等环境变量
Path 的取值为:C:\Program Files (x86)\Java\jdk1.8.0_11\bin
JAVA_HOME取值为:C:\Program Files (x86)\Java\jdk1.8.0_11
2、MySQL的配置
我下载的是mysql的解压版,只要将mysql加入服务并且配置好环境变量与相应的配置文件即可使用
①Mysql的环境变量配置:path中添加mysql的bin目录路径
②修改mysql的配置文件——my-default.ini:添加mysql所在目录及data文件夹
所在目录
③安装mysql服务:将mysqld.exe拖进cmd窗口,并且install
之后即可成功启动登录mysql
3、tomcat7.0的配置
tomcat7.0的环境变量的配置:CATALINA_BASE、CATALINA_HOME、TOMCAT_HOME:E:\tomcat7.0\apache-tomcat-7.0.73等配置
安装和配置tomcat成功后访问http://localhost:8080出现以下页面:
4、navicat的安装使用
Navicat下载的是破解版,破解的步骤就不在这里述说,截图展示一下运行的画面。
【开发模式】:MVC (DAO+JSP+Servlet)
Controller层是多个servlet,View层是多个jsp,Model层是DAO,但本项目并没有使
用请求分发器。
2.2全局配置文件创建
Tomcat服务器配置(端口号、虚拟目录、首页等)、组件包导入、配置及映射(数据库连接/连接池、标签库、文件上传、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包,数据库驱动包的导入】:我将这两个包直接放进了tomcat的lib 文件夹里面,在eclipse的导视图中便可以看到这两个包已经被包含进来了。
⑥【数据库连接池文件配置(context.xml)】:本次使用的是tomcat的数据库连接池,先在META-INF文件夹下建立context.xml,然后往里面添加内容:
⑦【各种servlet,过滤器的配置映射(web.xml)】:
登录过滤器配置web.xml:
各种servlet的配置映射(这里只列举其中一个servlet的配置,其他类推)
3 项目包层次结构(截图)
整个项目的结构及文件层次示意图:
4各模块代码实现及测试(截图、文字说明)
4.1 各模块代码实现
① 【VO.Account 类】:负责存储和提供用户对象的属性信息。这里截取代码的一部分,展示user 属性的getter 与setter 方法,其他属性的getter 与setter 方法类似。该类里面全是属性的get 与set 方法。
【VO. UploadFile类】:负责存储和提供上传文件对象的属性信息。这里截取代码的一部分,展示filename属性的getter与setter方法,其他属性的getter与setter方法类似。该类里面全是属性的get与set方法。
②【dao.IUserNFileDAO类】:定义了用户登录注册,文件上传下载等操作的接口。
【https://www.sodocs.net/doc/425675834.html,erNFileDAOImpl类】:DAO接口的真实实现类,完成具体的用户注册、登录、信息修改操作,文件上传、下载、删除操作。
创建新用户方法:
用户资料修改方法:
获得特定用户对象方法:
判断用户是否存在方法:
获取用户名字的方法:
按账号查找密码的方法:
新上传文件插入数据库的方法:
获取用户所有上传文件的方法:
按用户名查找用户文件的方法:
1.7 习题 1. 单选题 (1)在HTML中超链接标记为() A.和 B.
实验一JSP开发环境构建 实验目的:了解动态页面技术及B/S系统 掌握开发环境的构建 理解Eclipse开发WEB应用 实验内容: 实训项目一:安装JDK并配置环境变量 请阐述配置环境变量的方法: 实训项目二:安装TOMCAT并配置Server.xml修改端口号为8090 问题一:如何测试TOMCAT是否已经成功启动? 问题二:在浏览器地址栏输入什么地址可以访问到TOMCA T的测试页? 请阐述配置Server.xml修改端口号为8090基本实验步骤: 实训项目三:应用Eclipse建立项目并浏览一个JSP页面 请阐述应用Eclipse建立项目并浏览一个JSP页面基本实验步骤: 实验心得:(遇到了哪些问题,如何解决的,有那些体会) 实验二JSP语法 实验目的:了解JSP程序的组成元素 掌握JSP中使用JA V A程序片段的方法 实验内容: 实训项目一:编写一个JSP页面输出26个小写英文字母表 实训项目二:编写页面实现九九乘法表 实训项目三:利用成员变量被所有客户共享这一性质,实现一个简单的计数器 实训项目四:使用JA V A表达式输出系统当前时间 实训项目五:编写程序shijian2_9.jsp和computer.jsp两个页面,在第一个页面中使用include动作标记动态包含文件computer.jsp,并向它传递一个矩形的长和宽,computer.jsp 收到参数后,计算矩形的面积,并显示结果。 实训项目六:编写3个JSP页面:main.jsp,first.jsp和second.jsp,将3个JSP文件保存在同一个WEB工程中,main.jsp使用include动作标记加载first.jsp和second.jsp页面。First.jsp 页面可以画一张表格,second.jsp页面可以计算两个正整数的最大公约数。当first.jsp被加载时,获取main.jsp页面include动作标记的param子标记提供的表格行数和列数,当second.jsp 被加载时,获取main.jsp页面include动作标记的param子标记提供的两个正整数的值。 要求:上机编程完成上述实训项目,上机演示给教师检查,从中挑选三个程序的核心代码写在实训报告上 实验核心代码:
Web程序设计实验报告 姓名:冯刚 学号:200905030324 班级:计科3班
Html代码: 1.首页代码