使用controller进行页面跳转时,页面路径不对,导致404。

这个是跳转时的问题路径。正确的路径应该是没有 ** /user** 的。

img

不用controller跳转可以正常打开这个页面

img


进行跳转的页面就是一个form做的登录页面的测试。

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>测试</title>
</head>

<body>
<form action="user/login" method="post">
    账号:<input type="text" name="loginUsername">
    密码:<input type="password" name="loginPassword">
    <input type="submit" value="登录"><input type="reset" value="重置">
</form>
</body>
</html>

controller层的代码:
其中的0和1是页面名。

package com.isoft.controller;

import com.isoft.pojo.User;
import com.isoft.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;


@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    @Qualifier("UserServiceImpl")
    private UserService userService;

    @RequestMapping("/login")
    public String Login(User user){
        System.out.println(user);
        User u1 = userService.queryUserById(user.getLoginUsername());
        //System.out.println(u1);
        String x,y;
        x= u1.getLoginPassword();
        y= user.getLoginPassword();
        //System.out.println(x);
        //System.out.println(y);
        if (x.equals(y))
        { 
            //System.out.println("开始跳转");
            return "1";}
        else return "0";
    }
    
}

我搜到的答案是静态资源的问题,但是不知道怎么改。

return 返回页面路径的地方改一下,因为会参考当前路径。

@RequestMapping("/login")
    public String Login(User user){
        System.out.println(user);
        User u1 = userService.queryUserById(user.getLoginUsername());
        //System.out.println(u1);
        String x,y;
        x= u1.getLoginPassword();
        y= user.getLoginPassword();
        //System.out.println(x);
        //System.out.println(y);
        if (x.equals(y))
        { 
            //System.out.println("开始跳转");
            return "/1";}
        else return "/0";
    }

加上前缀,拼接为绝对路径试试:

${pageContext.request.contextPath}/user/login