指定web默认首页,导致访问路径的问题

今天写了一个登陆页面,登陆成功跳转时,url中的路径不对
这是目录结构
|-web
|---login
|-----login.jsp
|---success
|-----success.jsp

这是web.xml中的默认首页设置

  <welcome-file-list>
    <welcome-file>/login/login.jsp</welcome-file>
  </welcome-file-list>

这是跳转部分的java代码

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String uname=req.getParameter("uname");
        String upassword=req.getParameter("upassword");
        if(uname.equals("a")&&upassword.equals("1")){
            resp.sendRedirect("../success/success.jsp");
        }
    }

将相对路径改为这样就可以成功跳转
success/success.jsp
观察首页的url
http://localhost:8080/login/
恍然大悟,虽然显示首页,但是一直在根目录下,自己把自己绕晕了。

得出结论:

指定web项目首页后,无论这个jsp在什么位置,其相对位置都是项目根目录(通过url判断),因此跳转页面时的相对路径就是根目录,而不是jsp实际所在位置
posted @ 2019-12-15 18:30  GuDongYu  阅读(420)  评论(0编辑  收藏  举报