我的工程原来是能正常访问的,原来的Jsp文件都在WebRoot下 现在我在WebRoot下新建了个文件夹叫user 并把jsp文件都放到了下面 然后我访问其中一个jsp文件 地址是http://127.0.0.1:8090/NSIEMP/user/query.jsp(访问正常)
query.jsp里面写的是:<form name="myform" action="QueryServlet" method= "post" onsubmit="return check()">
web.xml的映射写的是:<servlet>
    <servlet-name>Query</servlet-name>
    <servlet-class>servlet.user.QueryUserServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Query</servlet-name>
    <url-pattern>/QueryServlet</url-pattern>
  </servlet-mapping>
但是我的query.jsp一点表单的提交就显示HTTP Status 404 - /NSIEMP/user/QueryUserServlet
我的QueryUserServlet类在servlet.user.QueryUserServlet下面 为什么系统回去user下面找还告诉我找不到呢?难道我配置错了?

解决方案 »

  1.   

    注:servlet.user.QueryUserServlet是src下的路径
    那个user文件夹是WebRoot下新建的folder
      

  2.   

    /QueryServlet才是访问的url
    <form action="/QueryServlet"
    或者
    <form action="/NSIEMP/QueryServlet"
      

  3.   

    我把query.jsp从user文件夹拿出来放回WebRoot根目录下又可以访问QueryServlet了 放回去就不行 费解了 我的jsp的位置怎么会影响我访问Servlet呢 求知道求鞭策
      

  4.   

    路径错误了,query.jsp里面可以写:<form name="myform" action="<%=request.getContextPath() %>/QueryServlet" method= "post" onsubmit="return check()">可以修改路径错误
    web.xml映射文件
    <servlet-name>Query</servlet-name>
      <servlet-class>servlet.QueryUserServlet</servlet-class>
      </servlet>
      <servlet-mapping>
      <servlet-name>Query</servlet-name>
      <url-pattern>/QueryServlet</url-pattern>
      </servlet-mapping>
      

  5.   

    多谢楼上指点 小弟还想问下 我把我的jsp文件位置改了为什么会影响到我访问servlet呢?我要找servlet的时候不是去找<servlet-class>servlet.QueryUserServlet</servlet-class>就行了吗?
      

  6.   

    最好用绝对路径既然你jsp文件放在了user文件夹下,那么action就应该是../QueryServlet。../表示上层目录
      

  7.   

    在Servlet类里面跳转的时候写/user/***.jsp。就好了你写了吗?