首先有一个能运行的springboot的项目,你还没有就去看maven创建Spring boot项目2.0(升级版)_weixin_48456383的博客-CSDN博客

如果想要springboot设置前端页面,你需要在pom.xml里加上以下依赖:

<!-- 引入SpringBoot内嵌Tomcat对jsp的解析依赖,不添加这个解析不了jsp -->
        <!-- servlet依赖 -->
        <dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>    
	  </dependency>
	  <dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
	  </dependency>
	  <!-- tomcat的支持-->
	  <dependency>
			 <groupId>org.apache.tomcat.embed</groupId>
			 <artifactId>tomcat-embed-jasper</artifactId>
	  </dependency>     

依赖搞完了,那你想springboot项目怎么知道你把.jsp文件(前端页面)放哪儿呢?所以你要在配置文件application.properties里加上视图解析器:

#配置视图解析器
#告诉springboot你的jsp文件放在哪里
spring.mvc.view.prefix=/
#告诉springboot你的文件长啥样
spring.mvc.view.suffix=.jsp

OK,上面都搞完了。

那你现在要尝试将前后端链接在一起了。我这里简单写一个demo(没有实体类了),在前端输出此时此地的时间。

首先,你得有个控制器吧。在你的springboot中新建一个controllers文件专门用来放controller(控制器),然后你在里面新建一个Mycontroller.java文件,这里控制器的作用就是能把现在的时间传给前端

 然后开始码代码,你直接看注释吧

提前说一下,这里标注控制器的时候用@controller而不要用@Restcontroller

为啥呢:

Mycontroller.java

import java.text.DateFormat;
import java.util.Date;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller // 表示这个类是控制器,不要用Restcontroller
@RequestMapping("/cnm") // 意味着你的路由由/cnm开始
public class Mycontroller {
    @RequestMapping(value="/wc")//意味着你的路由由/cnm/wc开始
    public String test (Model m) {
        m.addAttribute("now",DateFormat.getDateTimeInstance().format(new Date()));
        //这边我也不是很懂,反正就是传个键值对 now:时间,待会前端可以调用now,你就当这是个把后端传到前端的方式吧

        return "test";//视图定向到test.jsp,这里可不是字符串啊!
      }
  
}

然后你在springboot项目中新建一个webapp文件夹,专门用来放jsp文件。

 然后在该文件夹下新建一个test.jsp,注意这里的xxx.jsp取决于你刚刚在controller里的return值

test.jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>我的测试前端页面</title>
</head>
<body>
    ${now}
    <!-- ${now}打印时间,now在controller里面写过,可以去看 -->
    <hr>

</body>
</html>

最后的最后,去命令行 mvn spring-boot:run

然后在你的浏览器访问下你刚刚建的路由:

 成功!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