开始配置struts2后出现“The requested resource is not available”。
我的项目名叫webdemo,开发环境是eclipse,最近初学struts2,对着书配置的jar包和xml文件,然而还是出现了问题。
一、.排查导致“The requested resource is not available”的地方
1.未部署Web应用
我看了下tomcat中部署的项目,发现了webdemo,所以状态是已经部署了。
2.URL输入错误
我的项目名叫webdemo,index.jsp放在WebContent中,Tomcat端口:8888 ,所以准确的地址应该为http://localhost:8888/webdemo/index.jsp
我测试的做法是直接点开要打开的jsp页面,右键Run As-》Run on Server,直接跳出该页面,所以不存在URL输入错误。
3.404除了资源不存在外 项目启动失败则无法访问此项目下的任何资源
启动项目之后检查控制台输出,直接就发现问题:
严重: Exception starting filter struts2
java.lang.ClassNotFoundException: prg.apache.struts2.dispatcher.FilterDispatcher
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1666)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1511)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:406)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:388)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:117)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:248)
......
找不到FilterDispatcher这个类(FilterDispatcher分发器,是Struts2框架的核心Dispatcher,没有它,也就谈不起Struts2框架)
二、排查struts的配置
1..检查jar包
我总共导入11个包:详情如下
因为我直接引用的是放在迅雷下载里的外部包,所以后面会带路径。
我隐隐感觉有点不对,因为偶尔会有外部包不能识别的情况,所以将jar包拖到lib中,修改引用包
结果真的是jar包的问题。。。。。。现在问题就解决了。。。。。