一、启动过滤器失败,上下文找不到实例对象
1、表现
bean对象通过@resources注入,导致在配置过滤器的时候,注入失败抛出异常。
2、解决办法
在保存的类中,替换注入的类的注解为@Autowired
3、问题出现原因
**首先明白两个注解的区别:**
(1) **提供方:**@Autowired是Spring提供的,@Resource是JSR-250提供的,它是Java标准,绝大部分框架都支持。
(2) **默认注入方式:**@Autowired默认按byType自动装配,而@Resource默认byName自动装配。
(3) **作用范围:**@Autowired能够用在:构造器、方法、参数、成员变量和注解上,而@Resource能用在:类、成员变量和方法上。
二、在配置FIlter的时候出现AbstractMethodError
1、表现
配置FIlter时候initFilter时候抛出异常AbstractMethodError.
2、解决办法
在实现FIlter的类中实现init()方法和destory()方法。
3、问题出现原因
根本原因A依赖于B,但是执行的时候发现类B的定义发生了改变,这个改变是针对编译的时候发生了改变,也就是说将类A由java文件编译成.class文件的时候用到了类B的class文件,但是在执行的时候JVM发现真正用到的B的class文件和编译的时候用的不是一个了。
三、tomcat自动配置的项目路径导致项目静态文件访问失败
1、出现原因
在html中写的是绝对路径,而不是相对路径,所以tomcat中的应用请求时候,绝对路径是无法定位到应用内部文件中的静态资源。
2、解决办法
在Server.Xml文件中,的Host节点中配置Context。并且指定项目路径不能在webapps中(不然会导致项目加载两次)。
```xml
<Context path="" docBase="C:\ chapter03\helloapp" reloadable="true"/>
```
这样就可以直接通过`http://localhost:8080/`直接访问项目,就不需要添加前缀
3、问题出现原因
URL无法定位到资源。