spring boot之集成页面
来源:互联网 发布:搞笑视频软件下载 编辑:程序博客网 时间:2024/05/18 11:47
上篇博客把正常spring后台应用都集成进来,搭建成功,但是还没有页面应用啊,这儿有个思路,一是可以自己搞个web系统,把spring boot项目当做纯粹的后台提供服务的java项目,web系统通过http client的方式来调用;二是直接就在spring boot的基础上进行开发(新颖)。
目前Spring官方已经不推荐使用JSP来开发WEB了,而是推荐使用如下几种模板引擎来开发:
- Thymeleaf(Spring官方推荐)
- FreeMarker
- Velocity
- Groovy
- Mustache
目前业界使用最广泛的还是FreeMaker和Velocity。
依赖包为:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>
这儿我们先成功的搭建一套再说,我们先用freemaker搭建一下:
在src/main/resources下新建一个templates的文件夹(spring boot默认存放模板的路径);
在templates下新建hello.ftl(注意后缀),内容如下:
<html><head></head><body> Welcome <p>当前时间为:${vv}</p></body></html>
Controller为:
//注意不是restController@Controller//@RequestMapping("/*")public class testController {//在application.properties中定义了vv=a @Value("${vv}") private String vv; @RequestMapping(value="/hello") //注意这儿没有@responseBody public String welcome(ModelMap map){ Date date = new Date(); //获取配置文件中的信息vv System.out.println(vv); //传到template模板中(会把模板中能找到的所有的ftl文件中的名称都替换掉) map.addAttribute("vv", date.toString()); //返回页面hello.ftl return "hello"; }}
很简单吧,这么快就搭建完成了;主要还是spring boot把这种定义进行规范了,我们只要按照模板规定的做法进行使用就很快;
现在页面有了,当然得有js和css以及图片等静态资源啊,哪有没渲染的空页面玩的,别着急,spring boot也规范好了。
Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则(/**对应的,也就是说访问时在根目录下:http://localhost:2600/就访问到这级目录了):
/static
/public
/resources
/META-INF/resources
或者可以更改默认路径:http://www.cnblogs.com/magicalSam/p/7189476.html
举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问http://localhost:8080/D.jpg。如能显示图片,配置成功。不过这种理论上是正确的,但我并没有测试成功,在/static下建了个images文件夹,放个d.jpg文件,访问:http://localhost:8080/images/D.jpg
一般情况下我们把页面放在templates中,静态资源放在static中就OK了,页面引用这些静态资源时,注意相对路径,因为/static为/*,所以不需要引用到static那级;
像上面的目录机构,/images/d.jpg就可以了
还有另外一种引用静态文件的方法,使用webjars
WebJars是一个很神奇的东西,可以让大家以jar包的形式来使用前端的各种框架、组件。
什么是WebJars
什么是WebJars?WebJars是将客户端(浏览器)资源(JavaScript,Css等)打成jar包文件,以对资源进行统一依赖管理。WebJars的jar包部署在Maven中央仓库上。
为什么使用
我们在开发Java web项目的时候会使用像Maven,Gradle等构建工具以实现对jar包版本依赖管理,以及项目的自动化管理,但是对于JavaScript,Css等前端资源包,我们只能采用拷贝到webapp下的方式,这样做就无法对这些资源进行依赖管理。那么WebJars就提供给我们这些前端资源的jar包形势,我们就可以进行依赖管理。
如何使用
1、 WebJars主官网 查找对于的组件,比如Vuejs
<dependency> <groupId>org.webjars.bower</groupId> <artifactId>vue</artifactId> <version>1.0.21</version></dependency>
2、页面引入
<link th:href="@{/webjars/bootstrap/3.3.6/dist/css/bootstrap.css}" rel="stylesheet"></link>
就可以正常使用了!
这样大家就可以开始绘制你们的页面了;
写几个另外的那个框架的案例Thymeleaf:
包含模板配置的参数:
http://www.jianshu.com/p/23bea93e34c7
博客里有一些新奇的玩意儿啊:
http://blog.csdn.net/u012702547/article/details/53784992
- spring boot之集成页面
- spring boot之集成数据库
- spring boot之集成kafka
- Java Web开发之集成Spring Boot
- spring boot集成WebSocket实时输出日志到web页面
- Spring boot集成Swagger2,解决页面不显示的问题
- Spring Boot集成My Batis之加载spring.xml文件
- Spring Boot集成My Batis之加载spring.xml文件
- Spring Boot 集成MyBatis
- Spring Boot 集成Swagger
- Spring Boot 集成Mybatis
- Spring Boot 集成Swagger
- spring-boot集成mybatis
- Spring Boot 集成Swagger
- Spring Boot 集成Swagger2
- Spring Boot 集成 log4j2
- spring-boot集成shiro
- spring-boot集成Quartz
- photoview拖拽和缩放
- Python学习(5)
- 技术路线的核心竞争力
- 重复值判断
- 递增数列最长(dp)
- spring boot之集成页面
- 模拟登陆豆瓣,发帖和回复code
- 使用Filter处理web中的表单提交过程中的中文问题
- Java 线程 50个Java多线程面试题
- FCC----------- Binary Agents
- pyCharm第三方库安装
- json与bean,beanlist互转
- android和js交互数据格式
- HDU3849[By Recognizing These Guys, We Find Social Networks Useful ] tarjan求无向图的桥