请教一个servlet在web.xml配置访问路径的问题

时间:2021-12-13 20:04:45
首先我在tomcat的service.xml中配置了<Context path="/demo" docBase="D:\WorkSpace\MyEclipse8.5\test\WebRoot" reloadable="true" />
在webroot下新建了aaa文件夹,里面有start.jsp和end.jsp。
start.jsp的表单:
<body>
    <form action="StartServlet" method="post">
        用户名:<input name="username" id="username" type="text" />
        <input type="submit" mane="提交" />
</form>

web.xml中的配置:
<servlet>
    <servlet-name>StartServlet</servlet-name>
    <servlet-class>org.demo.servlet.test.StartServlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>StartServlet</servlet-name>
    <url-pattern>/StartServlet</url-pattern>
</servlet-mapping>

StartServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    {
    String name = (String) request.getParameter("username");
    request.setAttribute("username", name);
    RequestDispatcher rd = request.getRequestDispatcher("result.jsp");
    rd.forward(request, response);
    }

end.jsp的body部分
<body>
    <%=request.getAttribute("username")%>
</body>

在浏览器中能够正常访问start.jsp
请教一个servlet在web.xml配置访问路径的问题

但是当点击提交是,报404错误:
HTTP Status 404 - /demo/aaa/StartServlet

type Status report

message /demo/aaa/StartServlet

description The requested resource is not available.
Apache Tomcat/6.0.41


求大婶帮我讲下在webroot下新建文件夹里的jsp在web.xml中怎么配置!!

7 个解决方案

#1


404应该是路径错误
试着把form表单里的action改成绝对路径“../StartServlet”
我也不大会。。

#2


你那是路径有问题,你试着用相对路径去表示一下!

#3


引用 1 楼 silentsaber 的回复:
404应该是路径错误
试着把form表单里的action改成绝对路径“../StartServlet”
我也不大会。。


这样到是能解决,但是总觉得还有更好的方法。因为文件夹一旦比较深,action的值就比较蛋疼

#4


引用 2 楼 oLinHao007 的回复:
你那是路径有问题,你试着用相对路径去表示一下!


求方法!我都试过好久了

#5


路径问题、/demo/aaa/StartServlet 是错误的、

#6


楼主,有没有解决这个问题啊?

#7


<servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>nuc.test.servlet.Login</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/servlet/Login</url-pattern>
  </servlet-mapping>


<form action="Login" method="post">

#1


404应该是路径错误
试着把form表单里的action改成绝对路径“../StartServlet”
我也不大会。。

#2


你那是路径有问题,你试着用相对路径去表示一下!

#3


引用 1 楼 silentsaber 的回复:
404应该是路径错误
试着把form表单里的action改成绝对路径“../StartServlet”
我也不大会。。


这样到是能解决,但是总觉得还有更好的方法。因为文件夹一旦比较深,action的值就比较蛋疼

#4


引用 2 楼 oLinHao007 的回复:
你那是路径有问题,你试着用相对路径去表示一下!


求方法!我都试过好久了

#5


路径问题、/demo/aaa/StartServlet 是错误的、

#6


楼主,有没有解决这个问题啊?

#7


<servlet>
    <servlet-name>Login</servlet-name>
    <servlet-class>nuc.test.servlet.Login</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Login</servlet-name>
    <url-pattern>/servlet/Login</url-pattern>
  </servlet-mapping>


<form action="Login" method="post">