SpringMVC资源映射+ajax功能

接受的参数为日期类型

第一种在controller层中写入以下代码:

@InitBinder
    public void initBinder(ServletRequestDataBinder binder){
        //只要网页中传来的数据格式为yyyy-MM-dd 就会转化为Date类型
        binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"),
                true));
    }

 

第二种方式

SpringMVC如何设定重定向与转发

二.controller进行数据保存

1.1 数据保存到request作用域的方式.

   1. 使用ModelAndView,那么该方法的返回类型必须是ModelAndView

   2. 使用Model, 方法的返回值还是字符串类型。

   3. 使用Map.方法的返回值还是字符串类型。

   4. 原始的HttpServletRequest对象保存

1.2 数据保存到session作用域的方式.

  1. 使用原始的HttpSession保存。
  2. 使用注解@SessionAttributes(name={key1,key2})   

 

三.静态资源的映射关系

 

 

 

 

四.Ajax功能

ajax回顾

 

SpringMvc怎么和AJAX相互调用的?
通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象。具体步骤如下 :
(1)加入Jackson.jar
(2)在配置文件中配置json的映射
(3)在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上@ResponseBody注解。

 

 

ajax返回的字符串中出现乱码

第一种

@RequestMapping(value="ajax1",produces="text/html;charset=UTF-8")

写在controller类上面

第二种

 

五.常见问题:

1.SpringMVC常用的注解有哪些?

https://www.cnblogs.com/leskang/p/5445698.html(常用的注解)
@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。
   用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。
@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

2.怎样在方法里面得到Request,或者Session?
直接在方法的形参中声明request,SpringMvc就自动把request对象传入。

3.如果想在拦截的方法里面得到从前台传入的参数,怎么得到?
直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样。

4.如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面。

5.怎么样把ModelMap里面的数据放入Session里面?
可以在类上面加上@SessionAttributes注解,里面包含的字符串就是要放入session里面的key。

6.注解的原理
注解本质是一个继承了Annotation的特殊接口,
其具体实现类是Java运行时生成的动态代理类。
我们通过反射获取注解时,返回的是Java运行时生成的动态代理对象。
通过代理对象调用自定义注解的方法,
会最终调用AnnotationInvocationHandler的invoke方法。
该方法会从memberValues这个Map中索引出对应的值。而memberValues的来源是Java常量池。

7.什么是Spring MVC ?简单介绍下你对springMVC的理解?
Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,
通过把Model,View,Controller分离,将web层进行职责解耦,
把复杂的web应用分成逻辑清晰的几部分,简化开发,减少出错,方便组内开发人员之间的配合。

具体流程可访问以下网址(某博主,写的较为详细)

https://www.cnblogs.com/gflb/p/11172621.html

 

posted @ 2019-09-03 21:16  勇攀少年  阅读(230)  评论(0)    收藏  举报