一、框架解读
今天睡了很久然后精神抖擞来重看!一下子就理解了之前不懂的逻辑
还是从这张思路图来解读
先不说写出代码,至少要找到对应代码
web.xml中
引入springMVC.xml
对controller类的实例化,并且使用注解模式
sterotype:模式化的思想
这里首先要补充一下java的知识点
在接口中的方法可以是抽象方法,即只有方法名,通过继承类来实现
首先看第三个框,通过@RequestMapping映射访问路径/listCategory路径到方法listCategory()
再看第二个框,通过注解的方式注入
有一个地方是没看懂的:自动装配实现了CategoryService接口的的实例,只有CategoryServiceImpl实现了CategoryService接口,所以就会注入CategoryServiceImpl
这里多体会一下吧,意思是只有categoryMapper完善了方法吗?
在注入Impl的同时还注入了categoryMapper,并且将方法进一步补充(椭圆中的方法)
后面的就很简单了,拿到了实例化好了的CategoryController,并调用 list 方法
那么list方法是什么呢,就是Impl中补充过后的方法
这里又产生了个疑问,为什么要大费周章设置两个接口然后再用Impl继承呢?直接作为类方法引用后感觉可以省很多步骤?
花开两朵,各表一枝,先按照教程进行思考
这个方法就是查找表中数据
根据controller,把数据放在"cs"上,接着服务端跳转到listCategory.jsp去
那么jsp中的内容是什么呢?
其实就是设置了个形式来显示内容
思路在上,但是理解的还不是很透彻,实操时又发生了意外
1、比如我不想用listCategory作为地址了,我要用aaa
2、我认为应该先实例化categoryService再通过注解导入,因为Impl中有Service的接口
在更改两处后出错了,提示为
Error creating bean with name 'categoryController': Injection of autowired dependencies failed; nested exception is java.lang.NullPointerException
那么在将2改正后成果了,问题就是2的注解位置,更改后如下
为什么我的想法出错了呢?
这个方法名是什么都没关系,aaa、bbb.....随便取应该都可以,只用通过路径找到方法并进行操作就好了
为什么不能实例化继承类用它找到方法进行执行又是java中的内容被忘掉了,总之整个流程已经完全清晰了,接下来进行其他操作
二、增加编辑删除以及CRUD操作
首先感谢胡光琪同学的作业,在不知道实操该怎么实现的情况下是参考他的作业完成的
思维本来被局限在购物车那一章中的使用表单按钮进行操作,但是后续的跳转等步骤会很难完成
所以改用超链接
注意这个超链接写法
前端的内容也忘了很多,div划分出一个区间,加a的小标签完成
最后jsp页面实现如上图
报错了
借此补充接口知识点
1、子类必须必须补全接口的全部抽象方法
2、子类补充方法格式须和接口一致,比如我的方法名中没有public就报错
更改后如下就没问题了
然后就是对控制器的改动,在其中加入删除操作 注意点有好几个
1、也需要用路径找到对应方法,这也是超链接中的地址,在之前超链接跳转中应该也有接触到,复习一下
2、注意第二个框,这不是定义方法,是直接引用方法咯
3、注意第三个框中这个写法,之前好像没接触过,但是意思其实还是蛮好懂的,在执行之后重新定位到路径listCategory,就是又一次回到jsp页面,相当于刷新吧哈哈哈,好巧妙的想法
但是最后运行的时候还是报错了,看样子是超链接没法进行跳转删除
但是我相信思路是没问题的
更新插入等操作更加复杂,今天就先到这里吧
用时:三小时