Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring MVC-can';在重定向后不加载视图_Java_Spring_Spring Mvc_Controller - Fatal编程技术网

Java Spring MVC-can';在重定向后不加载视图

Java Spring MVC-can';在重定向后不加载视图,java,spring,spring-mvc,controller,Java,Spring,Spring Mvc,Controller,我有一个具有两种方法的简单控制器类: @Controller public class RegistrationController { private RegistrationService registrationService; @Autowired public RegistrationController(RegistrationService registrationService){ this.registrationService =

我有一个具有两种方法的简单控制器类:

@Controller
public class RegistrationController {

    private RegistrationService registrationService;

    @Autowired
    public RegistrationController(RegistrationService registrationService){
        this.registrationService = registrationService;
    }

    @RequestMapping(value = "/register", method = RequestMethod.POST, consumes = "application/json; charset=UTF-8")
    public String register(@RequestBody Customer customer) {
        registrationService.registerCustomer(customer);
        return "redirect:login";
    }

    @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String login() {
        System.out.println("Login page");
        return "login";
    }
}
Dispatcher servlet视图解析器配置:

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
    <property name="prefix">
        <value>/</value>
    </property>
    <property name="suffix">
        <value>.jsp</value>
    </property>
</bean>

/
.jsp
当我在
/register
上提交一个带有json正文的请求时,它会正确地注册新用户,然后它会正确地重定向到第二个方法(在控制台中,我可以看到“登录页面”),但浏览器中的视图不会更改为
Login.jsp
。当我简单地键入localhost:8080/login时,它会正确地显示
login.jsp
page。我还尝试返回新的ModelAndView(“登录”),但也没有成功。

选项1: 尝试返回“重定向:/login”而不是“redirect:login”


选项2:尝试为重定向提供完整的完整路径,理想情况下,您可以返回重定向:/login,这将重定向到相对于web应用程序根目录的路径-

property name=“prefix”>/这就是页面不重定向的原因。。根据viewResolver,您要求它在/directory中搜索后缀为.jsp的jsp文件。但我猜。jsp文件位于webapps/WEB-INF/jsp这样的文件夹中。不久。。更改前缀目录。不,jsp在/文件夹中,因此为什么localhost:8080/login正确显示login.jsp。您测试过“重定向:/login”??是的。奇怪的是,它进入了登录方法,但没有改变浏览器中的视图。