环境:JBX
页面错误400:The request sent by the client was syntactically incorrect (Invalid path /sys/engineAction was requested).
控制台报错:严重: Invalid path /sys/engineAction was requested
我在engineAction中加了断点,但根本没走到,还有我的配置文件如下:
<action name="engineActionForm" path="/engineAction" scope="request" type="action.EngineAction">
      <forward name="add" path="/sys/addeng.jsp" />
      <forward name="change" path="/sys/chaneng.jsp" />
      <forward name="success" path="/sys/success.jsp" />
      <forward name="fail" path="/sys/fail.jsp" />
    </action>
让我疑惑的是我的ACTION并不是在SYS中,为什么它总是说/sys/engineAction 这个路径呢?还有一个问题,我的机器在runJSP的时候有时候出现:URL: Unable to open location: no protocol: $$UnknownLocation$$ 和URL: Unable to open location: No buffer space available (maximum connections reached?): JVM_Bind 这样的错误,重起一下就好了,但总是出现,请问这是什么意思啊,哪里错了?请好心人指点,解决马上给分,谢谢~

解决方案 »

  1.   

    那是因为你的当前的jsp在sys中.两种方法可以解决,一,在xml配制文件中path前加上sys二在action中../
      

  2.   

    说明你的web服务器的给你的应用配置的根目录是 http://..../sys
    不知道你的jsp是怎么写得,所以也不太好确实问题所在一个建议:不要在JBuilder中运行web服务程序,容易出现问题,这是个人经验,楼下继续
      

  3.   

    谢谢两位热心人,我把我的配置改成
     <action name="engineActionForm" path="/engineAction" scope="request" type="action.EngineAction">
          <forward name="add" path="../sys/addeng.jsp" />
          <forward name="change" path="../sys/chaneng.jsp" />
          <forward name="success" path="../sys/success.jsp" />
          <forward name="fail" path="../sys/fail.jsp" />
        </action>
    我的action里是这样写的Mapping.findForward("add");
    还是一样的错误,还有请大家说下我的第2个问题,刚又重起了一次机器~
      

  4.   

    struct 不懂的。在这里听课!
      

  5.   

    怎么没人说啊,我把JSP放到WEB下,他提交就正确了,到底什么问题哦,请解答~如果我把JSP放在WEB下的一个SYS文件夹下,应该怎么写他才能找到ACTION呢?
      

  6.   

    如果你在tomcat_home/conf/server.xml里定义了<Context path="/sys" ..>
    那么你的jsp里<form>的action不用修改,但是<a href="/xxx.do"...>都要修改
    成<a href="xxx.do"...>这样才能不出如上的错误。