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

怎么去掉后台异常信息(在地址栏上输入在action类中没有方法名)

2012-01-07 
如何去掉后台错误信息(在地址栏上输入在action类中没有方法名)我是用s2sh,我想解决的问题是:去掉后台的报

如何去掉后台错误信息(在地址栏上输入在action类中没有方法名)
我是用s2sh,我想解决的问题是:去掉后台的报错信息,信息如下:

Java code
2011-10-24 15:41:50,149 [org.apache.struts2.dispatcher.Dispatcher]-[WARN] Could not find action or resultThere 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里面的都是用通配符对应方法的,例如:如下
XML code
<!-- 用户登录 -->    <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是:如下
XML code
<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!怎样才能把后台的报错信息去掉或不会报错,郁闷中,在线等!!


[解决办法]
后台记录错误的日志~~你为啥要去掉呢??
[解决办法]
struts2有一个默认的action拦截所有未定义action的用户请求,用户输入信息错误全部要给默认的action处理!
[解决办法]
你还没解决的啊 
Java code
package interceptor;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;    }} 

热点排行