==SpringMVC中的Model的使用==
SpringMVC会把Model(模型信息)中的的数据放入到request域对象中,页面可以通过EL表达式来取request域中的数据。我们可以先写一个案例,在后台使用Model的addAttribute方法,页面使用EL表达式取数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| @Controller @RequestMapping(value = "/model") public class ModelController {
@RequestMapping(value = "/add") public String add(Model model){ model.addAttribute("msg","张三"); return "success"; } }
|
1 2 3 4
| success.jsp页面从request域中取数据使用EL表达式
${msg} ${requestScope.msg}
|
==Groovy==
groovy 是在 java平台上的、 具有象 Python , Ruby 和 Smalltalk 语言特性的灵活动态语言, groovy 保证了这些特性象 java 语法一样被 java 开发者使用。
和java语言搭配使用,提高开发人员的效率,减少代码量,缺点:降低了可读性,比java的运行效率低
==NoSQL(非关系型数据库)知识小结==
NoSQL 数据库不是否定关系型数据库,而是作为关系型数据库的一个重要补充。
NoSQL 数据库为了适应灵活及高性能、高并发需求而生,忽略影响高性能、高并发的功能。
在 NoSQL 数据库领域,当今的最典型产品为 redis(持久化缓存)、MongoDB、Memcached(纯内存)等。
NoSQL 数据库没有标准的查询语言(SQL),通常使用 REST 式的数据接口或者查询 API。
==Build,Rebuild,Recompile的区别==
Recompile
对选定的目标(Java 类文件),进行强制性编译,不管目标是否是被修改过。
Rebuild
对选定的目标(Project),进行强制性编译,不管目标是否是被修改过。由于 Rebuild 的目标只有 Project,所以 Rebuild 每次花的时间会比较长。
Build
对选定的目标(Project),编译那些被修改的文件;
==redis==
- redis 是将所有数据存放在内存中,因此能够提升系统的响应能力,能够提升用户的体验。
- 服务端使用缓存能够减轻数据库服务器的压力。
- 提升系统性能:缩短响应时间;减少网络传输时间和应用延迟时间;增加用户并发;提高数据库资源的利用率;
==ctrl+F5==
清楚浏览数据,F12中network下可以禁用缓存(disable cache)。
==SpringMVC普通参数与基本注解==
注解
@PathVariable, @RequestHeader, @ModelAttribute, @RequestParam, @RequestBody, @CookieValue, @MatrixVariable
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| @RestController public class ParameterTestController {
@GetMapping("/car/{id}/owner/{username}") public Map<String,Object> getCar(@PathVariable("id") Integer id, @PathVariable("username") String name, @PathVariable Map<String,String> pv, @RequestHeader("User-Agent") String userAgent, @RequestHeader Map<String,String> header, @RequestParam("age") Integer age, @RequestParam("inters") List<String> inters, @RequestParam Map<String,String> params, @CookieValue("_ga") String _ga, @CookieValue("_ga") Cookie cookie){
Map<String,Object> map = new HashMap<>();
map.put("age",age); map.put("inters",inters); map.put("params",params); map.put("_ga",_ga); System.out.println(cookie.getName()+"===>"+cookie.getValue()); return map; }
@PostMapping("/save") public Map postMethod(@RequestBody String content){ Map<String,Object> map = new HashMap<>(); map.put("content",content); return map; }
@GetMapping("/cars/{path}") public Map carsSell(@MatrixVariable("low") Integer low, @MatrixVariable("brand") List<String> brand, @PathVariable("path") String path){ Map<String,Object> map = new HashMap<>();
map.put("low",low); map.put("brand",brand); map.put("path",path); return map; }
@GetMapping("/boss/{bossId}/{empId}") public Map boss(@MatrixVariable(value = "age",pathVar = "bossId") Integer bossAge, @MatrixVariable(value = "age",pathVar = "empId") Integer empAge){ Map<String,Object> map = new HashMap<>();
map.put("bossAge",bossAge); map.put("empAge",empAge); return map;
}
}
|
==复杂参数==
Map、Model(map、model里面的数据会被放在request的请求域 request.setAttribute)