首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

生手学习struts2,启动失败,应该是核心拦截器无法加载

2013-09-11 
新手学习struts2,启动失败,应该是核心拦截器无法加载本帖最后由 hao7597566 于 2012-12-12 14:46:40 编辑

新手学习struts2,启动失败,应该是核心拦截器无法加载
本帖最后由 hao7597566 于 2012-12-12 14:46:40 编辑 我在http://struts.apache.org/下载了Apache Struts 2.3.7 Full Distribution,然后将里面lib的85个jar包都放进测试项目的lib目录里面。
同时对web.xml做了如下配置


<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>first Struts 2 Project</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>


另外struts.xml也进行了配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<include file="struts-default.xml"/>
<!--指定web应用的默认编码集,相当于调用HttpServletRequest的setCharacterEncoding的方法 -->
<constant name="struts.i18n.encoding" value="UTF-8"/>
    <constant name="struts.action.extension" value="do" />
    <!-- 开发模式下使用,这样可以打印更详细的错误信息 -->
    <constant name="struts.devMode" value="false" />
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="express" extends="struts-default">
<!-- 用户登录校验 -->
<action name="checkLogin" class="express.action.LogIn" method="checkLogIn">
<result name="success">/successed.html</result>
<result name="login">/failed.html</result>
</action>
<!-- 默认ACTION -->
<action name="index">
<result>/index.jsp </result>
</action>
</package>

</struts>


另外是写了一个类
package express.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

import ctrl.Check_Id;

public class LogIn extends ActionSupport {
private String id;
private String pass;
private Check_Id ch=new Check_Id();

public void setId(String id) {
this.id = id;
}

public String getId() {
return this.id;
}

public String checkLogIn() {
if (ch.checke(this.id, this.pass))// 发送密码和ID给业务处理层,并按结果操作
{// 成功就给session赋值,并跳转到成功页面
ActionContext ac = ActionContext.getContext();
ac.getSession().put("ID", this.id);
return SUCCESS;
} else {// 否则跳转到失败页面
return LOGIN;
}
}

}


启动的时候报错(篇幅所限,这里只是最开始的错误)
信息: Starting Servlet Engine: Apache Tomcat/6.0.13
2012-12-12 14:28:47 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info


信息: Parsing configuration file [struts-default.xml]
2012-12-12 14:28:47 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info
信息: Parsing configuration file [struts-plugin.xml]
2012-12-12 14:28:47 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error
严重: Dispatcher initialization failed
Unable to load configuration. - bean - jar:file:/C:/Users/Wong/Workspaces/MyEclipse%209/.metadata/.me_tcat/webapps/expressPro/WEB-INF/lib/struts2-gxp-plugin-2.3.7.jar!/struts-plugin.xml:8:162
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:71)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:471)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: Unable to load bean: type:org.apache.struts2.views.gxp.inject.InjectedObjectContainer class:org.apache.struts2.views.gxp.inject.InjectedObjectContainer - bean - jar:file:/C:/Users/Wong/Workspaces/MyEclipse%209/.metadata/.me_tcat/webapps/expressPro/WEB-INF/lib/struts2-gxp-plugin-2.3.7.jar!/struts-plugin.xml:8:162
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:245)


at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:102)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:215)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:68)
... 31 more


因为我是自学这个,所以我具体不清楚我遗留了哪一步。请大家指教。
[解决办法]
Unable to load bean
未成功加载实体。
首先,把你tomcat下其他的非必要的文件都删除。
第二,确认你jar导入全了。
顺着org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个路径找找这些jar包存在不。
[解决办法]
不要将所有的包都导进来,有些包会有冲突的

热点排行