前言
2022.06.12
准备环境竟然搞了很久,边写法律论文开题报告边跟着网课做Java项目的感觉很嗨。(希望最后不会是自嗨)
一、环境
1.IDEA 2021, JDK 1.8u321, Tomcat 8.5.78, Maven 3.5.4
二、出现的问题。
1.一开始竟然就失败,报错
The specified user settings file does not exist:
后来发现是自己IDEA整合外部Maven时没有选中自己的settings文件,仅勾选了override。我就觉得很奇怪,毕竟自己更换了本地仓库路径。(我以为是这个原因)
2.可能是镜像问题?
Downloading org.sonatype.plexus:plexus-build-api::0.0.7
Could not transfer artifact org.sonatype.plexus:plexus-build-api:jar:0.0.7 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.40.215] failed: Connection timed out: connect
Downloading org.apache.maven.shared:maven-shared-utils::3.2.0
Could not transfer artifact org.apache.maven.shared:maven-shared-utils:jar:3.2.0 from/to central (https://repo.maven.apache.org/maven2): Connect to repo.maven.apache.org:443 [repo.maven.apache.org/151.101.40.215] failed: Connection timed out: connect
1)2022.06.13 14:10,又突然创建成功了……所以昨晚猜测是网络不好?
3.2022.06.14 01:17:00 ,配置切面标签<aop: config>时出现问题。一开始以为是没有写依赖,上网找了个坐标导了进去发现还是不可以,后面发现是表头的命名空间问题。
“aop:config标签不显示的问题_kkqq521l的博客-CSDN博客”
已解决,但是不明白。因为我的pom文件里确实没有导入aop坐标。
4.2022.06.16 00:44:00 ,闹了挺多乌龙……,比如Tomcat无法启动,显示是无法打开JDBC,后面解决完一个又来一个bug。可以登录之后,发现登录界面无法跳转,后面发现是JDBC的端口号没有改过来……。再次感叹确实应该做播放量大的项目,这样起码评论里会有很多小伙伴讨论问题。弹幕里也能学习到很多东西。不过至今不知道,为什么@RequestMapping括号中login后面不用加.action也能跳转。
5.2022.06.20 01:15:00 ,emmm其实昨天也有敲代码,但是忘记记录了。今天做到Ajax异步图片上传并回显。
发现资源文件里有几个部分代码已经敲好了……算是偷懒。不过目前三层模型的功能逐渐清晰。也算是收获。
6.遇到错误
Bean named is XXX expected to be of type XXX but was actually of type 'com.sun.proxy.XXX。
解决方式:
在applicationContext.xml文件里面的
<!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式) -->
<aop:config>
<!-- 切入点表达式 -->
<aop:pointcut expression="execution(* com.qihang.service..*(..))" id="txPoint"/>
<!-- 配置事务增强 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>
这个语句的下面添加这样一句话
<aop:aspectj-autoproxy proxy-target-class="true"/>
添加后的效果:
<!--开启基于注解的事务,使用xml配置形式的事务(必要主要的都是使用配置式) -->
<aop:config>
<!-- 切入点表达式 -->
<aop:pointcut expression="execution(* com.qihang.service..*(..))" id="txPoint"/>
<!-- 配置事务增强 -->
<aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint"/>
</aop:config>
<aop:aspectj-autoproxy proxy-target-class="true"/>
7.2022.06.22 01:05:00 学到删除单个商品。确实感觉这个老师水平欠佳,不过自己依旧一头雾水。好在快做完了,学完这个感觉需要补一补计算机基础课。
8.2022.06.23 01:15:00 进度更新,做到多条件查询功能。但是页面本应没有数据,我的页面却有,同时我的点击查询后没反应。太晚了,明天再解决。
2022.06.24 01:05:00 已解决。原因很荒唐,就是Ajax方法最后会让product.jsp页面的table标签刷新,但是table标签里面el表达式用的变量名是info,而我本次封装数据的JSON叫做list。其实老师在开头提醒过,说页面的显示和查询后的显示不能同时做,我没有想到是这个意思。不过本次也暴露了自己学习上的不足,就是对EL表达式和前端页面不够熟悉。
9.2022.06.25 01:24:00 学习进度:多条件查询情况下的分页处理。略离谱,跟着老师一步一步做,能得到结果,但是无法分页。目前还没得到解决。虽然仅是对于原有product.jsp页面中的ajaxsplit方法进行修改,但是却出错了。而我如果回退到原来单纯的分页却又可以。
2022.06.25 02:15:00 大无语事件,自己随意修改了下代码,发现可以了。原因是没有将当前页的页码传给PageInfo对象,因为虽然自己一直隐隐感觉productInfoVo中的pageNum初始值为一有点不对劲,但是就是想不出来解决方案。
10.2022.06.26 01:06:00 已完结。但是仍有许多小问题待解决,例如在条件查询下,如果删除/编辑单个商品,则处理完毕后页面的下拉列表框会处于未选中状态。同时,很多方法感觉可以合并简化处理,但是老师都没有提及。而明天即将开始准备开题答辩,计算机的学习及该项目的改造暂缓。
11.2022.07.04 00:06:00 第一次这么早写文章……记录一下7.1毕论开题答辩挂科,我真的栓Q。但是07.01当晚回归计算机的怀抱,将一些不足之处修改了。例如条件查询下,删除单个商品后页面的条件会被清空,并且页码会重置为第一页。此外,还复习了jQuery下的Ajax技术。