SpringMVC的注解和jQuery的配合使用

Spring 2.5之前,我们通过实现Controller接口或其实现来定义我们的处理器类。这个已经被我们@Deprecated
Spring2.5开始引入注解式处理器支持,通过@Controller和@RequestMapping注解来注解定义我们的处理器类。

这两个注解要有处理器映射和处理器适配器的支持,也就是DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter的支持。

处理器: @Controller
处理器功能方法的映射规则: @RequestMapping
处理器功能处理方法参数上的绑定: @RequestParam
请求参数到命令对象的绑定: @ModelAttribute
Session级别存储的属性, @SessionAttributes
自定义数据绑定注册支持,用于将请求参数转换到命令对象属性的对用类型: @InitBinder

Spring3.1 使用新的HandlerMapping 和 HandlerAdapter来支持@Controller和@RequestMapping注解处理器

请求映射一般分为以下几种:
URL路径映射:使用URL映射请求到处理器功能处理方法。
请求方法映射限定:如限定功能处理方法只处理GET请求。
请求参数映射限定:如限定只处理包含“abc”请求参数的请求。
请求头映射限定:如限定只处理“Accpet=Application/json”的请求。


可以通过在一个POJO类上放置@Controller或@RequestMapping,即可把一个POJO类变成处理器。
@RequestMapping(value=“/hello”)请求URL(/hello)到处理器功能处理方法的映射。

摆脱了接口和任何类的继承问题,只需要在对应的方法\类上放置相应的注解说明就好了。


要注意在servlet.xml中引入两个支持器:DefaultAnnotationHandlerMapping
 和 AnnotationMethodHandlerAdapter。
<bean class = “xxx.xxx.xxx. DefaultAnnotationHandlerMapping” />

还需要将处理器实现类注册到Spring配置文件即可,spring能够根据注解自动发现处理器。

@Controller 加在类上,表示是一个处理器
@RequestMapping 加在类上,表示窄化功能处理方法的映射。还可以用在方法上。

窄化请求映射可以认为是方法级别的@RequestMapping继承类级别的@RequestMapping。

http请求信息包含六部分信息:
①请求方法,如GET或POST,表示提交的方式;
②URL,请求的地址信息;
③协议及版本;
④请求头信息(包括Cookie信息);
⑤回车换行(CRLF);
⑥请求内容区(即请求的内容或数据),如表单提交时的参数数据、URL请求参数(?abc=123 ?后边的)等。
想要了解HTTP/1.1协议,请访问http://tools.ietf.org/html/rfc2616。
那此处我们可以看到有①、②、④、⑥一般是可变的,因此我们可以这些信息进行请求到

使用JQuery中的
jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求参数:
url (String) : 发送请求的URL地址.
data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示。
callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)。
type (String) : (可选)官方的说明是:Type of data to be sent。其实应该为客户端请求的类型(JSON,XML,等等)

然后再类中使用
@RequestMapping(value=””) 找到对应的URL值


一般的项目都是从配置文件开始,初始化各种所需要的Bean,然后从 web.xml 文件中找到 login 的登录界面。然后由前台 JSP 页面发起一个 jQuery 的请求,可以是异步的 Ajax 请求(例如 $function ( $.ajax(……) ),这样就能从Url 中对应找到相应注解的类的@RequestMapping(……)

发布了20 篇原创文章 · 获赞 5 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章