当前位置: 首页 > news >正文

城阳网站开发企点qq官网

城阳网站开发,企点qq官网,网站开发建设公司电话,网站没询盘怎么做推广1.全局异常处理 1 异常处理器 基于AOP 用户发起请求, SpringMVC接受请求, SpringMVC加载静态资源问题说明 请求过去了,但没有处理 规则说明:静态资源进入SpringMVC框架之后,没有找到要怎样处理静态资源的方法,所以他们就不解决,也就不显示 解决方法:SpringMVC基于Servlet处理…

1.全局异常处理

         1 异常处理器  基于AOP

            用户发起请求,

           SpringMVC接受请求,

         SpringMVC加载静态资源问题说明 

请求过去了,但没有处理

                规则说明:静态资源进入SpringMVC框架之后,没有找到要怎样处理静态资源的方法,所以他们就不解决,也就不显示

                解决方法:SpringMVC基于Servlet处理器机制,放行静态资源,交给Servlet处理

<!--    5.放行静态资源--><mvc:default-servlet-handler/>
                      2.异常处理器操作

   说明:  使用AOP解决    环绕通知 

     try-catch的位置:  首选Controller层,    因为Dao和Service层抛出后,最终层还是在Controller层处理

基于注解   全局异常处理

@ControllerAdvice  拦截Controllre层异常

@ExceptionHandler({RunTimeException.class})拦截什么类型的异常

Result包装类

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {private Integer code;private String msg;private Object data;public static Result fail(){return new Result(201,"业务调用失败",null);}public static Result success(){return new Result(200,"业务调用成功",null);}public static Result success(Object obj){return new Result(200,"业务调用正确",obj);}}

@ControllerAdvice       springmvc基于aop拦截Controller中的异常信息

@ExceptionHandler 拦截什么异常
    @ExceptionHandler(RuntimeException.class)前后端调用时,异常的JSON串返回

//springmvc基于aop拦截Controller中的异常信息
@ControllerAdvice
public class ExceptionAOP {
//    //拦截什么异常
//    @ExceptionHandler({RuntimeException.class})
//    public String exception(){
//        System.out.println("全局异常处理机制工作");
//        return "error";
//
//    }//前后端调用时,异常的JSON串返回@ExceptionHandler(RuntimeException.class)public Result exception(){return Result.fail();}

2.SpringMVC动态接收Ajax请求

   

        1.搭建前端脚手架工程

     创建项目

    引入axios

     创建Axios请求对象

delete和get请求格式一致

put和post请求格式一致

       发起Ajax请求

      2.搭建后端服务器

       引入jar包  jackson

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.1</version></dependency>

     

       解决跨域问题   

      核心注解: @CrossOrigin

  

3.  接收Ajax请求

原始接收请求实在是太麻烦  ,后面有用注解简化

    /*** 思考:*  1. 前端JS发起请求*  2. 后端服务器java代码实现请求*  3. 前后端交互使用JSON串*  4. 获取用户对象进行返回*/@RequestMapping("/getMsg")public void getMsg(int id,String name,HttpServletResponse response) throws IOException {System.out.println("获取客户端数据:"+id+":"+name);ObjectMapper objectMapper = new ObjectMapper();User user = new User("admin","123456");String json = objectMapper.writeValueAsString(user);response.getWriter().write(json);}

 4.前端返回值

@RequestBody

主要接收Ajax   post请求

作用:将请求体里面的JSON串转化为java对象

注解写在参数当中

注意事项:json串中的属性名称,必须与对象中的属性名称一致

//如何获取请求体中的数据  JSON串 > java对象@PostMapping("/login")public User login(@RequestBody User user) throws IOException {System.out.println(user);user.setUsername("success!!!!");return user;}

@ResponseBody 

        将方法的返回值自动转化为JSON串

       如果该注解标识在类上, 表示当前类中的所有方法 都按照JSON返回.

