带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享

项目代码路径下载:https://download.csdn.net/download/weixin_42868605/20686663

1.系统功能说明:

  1. 发布新的表白墙消息.
  2. 删除自己发的消息.
  3. 赞和踩.
  4. 最多显示五十条消息.

2.系统安装说明:

需要提前准备安装的工具:

(1)开发工具:Eclipse 2020年6月版

(2)数据库:Mysql 5.7.24

(3)开发环境: JDK  1.8

(4)服务容器:tomcat 9.0.48

3.系统使用说明:

  1. 安装JDK(1.8),配置JDK环境变量.
  2. 安装tomcat(9.0.48),配置tomcat环境变量.
  3. 安装Mysql(5.7.24)数据库,配置用户名密码,要方便操作,也可以安装一个图形化界面.
  4. 安装Eclipse(2020年6月),并添加tomcat容器.
  5. 在Eclipse中导入项目,并添加到tomcat容器中启动即可使用.

4.系统设计难点及其解决方法:

  1. 发布新的表白墙消息.

解决方法:获取到用户输入的表白消息,使用ajax传到后台处理,最后再添加到数据库中.

  1. 删除自己发的消息,

解决方法:当用户点击删除按钮时,获取到表白消息编号,传送到后台处理之后,在把数据库中的内容删除.

  1. 赞和踩.

解决方法:当用户点击增加和删除按钮时, 获取到表白消息编号,传送到后台处理之后,再把数据库中对应数据的点赞或删除字段数值加一.

  1. 最多显示五十条消息.

解决方法,如果只需要实现这个功能的话,更改SQL语句就能实现.

一、设计方案

1、实验目的、系统功能说明、系统安装、使用说明(见实验设方案)

①学会使用Eclipse开发工具.

②了解html,css,js,jQ.java web的基本使用

③了解使用MySQL数据库管理系统的

④构建良好安全的后台数据管理系统。

2、程序结构说明(系统功能划分,各模块间的接口)

C/S模式的软件

客户端/服务器 比如QQ,或者一些大型游戏

用户需要先下载软件的客户端,然后才可以使用.

B/S模式的软件

浏览器/服务器 我们上网时候所访问网站的基本全是B/S模式的项目.

用户不需要下载任何东西,只需要用到浏览器就可以访问到这个项目.

我们在java中要学习的web项目,就是B/S架构的项目.

什么是web

web项目中,其实就是俩个软件之间的信息交换,客户端机器中的浏览器软件和服务器端机器中的web服务器软件之间的交换,比如在我们的学习中,就是客户端的浏览器和服务器端的tomcat进行信息交换。

浏览器和tomcat是俩个不同的软件,但是在开发这俩个软件的时候,都是加入对http协议的支持,所有它们俩个进行信息交换的时候,是通过http协议规定的方式进行交换的:客户端先发送一个请求,然后服务器端接收到请求后再返回给客户端一个响应,并且把客户端所请求的资源返回给客户端.

我们要做的时候就是,开发一个web项目,然后把这个web项目放到tomcat里面指的的位置,然后再运行这个tomcat软件,在tomcat运行过程中,其他计算机里面,只要是网络和我们这个服务器是通的,那么都可以通过浏览器来访问我们这个web项目。

在用浏览器访问tomcat的时候,tomcat会按照浏览器发送的这个请求里面的内容,把浏览器想访问的页面从web项目中找到并返回给这个浏览器,或者是tomcat去调用web项目所写的某些java类中的方法(其实就调用servlet中的方法)

注意:

web项目中,任何一个类里面都不需要写main方法,整个项目的运行,对象的创建,方法的调用,都是由tomcat处理的,我们不需要去管. tomcat根据客户端的要求,会调用某个servlet中的指定方法,然后在这个指定方法里面,我们可以写上调用我们自己写的某个类的方法,类似的这样方法相互调用下去,最后调用到我们sql语句的执行,这样我们的一个功能就走完了,比如说登录或者注册功能。

