关于引用js的地址和@Autowired
这里department_list.jsp和js文件夹在同一级为啥要用../呢?
---------------------------------------------------------------
---------------------------------------------------------------
首先这是执行成功的项目,@Autowired是按照类型找实例化的对象,此处找的是DepartmentServiceImpl以DepartmentService接口为类型实例化的对象,也就是说@Service("departmentService")实例化的对象是以DepartmentService为数据类型创建的,那么它为啥不以自身DepartmentServiceImpl为数据类型实例化对象?
正在回答
嗯嗯,此处和前端所说纯静态页面的跳转还是有所区别的呢~
在访问department_list.jsp时,是Controller中配置的访问路径,即:
通过/department/list.do 访问的是department_list.jsp,实际访问路径多出来一层,如果直接写为:js/jquery-1.8.3.min.js
那么控制台的报错信息为:
这个js文件是引用不到的,多了一层department目录,所以在写js的访问路径时,也要根据访问路径来确定;此时就需要返回上级目录了。
建议同学下次再碰到类似问题的时候,可以先到源码中试验一下,这样学习起来更加深刻哟~
祝学习愉快!
bilibili.html这个文件与文件夹是同级的,所以用目录名/文件名就可以引用了,但是department_list.jsp是在WEB-INF文件下,你想想,../代表的是父级目录,webapp是WEB-INF的父级目录,所以../就代表webapp目录,../js不就是webapp/js吗,你要想直接用js/文件,可以将department_list.jsp文件,放到webapp下试试,祝学习愉快~
这里bilibili.html引用vendor和js文件夹下的js文件没有用../呢。懵逼中。。。
1、./表示的是当前目录,../表示的是父级目录,也就是webapp目录,所以想引用jquery文件,需要直接webapp目录下的js文件中的js文件,此处是直接从跟路经下进行路径的读取的。
2、因为在实现类上有添加@Service注解,并且也配置了spring的自动扫描service的包,所以spring容器会自动加上这个实现类,然后在@Autowrited的地方会根据类型匹配,将对应的实现类注入,所以@Autowired那里就相当于:接口类型 = new 接口实现类型。祝学习愉快~
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星