栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC (执行原理、RestFul风格、乱码、JSON、Jackson、FastJson、Ajax技术、拦截器AOP思想)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC (执行原理、RestFul风格、乱码、JSON、Jackson、FastJson、Ajax技术、拦截器AOP思想)

什么是SpringMVC

底层是servlet

MVC是模型(Model)、视图(View)、控制器(Controller)的简历是一种软件设计规范是将业务逻辑、数据、显示分离的方法来组织代码MVC主要作用是降低了试图与业务逻辑间的双向耦合MVC不是一种设计模式,MVC是一种架构模式 SpringMVC特点

轻量级,简单易学高效,基于请求响应的MVC框架与Spring兼容性好,无缝结合约定优于配置功能强大:RESTful,数据验证,格式化,本地化,主题等简介灵活 SpringMVC执行原理 RestFul风格

RestFul就是一个资源定位及资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制

资源:互联网所有的事物都可以被抽象为资源资源操作:使用POST、DELETE、PUT、GET,不同方法对资源进行操作分别对应 添加、删除、修改、查询。

使用RESTful风格操作资源:可以通过不同的方式来实现不同的效果!如下:请求地址一样,但是功能可以不同

http://localhost/item/1 :查询,GEThttp://localhost/item :新增,POSThttp://localhost/item:更新,PUThttp://localhost/item/1:删除,DELETE

主要实现方式

    使用注解@Pathvariable

    @RequestMapping("/add/{a}/{b}")
    public String test(@Pathvariable int a,@Pathvariable int b){
        
    }
    

    使用RequestMethod方法

    @RequestMapping(value="/add/{a}/{b}",method=RequestMethod.GET)
    @RequestMapping(value="/add/{a}/{b}",method=RequestMethod.POST)
    

    使用@GetMapping或者@PostMapping等注解

    @GetMapping("/add/{a}/{b}")
    @PostMapping("/add/{a}/{b}")
    
接受请求参数与数据回显

@RequestParam注解接受指定参数,否则报错

public String test(@RequestParam("username") String name,Model model){}
乱码问题解决

xml文件中配置SpringMVC的乱码过滤器自定义过滤器filter JSON

json是一种轻量级的数据交换格式,目前使用特别广泛采用完全独立于编程语言的文本格式来存储和表示数据简洁和清晰的层次结构使得json成为理想的数据交换语言易于人阅读和编写,同时也易于机器解析和生成,并有效的提升网络传输效率Javascript语言中,任何Javascript支持的类型都可以通过JSON来表示,例如字符串、数字、对象、数组等表示方法

对象表示为键值对,数组由逗号分隔花括号保存对象方括号保存数组 前端JSON数据转换

JSON字符串转Javascript对象:var obj = JSON.parse(’{“a”:“hello”,“b”:“world”}’)Javascript对象转JSON字符串:var json = JSON.stringify({a:‘Hello’,b:‘world’}) Jackson

@Controller和@requestBody注解配合使用后,return “test”;就不会走视图解析器,直接返回字符串

@RestController单独使用,也不会走视图解析器

@requestMapping(value="/aa",producs=“application/json;charset=utf-8”)可以防止乱码

jackson包下 ObjectMapper可以转换json字符串

ObjectMapper mapper = new ObjectMapper();

//ObjectMapper转换后时间格式默认为时间戳(Long),关闭默认时间戳方式
mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);

//使用java语言
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
mapper.setDateFormat(sdf);

return mapper.writevalueAsString(user);

一般使用为工具类

FastJson

fastjson.jar是一款专门用于java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象和json字符串的转换

JSONObject代表json对象

JSONArray代表json对象数组

JSON代表JSONObject和JSONArray的转化

//Java对象转JSON字符串
String str = JSON.toJSONString(userList);
//JSON字符串转对象
User user = JSON.parseObject(str,User.class);
//Java对象转JSON对象
JSONObject jsobject = (JSONObject)JSON.toJSON(user)
//JSON对象转Java对象
User user2 = JSON.toJavaObject(jsobject,User.class)
ssm整合SpringMVC

引入web支持配置web.xml文件

配置DispatcherServlet配置乱码过滤 前端Ajax技术

Ajax = 异步的Javascript 和XML是一种在无需加载整个网页的情况下,能够更新部分网页的技术不是一种新的语言,而是一种用于创建更快更好以及交互性更强的web应用程序的技术传统网页更新或者提交一个表单,都需要重新加载整个网页使用ajax技术的网页,通过在后台服务器进行少量的数据交换,就可以实现异步局部更新使用ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的web用户界面jQuery是一个库,js的大量函数(方法) 拦截器

拦截器是AOP思想的具体应用拦截器是SpringMVC自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法(controller层),自动过滤jsp/html/css/image/js自定义拦截器,实现HandlerInterceptor接口 ,就叫拦截器方法中return true是放行进入下一个拦截器的意思

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/778309.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号