# 基于JavaWeb和MySQL的3D网上模板商城
# 第1章 需求分析
## 1.1 项目背景和问题的提出
时代的变化,导致日新月异的网站表达方式,3D网站和3D游戏的火热,也促进了开发,学习人员对一些3D模型,全景视图等方面的需求,在初学者需要调用一定的模型文件来完成具体场景的搭建或者在项目的完成过程中建模师需要适量地减少工作量的时候,都需要在网上下载相对的模型来进行项目完善。但是在使用现在的一些现有的模板网站的时候,许多网站的安排的有一些不合理性,或者是一些网站的模型过少以及模板质量的不合格性。
## 1.2 项目意义和主要完成内容
### 1.2.1 项目意义
为了弥补上述弊端,本网站提在原有的模板网站上做出了技术和机制的创新,关键在于电子货物的商城模式 ,给用户以在线下载的方式获取网站上所需类型的模型,用户有一定的金币来兑换模型,3d视野,新式网站demo的下载,是一种视觉的享受,顺应时代的潮流,金币不够的情况下客户可以选择投稿自己的模板来或得高额的金币奖励,也可以给网站提出相应的建议来获取金币奖励,当然也可以使用网上银行进行充值。
上传到的文件经过后台的筛选和重做可以作为新的模板进行上架,扩充网站内容,经过筛选后的投稿即给予投稿者一定奖励。留言和反馈内容如果有价值也有一定的奖励发布给投稿者。
### 1.2.2 功能
- **用户端**:实现网站的观看,需要进行登录才能实现下载功能,如果余额充足,则顺利下载,如果不足,则可选择提供有用的建议或者投稿作品来获得金币奖励,或者使用现金充值
- **商品类型**:网站(商业,宣传,其他类型),模型(风景建筑,人物妖怪,军事器材,动植物,室内,其他杂项),动画(人物,动物,其他),3d全景视野(家居装修,公共场所,其他全景)
- **用户操作**:用户注册,用户登录,忘记密码,修改姓名和性别资料,头像上传,下载文件,金币充值,提供建议,投稿作品
- **其他功能**:验证内容的合法性,自动校验是否已下载,验证的拖动滑块验证功能,全屏滑动功能,3D背景的生成和展示以及点击事件的触发功能,产品的自动分类功能以及自动检测扣费情况
## 1.3 项目开发环境
| 操作系统 | Windows10 |
| ---- | ------------------------------ |
| 开发工具 | Myeclipse,HBulider |
| 浏览器 | Google Chrome/Internet Exploer |
| 数据库 | MySQL |
| 使用语言 | JSP语言和IAVA语言 |
# 第2章 概要设计
## 2.1系统功能框架
在线模板商城分为用户端和管理员端,分别能够进行不同的操作。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/77c0397e5b392fabf1ea624365dad370.writebug)
## 2.2 功能模块说明
### 2.2.1 用户
- **注册登录**:用户可以注册,登录,退出登录,注册后的默认金币数量是200。忘记密码后选择使用注册的电话号码来获取验证码找回密码
- **修改资料**:修改自己的昵称和性别信息,以及上传头像
- **留言**:在网站上发表留言,发表后可以在自己的资料页上查看,可以删除自己的留言,留言分为已采纳和未采纳两种状态,由管理员操作
- **投稿 **:在网站上上传文件进行一定的描述以后进行投稿,自己的投稿可以在自己的资料页看到,投稿文件显示状态,如果未被采纳,则会显示出该投稿的收益金币数量
- **下载文件**:最基本的下载网站上的文件操作,根据不同的分类可查看文件详情,系统自动判断该文件是否是该用户下载过的,如果已下载,那么不重复扣除金币
- **充值**:金币不够不足以下载文件时可以进行金币充值,默认一次充值金币数量是200
### 2.2.2 管理员
- **登录 **:管理员进行登录以后才可以到达网站的后台查看网站的数据库内容以及进行数据库的操作
- **用户修改**:管理员可修改用户的信息资料,但是无权修改用户的金币数量和密码
- **添加用户**:可以添加新用户,用户添加后默认的金币数量是200
- **模型处理**:删除模型,添加模型,和修改模型参数,选择模型的分类后进行添加,添加模型需要上传模型展示图片和模型文件,上传后的模型默认下载数量为0。添加模型模型上传后直接显示检测出模型大小和模型格式,作为默认字段更新到数据库当中
- **留言处理**:对留言进行处理,可以采纳留言,留言采纳后系统自行给留言用户的金币数量加100,也可以删除无用的留言,已被删除掉的用户留言信息无法采纳
- **投稿处理**:对用户投稿的信息进行处理,可以删除无用的信息,也可以下载后进行修改或其他操作以后发布到网站中,如果投稿信息有用,则管理员进行采纳,采纳后金币发放到达该用户账户,如果该用户已被删除,那么无法进行采纳
- **文件下载**:对网站上的商品直接进行下载。
# 第3章 详细设计
## 3.1 前端设计
### 3.1.1设计理念
由于网站的下载内容具有多样性,所以为了避免色调的颜色混搭不协调,网页的风格为黑白简洁,将网站中的资源文件分类方便查看。
为了迎合当前网站的设计理念和网站的新形象,在登录,注册,密码找回界面,网站首页设置3D外观的表现形式。开发形式为three.js。其将界面分别设置为海洋和山坡。
管理员界面,尽量要求简洁,可操作性强,在登录界面导入黑色的飞鸟群来使界面看起来充实。
### 3.1.2 实现方法
搭载框架后使用天空盒子营造天空形象,在使用海洋通道进行渲染,渲染后加强视觉效果使用normal-map来达到立体效果,使用water方案来加入平面实现,全程加入环境光和太阳光,使用太阳光晕来熏染达到阳光效果,接近海水颜色的雾化效果使用较远的显示效果达到海平面的视觉效果。使用IcosahedronGeometry来创建完全的球状物体并使用图片贴图,为球形物体添加鼠标点击事件使跳转往主页,并使用OrbitControls控件达到视野移动的效果。
山地的制作情况可以简要概述为:使用噪音处理得到起伏的山地效果,对着色器的各个属性进行图片贴图效果处理,形成色彩效果,在渲染器中对每一帧渲染时都进行更新造成移动效果。鸟类为js中的现有动画,添加到环境中后以混合动画的形式加入数组,同时定义一个数组存储每个对象的运动速度,然后在render函数中遍历数组更新其中的动画,雾化效果适当加入隐藏背景色。
导入鸟类的js动画文件,进行200次初始化,同时初始化200个鸟类的飞行状态的自定义数组,每帧刷新的时候都根据鸟类到中心点的位置来进行颜色的刷新,同时添加鼠标的移动事件来使鸟群避开鼠标所在位置。
### 3.1.3 关键代码
**噪音干扰**
```java
float snoise( vec3 v ) {
const vec2 C = vec2( 1.0 / 6.0, 1.0 / 3.0 );
const vec4 D = vec4( 0.0, 0.5, 1.0, 2.0 );
vec3 i = floor( v + dot( v, C.yyy ) );
vec3 x0 = v - i + dot( i, C.xxx );
vec3 g = step( x0.yzx, x0.xyz );
vec3 l = 1.0 - g;
vec3 i1 = min( g.xyz, l.zxy );
vec3 i2 = max( g.xyz, l.zxy );
vec3 x1 = x0 - i1 + 1.0 * C.xxx;
vec3 x2 = x0 - i2 + 2.0 * C.xxx;
vec3 x3 = x0 - 1. + 3.0 * C.xxx;
i = mod( i, 289.0 );
vec4 p = permute( permute( permute(
i.z + vec4( 0.0, i1.z,
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
精选_基于JavaWeb和MySQL的3D网上模板商城_源码打包 (264个子文件)
huiyuanservice.class 9KB
moxingservice.class 7KB
addshang.class 6KB
uploadservlet.class 6KB
tougaoservice.class 5KB
liuyanservice.class 4KB
uploadpic.class 4KB
reduceservlet.class 3KB
shangpin.class 3KB
tougao.class 3KB
registerservlet.class 2KB
cainaser.class 2KB
changepic.class 2KB
tougaocaina.class 2KB
redownservlet.class 2KB
guanlilogin.class 2KB
huiyuan.class 2KB
liuservlet.class 2KB
loginservlet.class 2KB
changeshang.class 2KB
guanliservice.class 2KB
liuyan.class 2KB
change.class 2KB
recharge.class 2KB
myselet.class 2KB
deleteliu.class 2KB
moxingdele.class 2KB
deletehuiyuan.class 2KB
toudelet.class 2KB
liuyandele.class 2KB
pwdchange.class 1KB
logout.class 1KB
connectdb.class 1KB
guanli.class 1KB
WebServlet.class 191B
.classpath 755B
org.eclipse.wst.common.component 453B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.min.css 118KB
animate.css 56KB
responsive.css 50KB
font-awesome.min.css 30KB
style.css 28KB
swiper.min.css 17KB
lightcase.css 17KB
unlock.css 1KB
基于JavaWeb的3D网上模板商城论文.docx 5.63MB
fontawesome-webfont.eot 162KB
glyphicons-halflings-regular.eot 20KB
mysql-connector-java-5.1.13-bin.jar 750KB
commons-io-2.5.jar 204KB
commons-io-2.5.jar 204KB
commons-fileupload-1.3.2.jar 69KB
commons-fileupload-1.3.2.jar 69KB
huiyuanservice.java 10KB
moxingservice.java 8KB
addshang.java 7KB
uploadservlet.java 6KB
tougaoservice.java 5KB
liuyanservice.java 4KB
uploadpic.java 3KB
reduceservlet.java 3KB
tougao.java 2KB
cainaser.java 2KB
shangpin.java 2KB
recharge.java 2KB
changepic.java 2KB
logout.java 2KB
tougaocaina.java 2KB
registerservlet.java 2KB
huiyuan.java 2KB
liuservlet.java 2KB
changeshang.java 2KB
liuyan.java 2KB
myselet.java 2KB
redownservlet.java 2KB
guanlilogin.java 1KB
loginservlet.java 1KB
toudelet.java 1KB
moxingdele.java 1KB
deleteliu.java 1KB
change.java 1KB
deletehuiyuan.java 1KB
pwdchange.java 1KB
liuyandele.java 1KB
guanliservice.java 1KB
connectdb.java 578B
guanli.java 520B
WebServlet.java 74B
grasslight-big-nm.jpg 2.7MB
grasslight-big.jpg 2.47MB
grasslight-big.jpg 2.47MB
shinei1.jpg 1.37MB
renwu.jpg 1.37MB
shiwai.jpg 719KB
fengjing.jpg 555KB
youxi.jpg 543KB
dongzhiwu.jpg 480KB
gongyi.jpg 424KB
testimonial_bg.jpg 330KB
共 264 条
- 1
- 2
- 3
资源评论
工具盒子
- 粉丝: 61
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功