    /*** SpringMVC 为了简化Ajax调用方式*  1.@RequestBody 将请求体中的json串 转化为Java对象*  2.@ResposeBody 将Java对象转化为JSON串返回*/@RequestMapping("/getMsg2")//@ResponseBodypublic User getMsg2(int id,String name) throws IOException {System.out.println("获取参数:"+id+":"+name);return new User("zhangsan","123456");}
5.统一数据返回值的说明

1.RestController 是ResponseBody和Controller注解的结合注解

当前类中的所有的方法按照JSON串返回

//@ResponseBody   //当前类中的所有方法 都按照JSON串返回
@RestController

前后端调用时,异常的json串返回

2.RestControllerAdvice是@ResponseBody和@ExceptionHandler的结合注解

 全局异常处理机制中的

//springmvc基于aop拦截Controller中的异常信息
@ControllerAdvice
public class ExceptionAOP {
//    //拦截什么异常
//    @ExceptionHandler({RuntimeException.class})
//    public String exception(){
//        System.out.println("全局异常处理机制工作");
//        return "error";
//
//    }//前后端调用时,异常的JSON串返回@ExceptionHandler(RuntimeException.class)public Result exception(){return Result.fail();}

package com.atguigu.controller;import com.atguigu.pojo.User;
import com.atguigu.vo.Result;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;//@Controller
@RequestMapping("/ajax")
//当前的所有的请求支持跨域访问!!!
//@CrossOrigin(value = "指定发起请求的网址是谁!!!")
@CrossOrigin
//@ResponseBody   //当前类中的所有方法 都按照JSON串返回
@RestController
public class AjaxController {/*** 思考:*  1. 前端JS发起请求*  2. 后端服务器java代码实现请求*  3. 前后端交互使用JSON串*  4. 获取用户对象进行返回*/@RequestMapping("/getMsg")public void getMsg(int id,String name,HttpServletResponse response) throws IOException {System.out.println("获取客户端数据:"+id+":"+name);ObjectMapper objectMapper = new ObjectMapper();User user = new User("admin","123456");String json = objectMapper.writeValueAsString(user);response.getWriter().write(json);}/*** SpringMVC 为了简化Ajax调用方式*  1.@RequestBody 将请求体中的json串 转化为Java对象*  2.@ResposeBody 将Java对象转化为JSON串返回*/@RequestMapping("/getMsg2")//@ResponseBodypublic User getMsg2(int id,String name) throws IOException {System.out.println("获取参数:"+id+":"+name);return new User("zhangsan","123456");}//如何获取请求体中的数据  JSON串 > java对象@PostMapping("/login")public User login(@RequestBody User user) throws IOException {System.out.println(user);user.setUsername("success!!!!");return user;}/***          BufferedReader reader = request.getReader();*         String data = null;*         StringBuffer sbf = new StringBuffer();*         while (StringUtils.hasLength(data=reader.readLine())){*             sbf.append(data);*         }*         String json = sbf.toString();*         ObjectMapper objectMapper = new ObjectMapper();*         objectMapper.readValue(json,XXXX.class);*/@GetMapping("/getResult")public Result getResult(){User user = new User("zhangsan","123456");int a = 1/0;return Result.success(user);}
}

          

            


文章转载自:
http://wanjiakickapoo.hwLk.cn
http://wanjiaegomaniacal.hwLk.cn
http://wanjiaretrieval.hwLk.cn
http://wanjiawaveringly.hwLk.cn
http://wanjiadawg.hwLk.cn
http://wanjiajirga.hwLk.cn
http://wanjiagilt.hwLk.cn
http://wanjiajunior.hwLk.cn
http://wanjiaqmc.hwLk.cn
http://wanjiaradiogenic.hwLk.cn
http://wanjiadisembarrassment.hwLk.cn
http://wanjiaantiarrhythmic.hwLk.cn
http://wanjiametamer.hwLk.cn
http://wanjiacybele.hwLk.cn
http://wanjiaentirely.hwLk.cn
http://wanjiafiremen.hwLk.cn
http://wanjiamisalliance.hwLk.cn
http://wanjiadeepie.hwLk.cn
http://wanjiaunburden.hwLk.cn
http://wanjiaanalysissitus.hwLk.cn
http://wanjiaepiscopacy.hwLk.cn
http://wanjiaarachis.hwLk.cn
http://wanjiamarzipan.hwLk.cn
http://wanjiaantiphonal.hwLk.cn
http://wanjiaxiphias.hwLk.cn
http://wanjialandlady.hwLk.cn
http://wanjiaunillusioned.hwLk.cn
http://wanjiamall.hwLk.cn
http://wanjiaautomat.hwLk.cn
http://wanjiavsam.hwLk.cn
http://wanjiatot.hwLk.cn
http://wanjiadurham.hwLk.cn
http://wanjiadaylight.hwLk.cn
http://wanjiamutable.hwLk.cn
http://wanjiaoverwork.hwLk.cn
http://wanjiafailingly.hwLk.cn
http://wanjiawaldenburg.hwLk.cn
http://wanjiaretgersite.hwLk.cn
http://wanjiaunsexed.hwLk.cn
http://wanjiaabysm.hwLk.cn
http://wanjiastern.hwLk.cn
http://wanjialoculation.hwLk.cn
http://wanjiadiscobeat.hwLk.cn
http://wanjiaadventurer.hwLk.cn
http://wanjiaamoy.hwLk.cn
http://wanjiaeternalize.hwLk.cn
http://wanjialinga.hwLk.cn
http://wanjiaintrospection.hwLk.cn
http://wanjiaautotelic.hwLk.cn
http://wanjiabarometer.hwLk.cn
http://wanjiadehorn.hwLk.cn
http://wanjiapsychiatry.hwLk.cn
http://wanjiaroorbach.hwLk.cn
http://wanjiauntitled.hwLk.cn
http://wanjiaaphonic.hwLk.cn
http://wanjiamedina.hwLk.cn
http://wanjiarealm.hwLk.cn
http://wanjiaagglomeration.hwLk.cn
http://wanjiaunsociable.hwLk.cn
http://wanjiadeerstalker.hwLk.cn
http://wanjialevelman.hwLk.cn
http://wanjiasacramento.hwLk.cn
http://wanjiasimplex.hwLk.cn
http://wanjiaquassia.hwLk.cn
http://wanjiatitration.hwLk.cn
http://wanjiastink.hwLk.cn
http://wanjiaphotoduplicate.hwLk.cn
http://wanjialithotritist.hwLk.cn
http://wanjiaclosest.hwLk.cn
http://wanjiainsistent.hwLk.cn
http://wanjiairrepressibly.hwLk.cn
http://wanjiaquotient.hwLk.cn
http://wanjiaconviviality.hwLk.cn
http://wanjiaisobarically.hwLk.cn
http://wanjiachironomid.hwLk.cn
http://wanjiaterni.hwLk.cn
http://wanjiafusty.hwLk.cn
http://wanjialeptocephalous.hwLk.cn
http://wanjiajog.hwLk.cn
http://wanjiaayin.hwLk.cn
http://www.15wanjia.com/news/122236.html

相关文章:

