我是用s2sh,我想解决的问题是:去掉后台的报错信息,信息如下:
2011-10-24 15:41:50,149 [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or result
There is no Action mapped for namespace / and action name abcabc. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:178)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)我的struts.xml里面的都是用通配符对应方法的,例如:如下<!-- 用户登录 -->
<package name="login" extends="baseAction" namespace="/">
<action name="login_*" class="loginAction" method="{1}">
<result name="userLoginSuccess">/res/templet/user/templet/new/index.jsp</result>
<result name="userLoginFail">/res/templet/user/templet/new/login.jsp</result>
<result name="userLoginExitSuccess">/res/templet/user/templet/new/login.jsp</result>
</action>
</package>
我的web.xml是:如下
<error-page>
<error-code>404</error-code>
<location>/res/templet/new/404Error.jsp</location>
</error-page><!-- struts2配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
-->
</filter>
我已经在web.xml里配置了404错误,会跳预先定好的页面,如果我在地址拦上输入http://local.XXX.com/abcabc(local.XXX.com是在tomcat里虚拟的路径)就报找不到对应的action,会报404,页面是跳到了我自定义的jsp页面,但后台还是报错打不到对应的action!怎样才能把后台的报错信息去掉或不会报错,郁闷中,在线等!!
2011-10-24 15:41:50,149 [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or result
There is no Action mapped for namespace / and action name abcabc. - [unknown location]
at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:178)
at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:61)
at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39)
at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:47)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:478)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)我的struts.xml里面的都是用通配符对应方法的,例如:如下<!-- 用户登录 -->
<package name="login" extends="baseAction" namespace="/">
<action name="login_*" class="loginAction" method="{1}">
<result name="userLoginSuccess">/res/templet/user/templet/new/index.jsp</result>
<result name="userLoginFail">/res/templet/user/templet/new/login.jsp</result>
<result name="userLoginExitSuccess">/res/templet/user/templet/new/login.jsp</result>
</action>
</package>
我的web.xml是:如下
<error-page>
<error-code>404</error-code>
<location>/res/templet/new/404Error.jsp</location>
</error-page><!-- struts2配置 -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
-->
</filter>
我已经在web.xml里配置了404错误,会跳预先定好的页面,如果我在地址拦上输入http://local.XXX.com/abcabc(local.XXX.com是在tomcat里虚拟的路径)就报找不到对应的action,会报404,页面是跳到了我自定义的jsp页面,但后台还是报错打不到对应的action!怎样才能把后台的报错信息去掉或不会报错,郁闷中,在线等!!
解决方案 »
- java.lang.NullPointerException问题 ,请教高人
- spring配置hibernate错误 急100分在线等···
- 求助使用struct2 spring2 hibernate3时 HibernateTemplate().find出来的List组中只有一个对象如何产生多个对象
- hibernate能将oracle中的clob类型映射为String类型吗?
- java连接数据库问题?
- 求救:用JBulider9发布webservice 在服务器上生成的wsdl有错误,同时后台有WARN打出
- Hibernate中数据类型,数组怎么用?
- 我的TOMCAT配置不起来 急啊!旋转365 裸身跪求一解
- 用URL类取返回的HTML乱码怎么也转换不了
- IDEA terminal输出问题
- 想讨论下数据库持久层的必要性
- 阿宝,麻烦解释下这个正则
别的不说了, STRUTS1 拦截器 这里有文章供你分享下
http://jayje.iteye.com/blog/562128
如果是STRUS2 很方便就不说了
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.Interceptor;
public class MyInterceptor implements Interceptor {
public void destroy() {
// TODO Auto-generated method stub
}public void init() {
// TODO Auto-generated method stub
}
public String intercept(ActionInvocation invocation) throws Exception {
System.out.println("Action执行前插入 代码");
//执行目标方法 (调用下一个拦截器, 或执行Action) 捕获这块异常,输入自定义信息
final String res = invocation.invoke();
System.out.println("Action执行后插入 代码");
return res;
}
}
Struts2拦截器需要在struts.xml中声明
尝试下吧~~差不多应该就这样了