- action标签中class属性对应类不存在,原因可能是手误写错,或者还没开始写action就配置了struts.xml
- 运行结果
报错原因是web.xml中的过滤器过滤了所有请求。在创建Dispatcher,会读取 filterConfig 中的配置信息,将配置信息解析出来,封装成为一个Map,然后根绝servlet上下文和参数Map构造Dispatcher 。Dispatcher初始化,加载struts2的相关配置文件,将按照顺序逐一加载:default.properties,struts-default.xml,struts-plugin.xml,struts.xml。但是到核心配置文件的时候:
Dispatcher是struts2重要的类之一,这个类初始化失败,核心过滤器就很难正常工作,而jsp会被过滤掉,但因为该类初始化失败的缘故,jsp页面虽然被过滤但是转发不回来,所以404。 - 解决办法:
- class属性设置为空
- 映射存在的类,不管实现具体方法没有,只要有类就可以
- 将web.xml中的url-pattern改掉,让它不要过滤jsp
- 第三种解决方案不推荐,/*是struts的合理配置,让其过滤掉jsp,是又struts框架的具体考量的。