当前位置: 首页 > 知识库问答 >
问题:

为什么在Spring Boot中Jsp文件没有与控制器返回视图映射

宫瀚
2023-03-14
@Controller
public class loginController {
    @RequestMapping("/login")
    public String login(){
        return "login";
    }
}

我在应用程序属性文件中设置前缀和后缀如下所示。

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp
logging.level.org.springframework.web=DEBUG

就像我这样设置依赖关系一样。

 <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
    </dependency>



    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

我的项目结构是这样的。

如果我运行程序并点击localhost:8080/login,我会得到以下白色标签错误。有人能告诉我为什么会发生这种情况和解决办法吗

白标错误页

该应用程序没有针对/error的显式映射,因此您将其视为一种后退。

共有1个答案

禹昊穹
2023-03-14

将您的main类放在com.example下!并尝试替换

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

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

而且这个也是需要的

<dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
   </dependency>
 类似资料:
  • 我不知道该用什么。我有两页——简介。jsp(1)和booksList.jsp(2)。对于每个页面,我都创建了一个控制器类。第一页有打开第二页的按钮: 第一个问题是:我不确定这个按钮的正确性。它工作得很好,但是按下这个按钮后我有问号。 第二个问题是:当我按下该按钮时,调用带有下一个注释的方法(第二页的控制器): 我应该用这种方法返回什么?换句话说,我怎么能从第一页跳到第二页? < li> < li>

  • 我正在使用Spring形式。我只需要得到Staemap作为响应,但我得到的是整个jsp页面作为响应。

  • 我试图从xml配置转移到java配置。应用程序启动时不会出现任何错误,但是当内容不同时,jsp返回$END$。 我相信我在某个地方犯了一些愚蠢的错误,没有抛出异常 注意:使用xml配置时,一切正常 配置类 初始值设定项类 控制器

  • 直截了当的问题是,似乎无法在用户完成表单后指向的视图中显示我的viewBag值。 请指教...谢谢 我的索引操作结果简单返回模型数据。 my Get Edit”action result,只是使用相同的模型数据作为索引。 My Post"Edit"ActionResult,将新值(如果有)分配给模型并重定向到Index页面,但Index页面不显示ViewBag值?? 在我的索引视图中。。。

  • 我正在使用Spring boot来渲染页面。我也使用了叶子。但是我在从浏览器调用它时得到了下面提供的异常。 我已经编写了视图解析器类,当我使用为此。 和我在应用程序中提到的一样。yml也是。应用yml是 这是我的Controller类,负责渲染index.jspMainController.class

  • 我有一个简单的docker化Spring靴应用程序。当我在本地运行应用程序(没有docker)一切运行正常。控件返回jsp视图。 但当我使用容器运行应用程序时,它会返回一个包含html代码的文件。我可以尝试强制控制器返回html响应而不是八位字节流,但这不是一个聪明的解决方案。 我意识到问题在jasper、tomcat和docker通信之间,但我找不到它,于是我尝试了一系列解决方案。 任何帮助都很