<form action="<%=getServletContext()%>/xxx">
所有都用这个,这是个好习惯,而且不会出错

解决方案 »

  1.   

    我觉得这不是个好习惯。还是按照j2ee标准,老老实实部署。
      

  2.   

    你jsp页面提交到servlet的action写的有问题,最好写成<%=request.getContextPath()%>/action-uri的形式,还有就是你在web.xml配置servlet的时候,<servlet-class>的路径要写全,包括包名。其实一个项目的servlet的数目不会太多,偶一般不用jbuilder做web开发,只写class而已,web.xml都是自己配的。
      

  3.   

    应该是request.getContextPath()
    呵呵
      

  4.   

    你说的是request.getServletPath()吗
      

  5.   

    你jsp页面提交到servlet的action写的有问题,最好写成<%=request.getContextPath()%>/action-uri的形式,还有就是你在web.xml配置servlet的时候,<servlet-class>的路径要写全,包括包名。我按照上面所说的做,可是问题还是一样,在<servlet-class>中写全路径后,JBUILDER中就不能跑了,感觉还是原来的问题
      

  6.   

    楼主把你的web.xml文件内容贴上来看看,最好再顺便说说你的目录结构。
      

  7.   

    我列出其中一个
      <servlet>
        <servlet-name>usermgr</servlet-name>
        <servlet-class>UserMgr</servlet-class>
      </servlet>  <servlet-mapping>
        <servlet-name>usermgr</servlet-name>
        <url-pattern>/usermgr</url-pattern>
      </servlet-mapping>
    以上这些是JBUILDER自动生成的,可以正常跑
    可是我把生成的WAR包放到TOMCAT下跑
    就提示  /usermgr找不到
    我修改如下:
     <url-pattern>/proName/usermgr</url-pattern>
    并把相应的提交页面写成 action="/<%=request.getContextPath()%>/usermgr"
    在TOMCAT下是可以跑了 ,在JBUILDRE下也能跑就提示  /usermgr找不到
    感觉这个 <%=request.getContextPath()%>的值在TOMCAT 和JBUILDER下各有不同
      

  8.   

    <url-pattern>/usermgr</url-pattern>不变,action改成action="<%=request.getContextPath()%>/usermgr",注意少了个“/”。