`
mamacmm
  • 浏览: 200513 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

使用SpringMVC(spring3.0)自带的json

    博客分类:
  • J2EE
阅读更多

1.下载spring相关jar

去哪里下载就不说了

要想支持json,需要下载 jackson-all-1.9.5.jar(版本看情况,下载合适的)

 

2.配置web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<filter>
		<filter-name>sitemesh</filter-name>
		<filter-class>
			org.sitemesh.config.ConfigurableSiteMeshFilter
		</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>sitemesh</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>


	<servlet>
		<servlet-name>Spring3</servlet-name>
		<servlet-class>
			org.springframework.web.servlet.DispatcherServlet
		</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/classes/spring/*.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>Spring3</servlet-name>
		<url-pattern>*.html</url-pattern>
	</servlet-mapping>
	<servlet-mapping>
		<servlet-name>Spring3</servlet-name>
		<url-pattern>*.action</url-pattern>
	</servlet-mapping>

	<!--编码过滤器-->
	<filter>
		<filter-name>encodingFilter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>UTF-8</param-value>
		</init-param>
		<init-param>
			<param-name>forceEncoding</param-name>
			<param-value>false</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>encodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

</web-app>

 应该都能看懂

 

3.配置spring的配置文件

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
			http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
			http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
			http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
			http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd ">

	<!-- Spring要扫描的包 -->
	<context:component-scan base-package="com.mm" />
	
	<!-- 支持JSON 需要加入 jackson-all-1.9.5.jar  -->
	<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
		<property name="messageConverters">
			<util:list id="beanList">
				<ref bean="mappingJacksonHttpMessageConverter"/>
			</util:list>
		</property>
	</bean>
	<bean id="mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8</value>
			</list>
		</property>
	</bean>
	
	<!-- 配置注解 -->
	<context:annotation-config />
	
	<mvc:annotation-driven/>
	
	<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" />
	
	<!-- SpringMVC过滤 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/pages/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>
</beans>
 

这里面尤其 注意要加上 util 的命名空间

 

 

注意:org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter的Bean配置中,我们加入了messageConverters属性,在该属性中我们有配置mappingJacksonHttpMessageConverter这个Bean,它就是用来处理json数据转换的。

在mappingJacksonHttpMessageConverter的Bean配置中,我们有一个supportedMediaTypes属性,在这个属性

中我们添加了text/html;charset=UTF-8这个值,它是为了处理返回的json数据的编码,默认是ISO-88859-1的,这里我们把它设置为UTF-8,如果有乱码的情况,我们只需要修改这里就可以了。

 

 

 

4.写个测试方法

 

@Controller
@RequestMapping("/test")
public class TestAction extends BaseAction {

	@RequestMapping(value = "/test9", method = RequestMethod.GET)
	@ResponseBody
	public User test9(HttpServletRequest req) {
		User u = new User();
		u.setName("张三");
		u.setPassword("123");
		
		return u;
	}
}

 

注意:方法上,我们使用了一个@ResponseBody的注解,Spring3.0 MVC @ResponseBody的作用是把返回值直接写到HTTP response body里。 这个方法就是我们这里关注的地方,它就是返回json数据到客户端去的。还要注意,这个方法返回的可以是任意类型,而不ModelAndView。

 

5.运行效果

 


 

 

=====================================================

 

题外话,怎么使用SpringMVC的模型驱动接收Form参数?

 

1.Form这么写

<form action="test8.html" method="post">
    	<table width="600px">
    		<tr>
    			<td>用户名:</td>
    			<td><input type="text" name="name"> </td>
    		</tr>
    		<tr>
    			<td>密码:</td>
    			<td><input type="text" name="password"> </td>
    		</tr>
    		<tr>
    			<td></td>
    			<td><input type="submit" value="提交"> </td>
    		</tr>
    	</table>
    </form>
 

2.Action这么写

 

/**
	 * 测试使用 模型驱动 接收Form表单的参数
	 * <br>页面只能直接写模型中的字段名称
	 * 
	 * @param user
	 * @param name
	 * @param req
	 * @return
	 */
	@RequestMapping(value = "/test8", method = RequestMethod.POST)
	public String test81(@ModelAttribute("user")User user,@RequestParam("name")String name,HttpServletRequest req) {
//		System.out.println(name);
		System.out.println(user);
		
		return "test/test8";
	}
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 8.4 KB
分享到:
评论

相关推荐

    springMVC+springSecurity3.0+maven

    标题 "springMVC+springSecurity3.0+maven" 指的是一个集成项目,它结合了Spring MVC、Spring Security 3.0和Maven这三个关键的Java开发工具和技术。让我们逐一深入理解这些技术及其相互之间的关系。 首先,Spring ...

    springMVC-3.0-file-upload.rar_SpringMVC3.0-api _springmvc_spring

    "springMVC-3.0-file-upload.rar" 包含了一个示例,展示了如何在Spring MVC应用中集成文件上传功能,这个例子的描述表明它是基于注解驱动的,这意味着我们将使用如`@Controller`、`@RequestMapping`等注解来定义控制...

    springmvc spring hibernate ajax json

    在这个"springmvc spring hibernate ajax json"的简单完整DEMO中,我们可以预期以下几个方面的集成和使用: 1. **Spring MVC** 作为前端控制器,负责接收HTTP请求,调度到相应的Controller处理。 2. **Spring** 通过...

    Spring 3.0就这么简单源代码

    《Spring3.0就这么简单》主要介绍了Spring3.0的核心内容,不仅讲解了Spring3.0的基础知识,还深入讨论了SpringIoC容器、SpringAOP、使用SpringJDBC访问数据库、集成Hibernate、Spring的事务管理、SpringMVC、单元...

    Spring3.0中文版

    5. **SpringMVC**:作为Spring框架的Web层解决方案,SpringMVC在3.0版本中引入了更多特性,如异步处理、模板引擎支持(例如FreeMarker、Thymeleaf),以及对RESTful服务的优化。 6. **数据访问**:Spring3.0对JDBC...

    spring3.0MVC 含jar包

    在Spring 3.0中,可以使用@ModelAttribute注解来关联模型数据和请求参数。 五、视图解析 视图解析器(ViewResolver)根据ModelAndView中的视图名解析出实际的视图。Spring支持多种视图技术,如JSP、FreeMarker、...

    spring 3.0 应用springmvc 构造RESTful URL 详细讲解

    在Spring 3.0框架中,Spring MVC是一个强大的用于构建Web应用程序的模块,它支持构建RESTful风格的URL,使得应用程序更加符合Web服务的最佳实践。REST(Representational State Transfer)是一种设计模式,强调通过...

    spring3.0帮助文档(包含REST资料)

    Spring 3.0重要特性总结如下: ◆Spring表达式(SpEL):用于bean定义的核心表达式分析器 ◆对基于注释的组件的更多支持:允许通过元注释创建注释的“快捷方式” ◆标准化的依赖性注入注释:对Java中依赖性注入的...

    springMVC_spring3.0_mybatis2.1.1整合

    标题“springMVC_spring3.0_mybatis2.1.1整合”指的是将Spring MVC、Spring 3.0框架和MyBatis 2.1.1数据访问层进行集成的教程或项目示例。这个整合是Web开发中常见的技术栈组合,用于构建高效、灵活的Java Web应用。...

    spring3.0+spring mvc3.0+mybaits3.0

    《Spring 3.0、Spring MVC 3.0与MyBatis 3.0整合详解》 在现代Java企业级应用开发中,Spring框架因其强大的功能和灵活性而被广泛使用。Spring 3.0作为其重要的一个版本,引入了诸多改进和新特性,提升了开发效率和...

    SpringMVC中后台转换json格式

    此外,为了让SpringMVC知道如何将你的Java对象转换为JSON,你需要在你的模型类上使用Jackson的注解,例如`@JsonProperty`、`@JsonInclude`、`@JsonIgnore`等。这些注解可以帮助控制哪些属性应该被包含在JSON中,哪些...

    Spring3.0jar包

    3. **SpringMVC**:作为Spring的Web MVC框架,Spring3.0提升了其处理HTTP请求的能力,增加了ModelAndView对象的改进,支持RESTful风格的URL映射,以及@RequestBody和@ResponseBody注解,便于JSON数据的处理。...

    springmvc依赖包3.0

    springmvc依赖包3.0springmvc依赖包3.0springmvc依赖包3.0springmvc依赖包3.0springmvc依赖包3.0springmvc依赖包3.0springmvc依赖包3.0springmvc依赖包3.0

    SpringMVC3.0_Demo

    这个名为"SpringMVC3.0_Demo"的压缩包文件很可能是为了展示如何配置和使用SpringMVC 3.0进行Web应用开发,包含的子文件"spring3"和"jpa"可能分别对应Spring框架核心库和Java持久化API(JPA),这两部分都是SpringMVC...

    spring3.0 mvc中文实例教程

    【Spring3.0 MVC框架简介】 Spring3.0 MVC是Spring框架的重要组成部分,专注于构建高性能、健壮的Web应用程序。这个框架具有高度可配置性,允许开发者将各个逻辑和功能模块进行分离,增强了代码的可维护性和可扩展性...

    springmvc3.0

    Spring MVC 3.0是Spring框架的一个重要组成部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。这个版本引入了许多增强功能,提高了开发效率和灵活性。结合Hibernate,一个流行的Java持久化框架,可以...

    spring 3.0 jar 所有开发包及开发项目实例

    org.springframework.jms-3.0.0.M4.jar: 为简化JMS API的使用而作的简单封装 org.springframework.beans-3.0.0.M4.jar: SpringIoC的基础实现 org.springframework.core-3.0.0.M4.jar: 提供的基础核心功能 org....

    spring3.0 mvc使用入门,含具体例子

    3. **注解驱动的控制器**:Spring 3.0 使用注解来简化控制器的定义。例如,`@RequestMapping` 注解可以用来将特定的 HTTP 请求映射到控制器方法。下面是一个简单的控制器示例: ```java @Controller public class ...

    springmvc加入json支持

    3. **创建Controller**: 创建一个Spring MVC控制器,使用`@RestController`或`@Controller`注解,并在方法上使用`@ResponseBody`来指示返回值应转换为JSON。例如: ```java @RestController public class ...

    spring3.0mvc自学教程ppt+注解教程+注解实例+springmybatis教程+项目实例+中文api (老师的心血)从入门到项目实战

    Spring 3.0 MVC 是一个强大的Java框架,用于构建企业级Web应用程序。它以其模块化、松耦合和高度可配置性而闻名。本自学教程集合了多种资源,旨在帮助初学者逐步掌握Spring 3.0 MVC的核心概念,并通过实际项目实例...

Global site tag (gtag.js) - Google Analytics