spring-boot入门(三)前后端分离使用HTML视图
来源:互联网 发布:unity3d rpg 编辑:程序博客网 时间:2024/05/15 23:49
spring-boot入门(三)前后端分离使用HTML作为展示视图
前后端分离能使项目整体开发效率提高,后端无需再像写jsp一样将原本的html改写为jsp,加入jstl表达式或者一些java代码,这对于前端或者后端来说都是一件痛苦的事情。要做到真正的前后端分离,后端只需提供相应的restful接口返回前端请求的数据,同时前后端应用也可以完全分开。
这里作为例子展示,将html模板文件与后端工程置于同一工程里面。
1.搭建基本框架
- 引入spring boot相关依赖
- 配置视图前后缀
- 编写控制层
- 启动主类
这些东西在前面都已经说过,不再过多阐述,唯一需要注意的是,html作为静态资源需放在resources/static目录下。
控制层,返回视图到index.html
@RestControllerpublic class IndexController { @RequestMapping("/") public ModelAndView index() { return new ModelAndView("index"); }}
html模板代码index.html,文件位于/resources/static目录下
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>-----hello jasonLin!------</body></html>
资源访问路径配置:
#MVCspring.mvc.view.prefix=/spring.mvc.view.suffix=.html
pom.xml只需一个依赖即可
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency>
工程结构如下,红线划掉的可以忽略:
2.打包运行
注意要想打包成一个可以执行的jar文件,需加入spring boot的一个插件
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin>
用压缩软件打开jar包可以看到资源文件已经被打包到jar包中。
进入jar包所在目录,运行 java -jar命令启动应用:
可以看到工程已经成功启动,端口号8089。访问http://localhost:8089/
到此已经能访问我们的html页面。
finally:
- 将html前端的静态资源文件放于后端工程中不是一个好的选择,但是能够快速开发一个web项目。
- /resources/static静态资源的默认请求路径为/
- 使用内嵌的容器,避免服务器端繁琐的配置,直接运行java -jar就能运行是不是很easy
3.更改静态资源默认的访问路径
上面说到/resources/static静态资源的默认请求路径为/ 。假如我的静态资源位于/resources/static/dist目录下,但是我不想将请求改为/dist(这里要注意一下html中引用其它资源的相对路径如果是./xxx 在本地更改真个文件加的路径引用的资源文件是能够正常定位,但是在web容器中./xxx需改为/dist/xxx ,这里涉及到web根路径和本地文件路径的问题)可以在application.properties加如下配置:
spring.resources.static-locations=classpath:/static/dist/
这样当我们访问/ 时实际定位的资源文件位置是/resources/static/dist 这样就避免了当更改资源文件的位置时需要更改html中的全部引用。
controller:
@RestControllerpublic class IndexController { @RequestMapping("/") public ModelAndView index() { return new ModelAndView("index"); } @RequestMapping("/homeAction") public ModelAndView home() { return new ModelAndView("home"); }}
resource:
application.properties:
html:
打包运行,访问http://localhost:8089/homeAction
到这里一个能访问静态模板资源文件的应用雏形已经具备,一个web项目不仅仅只是视图的访问,还设计到数据库链接、权限过滤、异常处理等等,接下来将讲解使用spring boot与数据库的交互。
以上完整代码放于:https://github.com/Json-Lin/spring-boot-practice/tree/master/spring-boot-paractice-html
- spring-boot入门(三)前后端分离使用HTML视图
- 前后端分离(三)
- 前后端分离(三)
- spring boot 前后端分离,解决ajax跨域问题
- 前后端分离的探索(三)
- spring vue 前后端分离
- 前后端分离的思考与实践(三)
- 前后端分离的思考与实践(三)
- 前后端分离的思考与实践(三)
- 前后端分离的思考与实践(三)
- Java项目前后端分离-springmvc配置html视图解析器
- Spring Boot 菜鸟教程 9 swagger-前后端分离后的标准
- Spring boot 集成 Kaptcha 实现前后端分离验证码功能
- 前后端分离(一)
- 前后端分离(二)
- spring和angularJS实现前后端分离
- spring-websocket下的前后端分离
- spring-boot入门(二)使用JSP视图
- 关于react绑定事件中的this
- pwnable.kr 之simplelogin
- 身份证扫描的功能sdk
- (转)深入浅出Mybatis---强大的动态SQL
- Linux下安装、配置、启动Apache
- spring-boot入门(三)前后端分离使用HTML视图
- 三公微信棋牌源码搭建
- 使用myeclipse搭建带maven的ava web项目(Spring+SpringMVC+Mybatis)
- 笔记整理之——转发和重定向
- mac系统下git使用笔记,仓库选用github
- MyEclipse中SVN分支合并到主干
- Android函数响应式编程——必学的RxJava创建操作符create、just、from、interval、range、repeat
- Qt事件处理(四)——重写event()函数
- 广东工业大学2017新生赛(决赛)-网络同步赛 1008 最小公倍数【暴力枚举】