个人随笔
目录
三、SpringBoot2.0基本Web开发
2020-09-11 22:30:18

环境

  1. jdk1.8_73
  2. apache-maven-3.5.3
  3. springboot 2.0.0.RELEASE
  4. eclipse Oxygen.3a Release (4.7.3a)

一、静态资源访问

静态资源,在这里指的是图片、样式、js脚本等等资源

springboot访问静态资源的几种方式

  1. src/main/resources/目录下创建static文件夹
  2. src/main/resources/目录下创建resources文件夹
  3. src/main/resources/目录下创建public文件夹
  4. src/main/resources/目录下创建META-INF/resources文件夹

我习惯是在src/main/resources/目录下创建static文件夹,然后再static文件下建三个文件image、js、css,如下图所示

如下实例


只需要在浏览器输入http://localhost:8080/a.GIF就可以访问静态资源啦
顺便说一句,上图的application.properties是SpringBoot默认的配置文件,当然也可以是application.yml,后者比较节省空间,log4j.properties是日志插件log4j的配置文件,这两者跟上面的静态资源访问没有关系,只不过截图截到了。

二、全局捕获异常

SpringBoot提供了一个好好用的功能,就是对所有web访问异常的捕获,只要某一个请求出错了,将会被捕获,返回友好提示,代码很简单如下

  1. package cn.forever;
  2. import java.util.HashMap;
  3. import java.util.Map;
  4. import org.springframework.web.bind.annotation.ControllerAdvice;
  5. import org.springframework.web.bind.annotation.ExceptionHandler;
  6. import org.springframework.web.bind.annotation.ResponseBody;
  7. /**
  8. * 全局捕获异常
  9. * @author forever
  10. *
  11. */
  12. @ControllerAdvice
  13. public class GlobalExceptionHandler {
  14. //捕获运行期异常
  15. @ExceptionHandler(RuntimeException.class)
  16. @ResponseBody //返回json串
  17. public Map<String,Object> exception(){
  18. Map<String,Object> map = new HashMap<String,Object>();
  19. map.put("errorcode", "0001");
  20. map.put("errorinfo", "系统异常");
  21. return map;
  22. }
  23. }

主要是用两个注解,下面是两个注解的说明
@ControllerAdvice注解使用@Component注解,可以被扫包扫到,内部使用@ExceptionHandler@InitBinder@ModelAttribute注解的方法应用到所有的 @RequestMapping注解的方法。

注解 作用
@ControllerAdvice 异常集中处理,更好的使业务逻辑与异常处理剥离开,该注解将作用在所有注解了@RequestMapping的控制器的方法上。约定了几种可行的返回值,如果是直接返回 model 类的话,需要使用 @ResponseBody 进行 json 转换,若返回的是String,表示跳转到某个页面
@ExceptionHandler 表明这个方法拦截的异常类型 ,统一处理某一类异常,从而能够减少代码重复率和复杂度

三、Web页面渲染

之前的例子都是用@ResponseController注解返回的内容都是json,在微服务接口开发过程中一般都是用该注解,因为该注解相当于@Controller +@ResponseBody 的集合体,但是有时候我们是需要返回到页面的,此时就只会用@Controller注解即可。

SpringBoot的模板引擎

在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。

  • Thymeleaf
  • FreeMarker
  • Velocity
  • Groovy
  • Mustache
  • JSP

Spring Boot建议使用这些模板引擎,避免使用JSP,若一定要使用JSP将无法实现Spring Boot的多种特性,也支持jsp模板引擎,当你使用上述模板引擎中的任何一个,它们默认的模板配置路径为:src/main/resources/templates。当然也可以修改这个路径,具体如何修改,可在后续各模板引擎的配置属性中查询并修改。这里我推荐FreeMarker,比较方便和轻量化。具体的使用方法见下一篇博文。

结语

这篇博文主要介绍了SpringBoot在Web开发的一些基本使用,静态资源的访问、全局异常的捕获、以及简单的介绍了渲染HTML的一些模板引擎,本人习惯上使用Freemarker,其实都差不多的,JSP的话就需要多配置点内容。

 291

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2