项目代码路径下载:https://download.csdn.net/download/weixin_42868605/20686663 1.系统功能说明:
|
2.系统安装说明: 需要提前准备安装的工具: (1)开发工具:Eclipse 2020年6月版 (2)数据库:Mysql 5.7.24 (3)开发环境: JDK 1.8 (4)服务容器:tomcat 9.0.48 |
3.系统使用说明:
|
4.系统设计难点及其解决方法:
解决方法:获取到用户输入的表白消息,使用ajax传到后台处理,最后再添加到数据库中.
解决方法:当用户点击删除按钮时,获取到表白消息编号,传送到后台处理之后,在把数据库中的内容删除.
解决方法:当用户点击增加和删除按钮时, 获取到表白消息编号,传送到后台处理之后,再把数据库中对应数据的点赞或删除字段数值加一.
解决方法,如果只需要实现这个功能的话,更改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项目的项目结构: 图一 目录结构 项目名字: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、重要数据的说明: 图二 数据库SQL语句 图三 导入jQ,layui等js文件 |
4、重要函数清单: 图四 链接数据库 图五 登录注册信息处理 |
重要函数清单: 图六 查询账号是否存在 图七 验证账号密码是否正确 |
重要函数清单: 图八 如果账号密码没问题则把数据拿出存到session中 图九 如果用户输入的账号在数据库中不存在则注册 |
重要函数清单: 图十 ajax提交点赞消息 图十一 处理点赞信息 |
同理,点踩也是如此,再看看删除和添加信息 图十二 页面提交删除信息 图十三 处理删除 |
图十四 Dao层删除类 图十五 页面提交添加信息 |
图十六 接受处理添加信息 图十七 添加处理类 |
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)、本实验的关键环节及改进措施: ①做好本实验需要把握的关键环节:
②若重做本实验,为实现预期效果,应如何改善: 代码还有很多可以优化的地方,比如我在前端获取一个id值. 可以看见,在${sess…前还有一个空格,这时我在获取了该标签的值后,发送到后端,而我在Servlet中,如果使用request.getParameter接受页面传来的参数,因为这是一个编号,我就需要强制转换,而此时发送过来的数据中是包含着一个空格的,这将让程序在强制转换时发生错误,因为int类型是无法容纳一个空格的,故而程序将发生错误,而如果需要改善,则可以在后台对传输过来的数据进行一遍”针对数据是否合理”的处理,使之程序更加健壮. 项目代码路径下载:https://download.csdn.net/download/weixin_42868605/20686663 |