二、结构报告

web项目的项目结构:

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第1张图片

图一 目录结构

项目名字:biaobaiqiang

1.文件夹 biaobaiqiang ,项目名字是随便起的

2.WebTest文件中有文件WEB-INF,WEB-INF这个名字是固定的

3.WEB-INF文件夹中:classes文件夹,lib文件夹,web.xml文件,这个名字都是固定的。

4.web.xml文件在tomcat目录中的conf目录里面有一个web.xml模板.

注意:

WebContent文件夹下面还可以放文件夹、页面、css样式、js文件、图片等等.

classes文件夹中放的是编译后的.class文件

lib文件夹中放的是当前项目中运行所需要的jar包

※ tomcat服务器:

1. bin 目录:启动、关闭tomcat相关的命令。

2. conf 目录:tomcat的配置文件

3. lib 目录:tomcat中可以同时部署多个项目,多个项目都需要用到的相同jar包,就可以放在这个目录。

4. logs目录:记录tomcat日常运行的情况或者错误信息。

5. temp目录:tomcat运行期间可能会产生一些临时文件,这写临时文件就会放在这个目录.

6. webapps目录:我们开发好的web项目就是需要放到这个指定的目录下面,默认里面已经有一些tomcat自带的项目样例了.

7. work目录:编译jsp页面时候需要用到的一个目录.

3、重要数据的说明:

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第2张图片

图二 数据库SQL语句

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第3张图片

图三 导入jQ,layui等js文件

4、重要函数清单:

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第4张图片

图四 链接数据库

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第5张图片

图五 登录注册信息处理

重要函数清单:

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第6张图片

图六 查询账号是否存在

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第7张图片

图七 验证账号密码是否正确

重要函数清单:

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第8张图片

图八 如果账号密码没问题则把数据拿出存到session中

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第9张图片

如果用户输入的账号在数据库中不存在则注册

重要函数清单:

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第10张图片

图十 ajax提交点赞消息

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第11张图片

图十一 处理点赞信息

同理,点踩也是如此,再看看删除和添加信息

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第12张图片

图十二 页面提交删除信息

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第13张图片

图十三 处理删除

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第14张图片

图十四 Dao层删除类

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第15张图片

图十五 页面提交添加信息

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第16张图片

图十六 接受处理添加信息

带源码下载—校园表白墙—基于Java Web,Mysql,jsp—设计报告分享_第17张图片

图十七 添加处理类

5、总结

1)、本次实验成败之处及其原因分析:

当Servlet 用request 请求转发,表单跳转Servlet 页面 的提交方式 :get ,post:

(运用RequestDispatcher接口的Forward)方法 forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,

同时forward()无法在后面带参数传递, 比如servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个页面.

即:  当 另一个页面(这里可以说是登录页面)跳转到Servlet 用get方式   request.getRequestDispatcher().forword(request.response);  是无法跳转的

2)、本实验的关键环节及改进措施:

①做好本实验需要把握的关键环节:

  1. 登录和注册
  2. 页面表白墙信息的显示
  3. 点赞和踩
  4. 添加新的表白信息
  5. 删除自己发送的表白信息

②若重做本实验,为实现预期效果,应如何改善:

代码还有很多可以优化的地方,比如我在前端获取一个id值.

可以看见,在${sess…前还有一个空格,这时我在获取了该标签的值后,发送到后端,而我在Servlet,如果使用request.getParameter接受页面传来的参数,因为这是一个编号,我就需要强制转换,而此时发送过来的数据中是包含着一个空格的,这将让程序在强制转换时发生错误,因为int类型是无法容纳一个空格的,故而程序将发生错误,而如果需要改善,则可以在后台对传输过来的数据进行一遍针对数据是否合理的处理,使之程序更加健壮.

项目代码路径下载:https://download.csdn.net/download/weixin_42868605/20686663

你可能感兴趣的:(新手,java,web,项目成品,java,tomcat,jar,eclipse,ajax)