SpringBoot开发Web应用兼容JSP(开发工具idea)
首先创建一个web应用,打包方式要选用war,选择jar会导致编译好的jsp不能使用。
这个时候选择web组件,其他的就暂时先不选了,后续自己操作再添加需要的jar包依赖,
创建完项目在pom.xml中增加依赖。
<!-- 支持jsp页面-start --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <!--<scope>provided</scope>--> </dependency> <!-- 支持jsp页面-end -->
只引入这两个就够用了 spring-boot-starter-web的引用是idea帮忙引入的。
然后在配置文件中增加jsp页面的支持,在application.yml中或者application.properties增加配置,这两个有一个就可以,如果都存在的话,application.properties的优先级会比较高,默认读取properties文件,下面直接上配置截图。
然后是webapp包的结构:
下面是login.jsp代码:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body>
<h1>恭喜您!注册成功,用户名: ${map.username },密码:${map.password }</h1></body></html>
下面是controller代码:
@Controller public class JspController {
@RequestMapping("/logindev") public ModelAndView testjsplogin() { Map<String, Object> map = new HashMap<>(); map.put("username", "SpringBoot"); map.put("password", UUID.randomUUID().toString().replace("-","")); ModelAndView modelAndView = new ModelAndView("/login"); modelAndView.addObject("map", map); return modelAndView; }
}
代码部分就写完了,现在说一下启动方式,不能使用自动的启动方式,要用双击spring-boot:run的方式来启动
试下访问地址: http://127.0.0.1:8080/logindev
页面显示如下: