当前位置:编程学习 > JAVA >>

求助关于strtus2 配置问题

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml
</param-value>
</context-param>

<!-- <servlet>-->
<!-- <servlet-name>action</servlet-name> -->
<!-- <servlet-class>-->
<!-- org.apache.struts.action.ActionServlet-->
<!-- </servlet-class>-->
<!--   </servlet>-->

<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>actionPackages</param-name>
<param-value>
    com.cps.action
</param-value>
</init-param>
</filter>

<!-- <filter-mapping>-->
<!-- <filter-name>struts2</filter-name>-->
<!-- <url-pattern>*.action</url-pattern>-->
<!-- <dispatcher>REQUEST</dispatcher>-->
<!-- <dispatcher>FORWARD</dispatcher>-->
<!-- </filter-mapping>-->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>


 <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>

我已经检查了半天 把  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
注释了就不会报错
报的错误如下:
2012-12-21 18:34:46 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load configuration. - [unknown location]
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:428)
at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:69)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4001)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4651)
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:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:445)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
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:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: Unable to load configuration. - [unknown location]
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
... 29 more
Caused by: Unable to locate parent package [default] - [unknown location]
at org.apache.struts2.convention.PackageBasedActionConfigBuilder.getPackageConfig(PackageBasedActionConfigBuilder.java:766)
at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:447)
at org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:278)
at org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:52)
at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:200)
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
... 31 more
2012-12-21 18:34:46 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2012-12-21 18:34:46 org.apache.catalina.core.StandardContext start
严重: Context [/cps] startup failed due to previous errors
2012-12-21 18:34:46 org.apache.catalina.core.ApplicationContext log
信息: Closing Spring root WebApplicationContext
2012-12-21 18:34:46 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/cps] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2012-12-21 18:34:46 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: The web application [/cps] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@1cb9af7]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@2aedd3]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
2012-12-21 18:34:46 org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
严重: The web application [/cps] created a ThreadLocal with key of type [null] (value [com.opensymphony.xwork2.inject.ContainerImpl$10@63b8c1]) and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@f6b022]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.

  --------------------编程问答-------------------- 求高手指点 别沉啊 --------------------编程问答-------------------- 没大神 帮下忙么 --------------------编程问答-------------------- 楼主:spring的那个监听位置不对,应该放到,struts的控制器上面
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml
</param-value>
</context-param>
 <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>
应该就好了!




--------------------编程问答--------------------
引用 3 楼 liuzhu116 的回复:
楼主:spring的那个监听位置不对,应该放到,struts的控制器上面
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml
</param-value>
</context-param>
 <l……

不是顺序的问题 我早试过了 --------------------编程问答-------------------- 没人 知道怎么解决么 --------------------编程问答-------------------- <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>*.action</url-pattern>
</filter-mapping> --------------------编程问答--------------------
引用 6 楼 marry20091208 的回复:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-nam……

还是不行啊 大哥· --------------------编程问答-------------------- 把整个xml文件贴出了,我试试 --------------------编程问答--------------------
引用 8 楼 marry20091208 的回复:
把整个xml文件贴出了,我试试


<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
WEB-INF/applicationContext.xml
</param-value>
</context-param>
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:log4j.properties</param-value>
</context-param>


<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>*.action</url-pattern>
</filter-mapping>

<servlet>
<servlet-name>action</servlet-name> 
<servlet-class>
org.apache.struts.action.ActionServlet
</servlet-class>
   </servlet>
<!-- -->
<!-- <filter-mapping>-->
<!-- <filter-name>struts2</filter-name>-->
<!-- <url-pattern>*.action</url-pattern>-->
<!-- <dispatcher>REQUEST</dispatcher>-->
<!-- <dispatcher>FORWARD</dispatcher>-->
<!-- </filter-mapping>-->

<!-- -->
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>

 <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
</web-app>
 
--------------------编程问答--------------------
引用 8 楼 marry20091208 的回复:
把整个xml文件贴出了,我试试

不过我用了convention 0配置插件的 不知道是不是这个影响配置得对不对
我把代码贴出来帮忙看看谢谢

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
    "http://struts.apache.org/dtds/struts-2.1.7.dtd">

<struts>
<!-- struts2中action后缀名 -->
<constant name="struts.action.extension" value="action" />

