为了账号安全,请及时绑定邮箱和手机立即绑定

返回 JSP 视图名称时使我的 Spring Boot 索引页面和控制器映射工作的问题

返回 JSP 视图名称时使我的 Spring Boot 索引页面和控制器映射工作的问题

饮歌长啸 2021-11-24 15:49:09
我正在使用 Spring Boot 和 JSP 来学习 Spring Security 中的一些快速教程,但我的控制器映射并index.jsp不起作用。似乎找不到JSP页面。这是我的配置和项目结构:springsecurity-for-reactive-apps [boot] - Project folder  - src/main/java    - com.springsecurity      - SpringsecurityForReactiveAppsApplication.java    - com.springsecurity.config      - ApplicationConfig.java       - SecurityWebApplicationInitializer.java      - SpringMvcWebApplicationInitializer.java       - SpringSecurityConfig.java       - WebApplicationConfig.java   - src    - main      - webapp        - WEB-INF          - view             - home.jsp          - index.jspcom.springsecurity包包含@SpringBootApplicationpublic class SpringsecurityForReactiveAppsApplication {    public static void main(String[] args) {        SpringApplication.run(SpringsecurityForReactiveAppsApplication.class, args);    }}com.springsecurity.config 包包含以下类@Configuration    public class ApplicationConfig {         @Value("${spring.datasource.driver-class-name}")          private String DB_DRIVER;              @Value("${spring.datasource.password}")              private String DB_PASSWORD;              @Value("${spring.datasource.url}")              private String DB_URL;              @Value("${spring.datasource.username}")              private String DB_USERNAME;            @Autowired            private Environment env;            @Bean            public DataSource getDataSource() {                DriverManagerDataSource dataSource = new DriverManagerDataSource();                dataSource.setDriverClassName(DB_DRIVER);                dataSource.setUrl(DB_URL);                dataSource.setUsername(DB_USERNAME);                dataSource.setPassword(DB_PASSWORD);                return dataSource;            }        }
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

在你的 pom.xml 中删除


<dependency>

           <groupId>javax.servlet.jsp</groupId>

           <artifactId>javax.servlet.jsp-api</artifactId>

           <version>2.3.1</version>

           <scope>provided</scope>

        </dependency>

        <dependency>

           <groupId>javax.servlet.jsp.jstl</groupId>

           <artifactId>javax.servlet.jsp.jstl-api</artifactId>

           <version>1.2.1</version>

        </dependency>

并添加这些依赖项


<dependency>

   <groupId>org.apache.tomcat.embed</groupId>

   <artifactId>tomcat-embed-jasper</artifactId>

</dependency>

<dependency>

  <groupId>javax.servlet</groupId>

  <artifactId>jstl</artifactId>

</dependency>

据我所知,tomcat-embed-jasper需要在启动时呈现jsp页面。


查看完整回答
反对 回复 2021-11-24
?
慕森王

TA贡献1777条经验 获得超3个赞

1.viewResolver.setPrefix("/WEB-INF/views/"); 视图->视图


2.spring可以实现ErrorController


@Controller

public class ViewController implements ErrorController {

    @GetMapping("/home")

    public String home(Model model) {

     System.out.println("___________home()___________________");

        return "home";

    }


    @GetMapping("/error")

    public String error(Model model) {

     System.out.println("___________ERROR-<<error___________________");

        return "home";

    }


    @Override

    public String getErrorPath() {

        return "/error";

    }

}


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 148 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信