zoukankan      html  css  js  c++  java
  • SpringBoot访问不了JSP但却能进入后台

    博主在使用sring-boot跳转HTML页面后,由于好奇心就想跳转到JSP页面,就在网上搜相关信息,结果不是跳转500错误就是下载JSP文件。各种坑啊,在博主跳了N多坑后,终于跳转JSP页面成功。故写此文章便于使用到的小伙伴不再进坑。

    1、新建spring-boot项目  目录结构如下

    2、新建TestController.java文件,内容如下

    package com.example.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class TestController {
        @RequestMapping("/index")
        public String index(){
            return "index";
        }
    }

    3、新建webapp文件夹,与resources同级。

    4、新建JSP页面,此时发现New里面没有JSP页面。需要设置一下才会出现哟。

    5、点击File->Project Structure...

    6、点击Modules->绿色加号->Web

    7、双击此处

    8、选择刚刚新建的webapp,点击OK,继续OK。

    9、此时webapp上有个蓝色圆点表示设置成功。

    10、在webapp上单击右键New,此时出现JSP文件。

    11、新建index.jsp

    12、index.jsp内容

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h1 style="color: red">Hello World</h1>
    </body>
    </html>

    13、新建MyWebAppConfigurer类

    14、MyWebAppConfigurer内容

    package com.example.controller;
    
    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 MyWebAppConfigurer extends WebMvcConfigurerAdapter {
    
        @Bean
        public InternalResourceViewResolver viewResolver() {
            InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
            viewResolver.setPrefix("/");
            viewResolver.setSuffix(".jsp");
            viewResolver.setViewClass(JstlView.class);
            return viewResolver;
        }
    
    }
    

    15、在pom.xml中加入依赖JAR包

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

    16、启动Application,访问127.0.0.1:8080/index

    17、跳转完成。

    以上就是spring-boot跳转JSP页面的过程,下面说说跳转遇到的坑。

    一、缺少依赖JAR包

    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>jstl</artifactId>
    </dependency>

    跳转失败

    提示还算明确,缺少jstl标签

    二、使用provided版本JSP解析器JAR包,

    <dependency>
       <groupId>org.apache.tomcat.embed</groupId>
       <artifactId>tomcat-embed-jasper</artifactId>
       <scope>provided</scope>
    </dependency>

    下载JSP文件

    改为

    <dependency>
       <groupId>org.apache.tomcat.embed</groupId>
       <artifactId>tomcat-embed-jasper</artifactId>
       <version>7.0.59</version>
    </dependency>

    问题解决,至于为什么provided版本的不行,感兴趣的小伙伴可以深究下,留言给我。

  • 相关阅读:
    AtCoder Regular Contest 086 E
    bzoj3192: [JLOI2013]删除物品(树状数组)
    bzoj5118: Fib数列2(费马小定理+矩阵快速幂)
    bzoj2314: 士兵的放置(树形DP)
    bzoj1907: 树的路径覆盖(树形DP)
    最小割 总结&&做题记录
    最大流 总结&&做题记录
    网络流24题之太空飞行计划
    网络流24题之负载平衡问题
    网络流24题之飞行员配对方案
  • 原文地址:https://www.cnblogs.com/qianzf/p/10838829.html
Copyright © 2011-2022 走看看