<beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.xxx." />
<aop:aspectj-autoproxy proxy-target-class="true" />
<context:annotation-config />
<import resource="classes/DataSource.xml"/>
<import resource="classes/applicationContext.xml"/>
<mvc:interceptors>
<bean class="com.globeway.web.servlet.intercept.JsonGetInterceptor" />
</mvc:interceptors>
<bean id="defaultAnnotationHandlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" ></bean>
<!-- 配置多请求数据类型,如json xml-->
<bean id="annotationMethodHandlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
<property name="messageConverters">
<list>
<!-- 解析json请求数据,将json转换为java对象-->
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
<!-- 解析xml请求数据,将xml转换为java对象-->
<bean class="org.springframework.http.converter.xml.MarshallingHttpMessageConverter">
<constructor-arg>
<bean class="org.springframework.oxm.xstream.XStreamMarshaller">
<property name="streamDriver" >
<bean class="com.thoughtworks.xstream.io.xml.DomDriver"/>
</property>
<property name="autodetectAnnotations" ><value>true</value></property>
<!--可以与xml互换的对象,需要使用XStream的注解,注解的使用方法请参XStream官网-->
<property name="annotatedClasses">
<list>
<value>com.xxx.XxxxDTO</value>
</list>
</property>
</bean>
</constructor-arg>
</bean>
<bean class="org.springframework.http.converter.FormHttpMessageConverter"/>
<bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter"/>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"/>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>
<bean class="org.springframework.http.converter.ResourceHttpMessageConverter"/>
<!--可以增加其他数据类型,请参考spring的API-->
</list>
</property>
</bean>
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<!-- .ftl文件存放的根目录-->
<property name="templateLoaderPath" value="/WEB-INF/ftl/"/>
<property name="freemarkerSettings">
<props>
<prop key="defaultEncoding">UTF-8</prop> <!--解决汉字编码问题-->
</props>
</property>
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape"/>
</map>
</property>
<!--可以增加其他freemarker的配置,详情请参阅FreeMarkerConfigurerAPI-->
</bean>
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape"/>
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="defaultContentType" value="application/json" />
<property name="mediaTypes">
<map>
<entry key="html" value="text/html" />
<entry key="json" value="application/json" />
<entry key="xml" value="application/xml" />
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="cache" value="true"/>
<property name="prefix" value=""/>
<property name="suffix" value=".ftl"/>
<property name="contentType" value="text/html;charset=UTF-8"/>
<property name="exposeSpringMacroHelpers" value="true"/>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<!-- 可加入其他视图技术如 volacity jstl等-->
</list>
</property>
<property name="defaultViews">
<list>
<!-- 输出为JSON数据-->
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
</bean>
<!-- 输出为xml数据-->
<bean id="marshallingView" class="org.springframework.web.servlet.view.xml.MarshallingView">
<property name="marshaller">
<bean id="xStreamMarshaller" class="org.springframework.oxm.xstream.XStreamMarshaller" >
<property name="autodetectAnnotations" value="true"/>
</bean>
</property>
<property name="contentType" value="application/xml" />
</bean>
</list>
</property>
</bean>
<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="/commons/error" />
<property name="exceptionMappings">
<props></props>
</property>
</bean>
</beans>
Controller类:
@Controller
@RequestMapping("/register/person")
public class PersonController {
@RequestMapping(method=RequestMethod.GET)
public ModelAndView list() {
HashMap<String,Object> model = new HashMap<String,Object>();
model.put("pager", pager);
return new ModelAndView("/register/person/personList",model );
}
}
请求路径: http://localhost:8080/MyProject/register/person
前台代码:
ajax:
jQuery.ajax({
url: '/register/person',
contentType: "application/json",//application/xml
processData: true,//contentType为xml时,些值为false
dataType: "html",//json--返回json数据类型;xml--返回xml
data: {},
success: function(data) {
},
error:function(e){
}
});
分享到:
相关推荐
8. **视图解析**:Spring MVC 支持多种视图技术,如 JSP、FreeMarker、Thymeleaf 等。视图解析器(ViewResolver)会根据指定的视图名和前缀/后缀来生成实际视图的全路径。 9. **数据绑定**:Spring MVC 自动支持...
在这个"springMVC 多视图配置(Jsp Freemarket Json)实例"中,我们将探讨如何在 SpringMVC 中设置多种视图解析器来支持 Jsp、FreeMarker 和 Json 格式的响应。 **1. 视图解析器 (View Resolver)** 在 SpringMVC ...
Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。视图解析器(如InternalResourceViewResolver)会根据视图名称找到对应的资源,并渲染输出。 对于依赖管理,"aopalliance"标签可能指的是AOP(面向切...
5. **视图解析**:Spring MVC 默认使用 JSP 作为视图技术,但也可以配置 FreeMarker、Thymeleaf 等其他模板引擎。视图解析器根据控制器返回的视图名找到对应的视图文件,并结合模型数据渲染输出。 6. **异常处理**...
Spring MVC 支持多种视图技术,如 JSP、FreeMarker、Thymeleaf 等,你可以根据项目需求选择合适的视图技术。 Spring MVC 还提供了数据绑定和验证功能。通过 ModelAttribute 注解,可以将请求参数自动绑定到控制器...
Spring MVC 支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。在`@RequestMapping`方法中,可以使用`return "viewName"`来指定视图,Spring MVC会根据配置的视图解析器来生成实际的视图页面。 五、视图解析器...
- JSP,FreeMarker,Thymeleaf等视图技术可与Spring MVC集成,用于生成动态HTML页面。 - 使用ModelAndView或Model对象传递数据到视图。 6. **异常处理**: - `@ExceptionHandler` 注解可以在Controller中处理...
此外,Spring MVC支持多种视图技术,如JSP、Thymeleaf和FreeMarker,提供了强大的数据绑定和校验功能。 **Spring Boot** Spring Boot是为了简化Spring应用程序的初始搭建和配置而诞生的。它内置了Tomcat或Jetty...
JSP、FreeMarker、Thymeleaf等都可以作为视图技术,Spring MVC支持多种视图技术的集成。 5. **模型数据:Model和ModelAndView** Model接口用于存储请求处理过程中产生的数据,这些数据可以通过Model.addAttribute...
- **View**:视图负责渲染模型数据,通常使用 JSP、FreeMarker 或 Thymeleaf 等模板技术。 - **Controller**:控制器处理用户的请求,调用业务服务,准备模型数据,并决定哪个视图来呈现结果。 - **...
Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。3.2.5版本优化了视图解析过程,允许开发者自定义视图解析逻辑。 6. **数据绑定与验证**: Spring MVC提供了强大的数据绑定和验证机制,可以自动将...
此外,Spring MVC 4还支持RESTful风格的Web服务,通过@RequestMapping注解的produces和consumes属性,可以处理不同格式的HTTP请求和响应,如JSON、XML等。 总的来说,"Mastering Spring MVC 4(2015.09)源码"提供了...
5. **视图解析**: Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。通过`viewResolver`配置,可以指定视图解析器,将视图名解析为实际的视图路径。 6. **RESTful风格的URL设计**: Spring MVC支持创建...
在Spring MVC中,你可以使用模型对象来传递数据,而视图可以通过模板引擎(如Thymeleaf、JSP等)来渲染。教程会展示如何创建模型对象,以及如何使用视图解析器来决定最终展示的页面。 5. **请求处理** 通过`@...
《Spring in Action: Spring MVC 第四版 中文版》是一本深入探讨Spring MVC框架的权威指南,适合Java开发者阅读。本书全面介绍了如何使用Spring MVC来构建健壮、高性能的Web应用程序。Spring MVC是Spring框架的核心...
11. **MVC配置**: 传统的XML配置方式逐渐被Java-based配置和注解配置取代,简化了配置过程,使得Spring MVC应用更易维护。 12. **RESTful风格**: Spring MVC 支持创建RESTful API,通过@RequestMapping配合HTTP动词...
Spring MVC 可以配合多种视图技术,如 JSP、FreeMarker、Thymeleaf 等,提供丰富的用户体验。 10. **Ajax 支持** 通过 JSON 或 XML 数据交换,Spring MVC 可以方便地与前端 JavaScript 进行异步交互。 这个...
4. **视图解析**:Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等。视图解析器会根据指定的视图名称,找到对应的视图模板进行渲染。 5. **异常处理**:通过@ControllerAdvice和@ExceptionHandler注解...
View是用户界面,可以是JSP、FreeMarker、Thymeleaf等模板引擎,Spring MVC支持多种视图技术。 五、数据绑定与验证 Spring MVC 提供了强大的数据绑定功能,可以从请求参数自动绑定到JavaBean的属性上。同时,通过...
在3.1.1版本中,对这两者进行了优化,支持更多的视图技术,如JSP、FreeMarker、Thymeleaf等。 3. **HandlerMapping与HandlerAdapter**: 这两个组件负责映射HTTP请求到合适的处理器方法。Spring Web MVC 3.1.1提供...