• 整合Freemarker视图层和整合jsp视图层和全局捕获异常


    SpringBoot静态资源访问

    1.静态资源:访问 js / css /图片,传统web工程,webapps

    springboot 要求:静态资源存放在resource目录下(可以自定义文件存放)

    2.整合Freemarker视图层

    使用Freemarker模板引擎渲染web视图

    pom文件引入

              <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-freemarker</artifactId>
             </dependency>

     3.创建SpringBoot整合jsp,一定要为war类型

    不要把jsp页面存放在resource目录下    ,可能产生被别人访问到,jsp不能被别人访问

             <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </dependency>
            <!-- springboot 外部tomcat支持 -->
            <dependency>
                <groupId>org.apache.tomcat.embed</groupId>
                <artifactId>tomcat-embed-jasper</artifactId>
                <scope>test</scope>
            </dependency>

    4.SpringBoot整合全局捕获异常

    相当于整个web请求项目全局捕获异常  ,错误记得存放在日志中

    使用Aop技术,采用异常通知

    //全局捕获异常案例
    //@ExceptionHandler--拦截错误
    //1.捕获返回json格式
    //@ResponseBody--返回json格式
    //@modeAndView--返回视图页面
    //2.捕获返回页面

    应用场景:

     //如果每个方法都可能会发生异常,每个方法都加上try不好  采用全局捕获异常
        @RequestMapping("/hello")
        public String hello(int i) {
           try {
               int j=1/i; 
           }catch (Exception e) {
            return "系统错误";
        }
           
           return "success";
          
       }
    package com.example.demo.controller.error;
    
    
    import java.util.HashMap;
    import java.util.Map;
    
    import org.springframework.web.bind.annotation.ControllerAdvice;
    import org.springframework.web.bind.annotation.ExceptionHandler;
    import org.springframework.web.bind.annotation.ResponseBody;
    
    @ControllerAdvice(basePackages="com.example.demo.controller")
    public class ErrorHandler {
      @ExceptionHandler(RuntimeException.class)
      @ResponseBody//返回json格式
      public Map<String, Object> errorResult(){
          Map<String, Object> error=new HashMap<String, Object>();
          error.put("errorcode", "500");
          error.put("errormsg", "全局捕获异常系统错误");
          return error;
         
      }
    }
  • 相关阅读:
    🍖流程控制之if判断
    🍖Python开发入门之变量
    🍖Python入门之基本数据类型
    sql事务和存储过程 【转】
    《设计模式基于C#的工程化实现及扩展》 Security Design Pattern 系列 4 角色模式(Role Pattern) 【转】
    C#中ToString格式大全 【转】
    事务日志 (SQL Server)【转】
    批处理启动、停止SQL服务 【转】
    关于HttpContext.Current.Request获取值 【转】
    C#中HashTable的用法 【转】
  • 原文地址:https://www.cnblogs.com/tanlei-sxs/p/9624426.html
Copyright © 2020-2023  润新知