1.首先写一个Servlet 并且采用请求转发方式来转发请求到 jsp3页面,因为使用了转发 浏览器路径还是这个Servlet映射路径(此处放屁)
@WebServlet("/ServletToMerryPage")
public class ServletToMerryPage extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
RequestDispatcher rd = req.getRequestDispatcher("/WEB-INF/js/jsp3.jsp");
rd.forward(req,resp);
}
}
2.因为Servlet是tomcat提供的所有默认提供一个虚拟路径,我们可以相对与web目录任意访问下面所有资源
3.看看我的jsp3,错误就是action路径
<body>
<form action="../../ServleRegisterCard" autocomplete="off" method="post">
<label for="name1">男生</label>
<input type="text" id="name1"/>
<br>
<label for="name2">女生</label>
<input type="text" id="name2"/>
<br>
<label for="merrydate">日期</label>
<input type="date" name="merrydate" id="merrydate">
<br>
<input type="submit" value="登记">
<input type="reset" value="重置">
</form>
</body>
原因分析:在浏览器中写相对路径,你应该看你地址栏中的地址然后再写相对
我当前位置是
http://localhost:8080/Demo2_war_exploded/ServletToMerryPage
目标位置是
http://localhost:8080/Demo2_war_exploded/ServleRegisterCard
所以两个资源是同级的
我们可以写成
./ServleRegisterCard
或者
ServleRegisterCard
两个都表示在当前目录下找ServleRegisterCard