这次是抱着学习的心态在github上找的项目,总体感觉就是要软件版本要按着readme.md的要求来,不然有些错误直接不是我们能够发现和解决的。
源码及其地址
项目环境:
- 框架:Spring、SpringMVC
- IDE:idea
- JDK:1.8
- MySQL:5.6.42
- mysql-connector-java的jar包:5.0
- tomcat:8.0
问题总结
前端
用的是jsp页面
后端
Spring框架
如果你的项目是在github上找的,遇到报错,前后端代码这两个一般不需要改动
需要改动的一般是配置代码
比如MySQL的版本啊
tomcat的版本啊
jdk的版本啊
有一个问题显示的是:
HTTP Status 500 - Request processing failed
然后后面还有个DataIntegrityViolationException
,后来才知道是编码问题
在web.xml中添加编码拦截配置:
<!-- 编码拦截配置 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
原因:中文提交到后台服务器接收乱码,乱码超出了数据库字段长度,导致报错
数据库
项目的配置信息
数据库配置
数据库可视化工具navicat,新建链接,新建数据库,数据库的名字要跟idea里的名字一模一样
若是打开Navicat连接数据库报错,那大概率应该是你没启动服务,右键“此电脑”——“管理”——找到“服务”——找到MySQL——右键启动。
如果在idea中连接数据库和导入数据遇到了问题:Unable to resolve table ‘XXX‘请移步
如何在Navicat中导入sql文件?
右键自己建的连接,然后运行SQL文件,再选中SQL文件所在的位置
数据库可视化工具navicat,新建链接,新建数据库,数据库的名字要跟idea里的名字一模一样,然后那个密码就是,你在装数据库的时候的密码。密码一致性嘛,就是idea、mysql、navicat密码都一样,还有一点就是如果你用了mybatis,你还要在mysql.properties里更改你的数据库的名字、用户名、登录密码(依旧是你装数据库时的密码)
还有一点比较重要
那就是调试!!
写了代码,运行出问题了,你要有能力解决啊,要知道是哪里除了问题,调试就能很好地解决这个问题
在运行不下去的那个地方打断点,然后去看它运行不下去报错的原因是啥,看不懂就上网搜索,找答案。
这次代码就是前端输了用户名和密码然后登录不进去,原因就是数据库有问题,那么是什么问题呢?好像是数据库版本的问题,说是版本太高了。要降,然后我降了,登是登进去了,在添加用户和编辑用户信息的时候问题又来了,报了错:
HTTP Status 500 - Request processing failed,然后后面还有个DataIntegrityViolationException
,那老哥看了看整了个配置文件,放在了web.xml然后就正常提交改写了,原因出在:中文提交到后台服务器接收乱码,乱码超出了数据库字段长度,导致报错
就是也就是服务器那边有问题,但是我不知道,我就在那儿猜,我也觉得是我数据库没连正确,重新练了数据库,代码没有了报错,但是还是登录不进去
5.1.26