spring mvc处理json类型返回结果异常

晚上弄个项目骨架出了点小插曲,发发牢骚……

 

异常情况:

一请求就是错误:The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request “accept” headers.

 

http 406,请求头的accept不匹配,主要是在spr[......]

Read more

Posted in Spring | Tagged | Leave a comment

每日碎碎念——Spring Bean依赖的dubbo服务创建失败导致系统无法启动?

项目中一些地方需要调用dubbo提供的服务,dubbo提供了对spring的完美支持,客户端只需配置一个reference bean即可使用服务。这个时候面临了一个问题:由于我们的业务bean直接通过注入方式使用dubbo接口,系统启动过程中,spring会pre initialize bean,这个时候由于依赖的bean创建失败,spring会直接关闭bean容器,系统启动失败。

可以看看BeanFactory的refresh函数:

try {[......]

Read more

Posted in 日常文章 | Tagged , | Leave a comment

Spring自定义Schema之具体实现过程

在Spring容器初始化的过程中,将Bean定义解析的任务交给了XmlBeanDefinitionReader,通过查看XmlBeanDefinitionReader加载Bean定义的过程即可知道Spring是如何处理自定义Schema。

 

在loadBeanDefinitions函数中:

public int loadBeanDefinitions(EncodedResource encodedResource ) throws BeanDefinitionStore[......]

Read more

Posted in J2EE | Tagged | Leave a comment

在Spring中实现对Jsonp请求的支持

1. Jsonp原理介绍

Ajax想必已经是家喻户晓,但是,受制于浏览器的“同源策略”,当需要进行跨越访问时,Ajax就显得有些无能为力。这个时候,我们便需要Jsonp,Jsonp是Json with padding的简称,它是一个非官方协议,允许在服务端继承script tags返回至客户端,通过javascript callback的形式实现跨越访问。

说得更明确一点,就是前端通过JS创建一个script标签,并将src指向请求的url,同时在url中指定回调的callback,[......]

Read more

Posted in Spring | Tagged , | Leave a comment

Spring MVC自定义视图实现

Spring MVC中为我们提供了很多默认的视图与视图解析器的实现,但是,有些时候或者我们需要的视图与视图解析器它并没有提供,亦或是提供了,可是过于复杂,因此最终我们还是有定制自己的视图与视图解析器的必要,还好,这是一项还算简单的任务。

在开始定制自己的视图之前,先来看看Spring中提供的一个复合视图解析器ContentNegotiatingViewResolver,使用它你可以配置:(1)所支持的媒体类型,也即文件后缀名及其对应的文件内容类型;(2) 视图解析器,ContentNego[......]

Read more

Posted in Spring | Tagged , | 1 Comment

Spring对JMX的支持——使用手册

这是对Spring框架参考手册中JMX整合部分的翻译,加上自己使用中理解,当然,并非完整一字不漏的翻译(也不能保证翻译的质量=。=),只是翻译大部分使用相关的。如果喜欢看手册,请直接去看,这样会比较好。

 

1. 介绍

Spring中的JMX支持模块为我们提供了一种简单且透明的方式来将自己的Spring应用整合到JMX框架中。Spring的JMX支持模块提供了四个核心特色:

  • 自动将任何一个Spring Bean注册为JMX MBean;
  • 一个控制应用中的Bean的[......]

Read more

Posted in J2EE | Tagged , | Leave a comment

Spring注解实现解析

自Spring2.5以后引入的注解方法,为我们的开发带来了更多的便捷,至于使用,这里不打算说明,因为太多了……,本次主要想讲讲Spring提供给我们使用的注解(@Controller,@Component等等)其背后的细节,也讨论讨论中间贯穿的一些Spring知识。

开始讨论之前,你可能需要对Spring IOC有一些比较深的理解,我觉得,Spring IOC基本上是其它东西的基础,也是核心所在,有必要深入再深入。

Spring中的应用上下文ApplicationContext我们都[......]

Read more

Posted in Spring | Tagged | Leave a comment

spring mvc源码分析(续)——视图解析过程

(迁移ing)

在“Spring MVC源码分析(续)——请求处理 “   中大概的描述了Spring MVC中如何为不同的请求找到其对应的处理器。经过这个过程,其获得了一个“视图对象”,也即ModelAndView。后续则是进行视图的渲染(输出)。

接上文,视图的解析在”processDispatchResult(processedRequest, response, mappedHandler, mv, dispatchException);“中完成,处理流程图如下:

001[......]

Read more

Posted in Spring | Tagged | 2 Comments

Spring MVC源码分析(续)——请求处理

(同样原在CSDN,移动一下!!)

在之前的“Spring MVC实现分析——初始化”中分析了spring mvc的初始化过程,接下来将分析其请求处理过程。

在找请求处理的入口时,我们需要先知道Servlet的编程规范,对应不同的请求(如POST、GET等)的实现方法在FrameworkServlet中,分别是doPost、doGet等,看这一系列方法的具体实现可以知道,请求的处理跳转到了processRequest函数中,最终进入DispatcherServlet的doServic[......]

Read more

Posted in Spring | Tagged | Leave a comment

Spring MVC源码分析——初始化过程

(原来在CSDN)

1.      概述

对于Web开发者,MVC模型是大家再熟悉不过的了,SpringMVC中,满足条件的请求进入到负责请求分发的DispatcherServlet,DispatcherServlet根据请求url到控制器的映射(HandlerMapping中保存),HandlerMapping最终返回HandlerExecutionChain,其中包含了具体的处理对象handler(也即我们编程时写的controller)以及一系列的拦截器interceptors[......]

Read more

Posted in Spring | Tagged | Leave a comment
« Older