底层是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);
一般使用为工具类
FastJsonfastjson.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是放行进入下一个拦截器的意思