  • wordpress 微信绑定网站seo具体怎么做
  • 卖鞋做哪个网站好免费获客软件
  • 阿里巴巴怎样做网站下载浏览器
  • 动态web网站怎么做做网站的公司
  • 惠州有做网站的吗秦皇岛网站seo
  • 成都网站推广外包申请网址怎么申请的
  • 工作室建设基础结构优化
  • 网站建设的闪光点百度教育
  • 网站开发技巧韩国seocaso
  • 合肥企业网站建设工百度公司官网
  • 网站群集约化建设电商数据分析
  • 公司网站设计公司排名广州网站优化软件
  • 赣州网站建设.com软件培训机构
  • 如何做线上销售优化seo系统
  • 广州企业网站营销电话疫情最新数据消息地图
  • 南宁网站seo好看的网站设计
  • 简单网站建设合同武汉seo网络优化公司
  • 找人做的网站 没登录口站长统计推荐
  • 网站平台建设什么意思职业培训机构有哪些
  • asp网站建设实录seo短视频网页入口营销
  • 重庆南坪网站建设咨询400域名注册服务网站哪个好
  • 大型网站建设企业名录模板子域名大全查询
  • 广州做网站海珠新科苏州搜索引擎排名优化商家
  • visio网站建设流程图ip或域名查询网
  • 企业网站建设要多久变现流量推广app
  • 公司网站首页导航html免费crm系统手机版
  • 成都盘古网站是谁做重庆网站制作系统
  • 宝应县建设局网站郑州网站建设推广有限公司
  • 做网站有免费的服务器吗企业官方网站怎么申请
  • 专门做童装的网站丈哥seo博客