第一次提交空表单的时候没有问题,第二次提交空表单的时候就会出现这样的错误
Servlet.service() for servlet action threw exception
org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
at org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelectAction.java:71)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.nti.tools.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:32)
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:127)
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:298)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:864)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    就是Form提交的目标地址不存在,或结果页面中有图片之类的资源URL不存在。为什么第一次行,第二次不行,看看是不是浏览器缓存引起的。新开一个浏览器窗口,访问看看。
      

  2.   

    新开窗口也不管用,从火狐到google,从ie到搜狗都一样
    还出个这样的错误
    HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjavax.servlet.ServletException: org.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.nti.tools.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:32)
    root causeorg.apache.struts.chain.commands.InvalidPathException: No action config found for the specified url.
    org.apache.struts.chain.commands.AbstractSelectAction.execute(AbstractSelectAction.java:71)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    com.nti.tools.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:32)
      

  3.   

        public void doFilter(ServletRequest request, ServletResponse response,
                             FilterChain chain) throws IOException, ServletException { 
            if (ignore || (request.getCharacterEncoding() == null)) {
                String encoding = selectEncoding(request);
                if (encoding != null)
                    request.setCharacterEncoding(encoding);
            } 
            chain.doFilter(request, response);//32行
        }
    其他的表单提交都没有这样的情况,估计不是这里的问题吧
      

  4.   

    还要什么代码,我刚学struts1,对这个不是很懂
      

  5.   

    <forward name="toAddInput" path="/manage/add_Introduction.jsp" redirect="true" />这是相关的配置文件
    if (name == null || name.equals("")) {
    errors.add("introductionName", new ActionMessage(
    "request.error.introductionName"));
    this.saveErrors(request.getSession(), errors);
    return mapping.findForward("toAddInput");
    }
    else if (introductionDAO.queryByType(type.trim()) != null) {
    errors.add("introductionType", new ActionMessage(
    "request.error.introductionName1"));
    this.saveErrors(request.getSession(), errors);
    return mapping.findForward("toAddInput");
    }
    这是对应的动作表单验证
    <form action="introduction.do?command=add" name="form1" method="post">
    <input type="text" name="name" value="${introduction.name }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">所属地区:</td>
    <td>
    <input type="text" name="area" value="${introduction.area }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">法人代表:</td>
    <td>
    <input type="text" name="representative" value="${introduction.representative }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">公司规模:</td>
    <td>
    <input type="text" name="scale" value="${introduction.scale }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">成立年份:</td>
    <td>
    <input type="text" name="date" value="${introduction.date }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">经营模式:</td>
    <td>
    <input type="text" name="model" value="${introduction.model }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">所属行业:</td>
    <td>
    <input type="text" name="industry" value="${introduction.industry }"/>
    </td>
    </tr>
    <tr>
    <td width="20%" align="right">公司简介类别:</td>
    <td>
       <select name="type" value="${introduction.type }">
         <option value="公司介绍" selected="selected">公司介绍</option>
         <option value="企业文化" >企业文化</option>
         <option value="企业目标" >企业目标</option>
         <option value="经营理念" >经营理念</option>
         <option value="公司资质" >公司资质</option>       
       </select>
    <FCK:editor instanceName="content" height="300">
    <jsp:attribute name="value">
    您的内容
    </jsp:attribute>
    </FCK:editor>
    这是对应的jsp页面
      

  6.   

    这个URL:/manage/add_Introduction.jsp
    能正常访问吗?
      

  7.   

    一般出错就回退到input源,为什么要重定向到另一个页面呢?
      

  8.   

    改好了,我把这个this.saveErrors(request.getSession(), errors);改成了this.saveErrors(request, errors);谢谢你啊