【问题标题】:Cannot acess a JSP page using Spring Boot无法使用 Spring Boot 访问 JSP 页面
【发布时间】:2017-07-17 15:36:31
【问题描述】:

我想在Spring Boot (1.5.4) 中为jsp 页面添加映射。首先,我首先在IntelliJ 中创建项目。然后我在pom.xml 中添加了一些包。现在我在这个文件中有以下依赖项:

  • spring-boot-starter-thymeleaf
  • spring-boot-starter-web
  • tomcat-embed-jasper
  • spring-boot-devtools
  • spring-boot-starter-test
  • jstl

接下来,我创建了一个类来为/login 进行映射。

@Controller
public class LoginController
{
    @RequestMapping("/login")
    public String login()
    {
        return "login";
    }
}

我在src/main/webapp/web-inf/jsp的位置创建了login.jsp文件。

最后,我在application.properties中添加了以下内容:

spring.mvc.view.prefix = /WEB-INF/jsp/
spring.mvc.view.suffix = .jsp

不幸的是,当我尝试访问 localhost/login 时,我得到了 Whitelabel Error Page 页面。 我错过了什么配置?

【问题讨论】:

  • 您的日志在 IntelliJ 控制台中的内容是什么?可能将 Thymeleaf 添加为依赖项会使事情变得复杂,因为它会在 src/main/resources/templates 文件夹中搜索模板。试着把你的 .jsp 放在那里,但我只是猜测。
  • 哦,你的WEB-INF文件夹必须大写,web-inf不行!
  • 不幸的是,两者都不起作用。
  • 日志中一定有一些异常可以作为问题的提示。
  • 你用的是什么包装?也许你用过 jar,但战争会更好。

标签: java spring-boot intellij-idea


【解决方案1】:

我今天遇到了同样的问题,并在谷歌搜索解决方案时发现了您的问题。

这是一个常见的 IntelliJ 问题,所以,我会告诉你,我为使应用程序工作所做的工作(希望它会有所帮助)。

首先,尝试去http://localhost:8080/login(你提到没有端口号的localhost)。 如果这没有帮助,请尝试以下步骤:

  1. 将您的包名称更改为与属性文件中相同的大小写(WEB-INF 而不是小写)。
  2. 转到项目结构(在 Windows/Linux 上为 CTRL+ALT+SHIFT+S)-> 模块 -> 找到具有您的项目名称的模块 -> 展开它 -> Web -> Web 资源目录:“Web 资源目录” - 应该是你的 webapp 文件夹的路径(例如,在我的 Linux 机器上它是 /home/user/Documents/Java/Projects/myproject/src/main/webapp ),“相对于部署根目录的路径” - “/” (不带引号)-> 应用。
  3. 返回与您的项目同名的模块,而不是 Web,选择 Spring -> 检查您的主类是否应在此处提及两次,您的属性文件是否应提及一次(如果没有,请通过“+”按钮添加它们)。
  4. 单击选择运行/调试配置(运行按钮附近带有主类名称的块)-> 编辑配置...-> 代码覆盖选项卡-> 记录覆盖数据的包和类:添加包(绿色加小包图标按钮)-> 键入您的类路径 +“.”(不带引号)(例如,com.example.)-> 处于活动状态并且应选中包含/排除复选框 -> 确定。
  5. 打开 IntelliJ 终端,输入“mvn clean install”(不带引号) -> ENTER -> 等到该过程完成 -> 你应该会看到如下消息:

    [信息] 构建成功 [信息] ------------------------------------------------------------ --------------- [INFO] 总时间:9.339 秒 [INFO] 完成于:2018-03-03T00:46:58+02:00 [INFO] 最终内存:36M/273M [信息]

  6. 转到浏览器 -> http://localhost:8080/login -> 你的 login.jsp 页面应该会出现(如果运气不好,请尝试在 Windows/Linux 上使用 CTRL+F5 来刷新网页现金)。

希望这对你有帮助,因为它对我有用。

玩得开心! =)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    • 2016-06-28
    相关资源
    最近更新 更多