springboot整合jsp
在上篇文章中我们学会了通过Maven来创建springboot项目【https://blog.csdn.net/qq_38406670/article/details/104644311】。但是我们发现还是有些不方便,接下来就创建一个便捷的springboot项目。指示图如下:
点击“Create New Project”
最后点击“finish”,就创建好了一个springboot项目,接着就在pom.xml文件中添加jsp所需要的依赖,代码如下:
<!-- 添加jsp & servlet & jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- 解析和编译jsp文件 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
在src/mian下创建存放jsp文件的目录,其中jsp文件就是存放jsp文件的。
创建好webapp目录以后,这样启动服务器访问页面,服务器是找不到页面的,所以需要web服务器中指定页面目录。点击“file->project Structure -> Modules”,再点web,添加指定以下目录。
创建一个控制器HomeController ,用于处理前端请求并作出响应,这里是通过model做出响应的,代码如下:
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/home")
public String toHome(Model model){
model.addAttribute("massage", "hello jsp");
return "/home";
}
}
在webapp/WEB-INF/jsp 目录下创建一个home.jsp,通过 ${...} 接收响应的数据, 代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>hello home</title>
</head>
<body>
${massage}
</body>
</html>
接下来就是在启动类中启动服务,启动类上有一个@SpringbootApplication注解,该注解表明该类就是启动类。注意启动类的目录等级一定要高于homeController的目录等级,这样启动类才能扫描到homeController,就比如启动类src/main/java/com路径下,那么homeController就应该在src/main/java/com/controller路径下;否则的话就要启动类上加上@ComponentScan注解,指明要扫描的类。
成功启动服务以后访问 http://localhost:8002/home 就可以看到成果啦。