<!-- 默认编码方式 -->
<constant name="struts.i18n.encoding" value="utf-8" />
<constant name="struts.locale" value="zh_CN"/>

<!--  不用dojo的及struts2复杂标签样式的就把主题设置为simple,这样可以不加载多余的模板。 -->
<constant name="struts.ui.theme" value="simple"/>

<!-- 是否为开发模式,在开发模型中可以获得更多的跟踪信息 -->
<constant name="struts.devMode" value="true" />

<!--静态资源文件配置 -->
<constant name="struts.serve.static" value="true" />

<!-- 在开发模式下启用 配置改变时自动加载 -->
<constant name="struts.convention.classes.reload" value="true" />

<!--  允许Ognl表达式访问静态方法-->
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />

<!-- 上传文件的最大文件大小 -->
<constant name="struts.multipart.maxSize" value="31457010" />

<!--   是否不扫描类   一定要设为false,否则convention插件不起作用,零配置也没有意义。 -->
<constant name="struts.convention.action.disableScanning" value="false"/>

<!--
action默认的父package,action将自动继承父package的所有属性,在action没有显式声明action的父package时生效
-->
<!-- <constant name="struts.configuration.classpath.defaultParentPackage"-->
<!-- value="xframe-default" />-->
<constant name="struts.convention.default.parent.package" value="default"/>

<!-- 在寻找资源时是否忽略大小写 -->
<constant name="struts.configuration.classpath.forceLowerCase"
value="false" />

<!-- convention中查找action的返回结果资源时的默认文件夹 -->
<constant name="struts.convention.result.path" value="/page/"/> 
</struts>
--------------------编程问答-------------------- <!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd">
试试 --------------------编程问答--------------------
引用 11 楼 marry20091208 的回复:
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd">
试试

还是不行的= = 真是诡异了。。这报错也不够明确
就是报没有指定的默认包


Caused by: Unable to load configuration. - [unknown location]
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:371)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:415)
... 29 more
Caused by: Unable to locate parent package [default] - [unknown location]
--------------------编程问答-------------------- 我这边改了,就可以加载,没错误了 --------------------编程问答-------------------- <?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>
<!-- struts2中action后缀名 -->
<constant name="struts.action.extension" value="action" />

<!-- 默认编码方式 -->
<constant name="struts.i18n.encoding" value="utf-8" />
<constant name="struts.locale" value="zh_CN"/>

<!--  不用dojo的及struts2复杂标签样式的就把主题设置为simple,这样可以不加载多余的模板。 -->
<constant name="struts.ui.theme" value="simple"/>

<!-- 是否为开发模式,在开发模型中可以获得更多的跟踪信息 -->
<constant name="struts.devMode" value="true" />

<!--静态资源文件配置 -->
<constant name="struts.serve.static" value="true" />

<!-- 在开发模式下启用 配置改变时自动加载 -->
<constant name="struts.convention.classes.reload" value="true" />

<!--  允许Ognl表达式访问静态方法-->
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />

<!-- 上传文件的最大文件大小 -->
<constant name="struts.multipart.maxSize" value="31457010" />

<!--   是否不扫描类   一定要设为false,否则convention插件不起作用,零配置也没有意义。 -->
<constant name="struts.convention.action.disableScanning" value="false"/>

<!--
action默认的父package,action将自动继承父package的所有属性,在action没有显式声明action的父package时生效
-->
<!-- <constant name="struts.configuration.classpath.defaultParentPackage"-->
<!-- value="xframe-default" />-->
<constant name="struts.convention.default.parent.package" value="default"/>

<!-- 在寻找资源时是否忽略大小写 -->
<constant name="struts.configuration.classpath.forceLowerCase"
value="false" />

<!-- convention中查找action的返回结果资源时的默认文件夹 -->
<constant name="struts.convention.result.path" value="/page/"/> 
</struts> --------------------编程问答--------------------
引用 13 楼 marry20091208 的回复:
我这边改了,就可以加载,没错误了

你就改了 strtus的头信息么 --------------------编程问答-------------------- 看看是不是少了什么jar包 --------------------编程问答-------------------- 或者jar包冲突 --------------------编程问答--------------------
引用 16 楼 wsx_java2011 的回复:
看看是不是少了什么jar包


++ 我也觉得可能是LZ的包引用由问题
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,