Springboot 从controller跳转至jsp页面(There was an unexpected error (type=Not Found, status=404)解决办法)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Wyx_wx/article/details/88595770

跳转 JSP 所需要的 jar 包:

<dependency>
     <groupId>javax.servlet</groupId>
     <artifactId>jstl</artifactId>
</dependency>
<dependency>
     <groupId>org.apache.tomcat.embed</groupId>
     <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

由于最近写的都是纯后台项目,与前端用 JSON 进行数据交互,所以所有的 Controller 都是直接用 @RestController 进行注解,但是该注解是无法完成从 Controller 到 JSP 的映射的(踩坑 * 1),必须要用 @Controller 注解

WebSocketController:

package com.demo.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

//@RestController
@Controller
public class WebSocketController {

    @GetMapping(value = "/transform")
    public String webSocket(){
        return "index";
    }

}

index.jsp:

<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

准备好要跳转的页面之后,开始编写映射配置文件:

MyConfigurer:

package com.demo.conf;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

@Configuration
public class MyConfigurer extends WebMvcConfigurerAdapter {

    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/");
        viewResolver.setSuffix(".jsp");
        viewResolver.setViewClass(JstlView.class);
        return viewResolver;
    }

}

注:

前提条件是 java、sources、webapp三个文件夹在同一目录下

此时,启动项目,根据 url 访问 controller 方法,成功跳转

猜你喜欢

转载自blog.csdn.net/Wyx_wx/article/details/88595770