Spring MVC学习一

原创 2015年11月19日 18:02:48

Spring MVC是一个构建服务器应用的框架,提供了标准的MVC设计模式,可以在此基础上比较方便的开发web程序。

一、Spring MVC环境配置

       在较早的没有提供注解机制的版本中,spring mvc各模块件间的映射主要是以配置文件的方式来联系的。在项目中有两个描述配置信息的xml文件。分别是web.xml和xxx-servlet.xml,二者可以都放在WEB-INF的目录下。

       其中web.xml是每个web项目都必需的文件,在这里用来将http请求递交给Spring框架去处理。这里还可以写一些通用的过滤器,比如编码方式转换等。(xxx为自己的命名)

       而xxx-servlet.xml文件则用来配置具体的url与处理方法的映射。即将每一个url请求递交给相应的方法去处理。在这里需要让控制器对应的类实现Controller接口的handleRenderRequest方法。

<pre name="code" class="java"><!--未使用注解时需要配置映射  -->
	<bean id = "urlMapping" class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name = "mappings">
			<props>
				<!-- key代表url,参数表示控制器的id,即下面的bean -->
				<prop key = "hello.do">helloController</prop>
			</props>
		</property>
	</bean>
<bean id = "helloController" class = "com.controllers.HelloController"/>
      



二、请求处理的方式

       Spring MVC的请求处理是方法级别的。一个请求一般对应一个方法,请求中包含的参数可以被方法读取到,经过处理后进行响应返回。方法的返回值一般都是一个ModelAndView对象。包含返回页面与返回模型(数据)。在页面中可以读取模型中的参数来显示。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~11/20~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       今天接触的是基于注解机制的Spring MVC配置方式。使用注解基本上可以不用在xxx-servlet.xml中来进行url映射,而是使用@RequestMapping(“hello”)这样的方式来实现映射。

       在使用注解时,控制器对应的类不再需要实现Controller接口,而是在该类前面加上@Controller注解,然后再方法前加上@RequestMapping注解。如

@Controller
public class HelloController {
       //@ResponseBody用来声明返回值为数据,将会直接写入到HTTP的body中。
       @ResponseBody
       @RequestMapping("getJson")
       public String getJson(){
		Map model = new HashMap();
		model.put("cytus", getHello());
		Gson gson = new Gson();
		String result = gson.toJson(model);
		return result;
		}
这样就将url与方法对应起来了。

        在上面的代码中返回值并不是一个ModelAndView对象,而是一个Json格式的字符串,所以需要再增加一个@ResponseBody的注解,这个注解用来声明该方法的返回值为基本数据,而不是一个模型视图,会直接以body内容的形式写入到返回流中。对于服务器与移动应用间采用Json方式交换数据的通信来说是比较方便的。




版权声明:本文为博主原创文章,未经博主允许不得转载。

Spring MVC 学习笔记(一)

(* 笔记内容均来自 尚硅谷 佟刚老师的视频,例子是在学习中照着敲的) 内容概要 • 1.SpringMVC概述 • 2.SpringMVC的HelloWorld • 3.使用@RequestMapp...
  • u011870547
  • u011870547
  • 2016年01月07日 14:50
  • 1806

SpringMVC学习(一)——SpringMVC介绍与入门

SpringMVC介绍SpringMVC是什么?SpringMVC和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来: SpringMVC处...
  • yerenyuan_pku
  • yerenyuan_pku
  • 2017年05月15日 22:50
  • 2579

Spring MVC 学习总结

每个请求处理方法可以有多个不同的参数,以及一个多种类型的返回结果。 一、Action参数类型 如果在请求处理方法中需要访问HttpSession对象,则可以添加HttpSession作为参数,Sp...
  • zhangguo5
  • zhangguo5
  • 2016年07月12日 16:41
  • 1858

Spring MVC学习资料整理

官网资料: http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/mvc.html h...
  • u010689306
  • u010689306
  • 2015年09月14日 10:02
  • 1786

Spring MVC 学习案例

  Normal 0 7.8 磅 0 2 false false false Microso...
  • yinianshen
  • yinianshen
  • 2008年11月23日 12:17
  • 12295

Web开发学习之路--Springmvc+Hibernate之初体验

本来想继续学习android的,可是用到了android和服务器交互,需要实现个login的功能,苦于没有这么个环境,那就只能自己来搭建了。既然已经基本上可以玩web了,那么接下来使用web开源的框架...
  • eastmoon502136
  • eastmoon502136
  • 2016年03月06日 21:41
  • 1267

一点一滴学习Spring(七)之Spring MVC的高级技术

Servlet 3.0提供了既能在容器中动态注册servlet的方法,也提供了通过实现ServletContainerInitializer接口的方法实现在容器启动阶段为容器动态注册Servlet、F...
  • cdw8131197
  • cdw8131197
  • 2016年12月15日 21:29
  • 436

SpringMVC入门学习(一) 环境搭建+实例演示

简单介绍SpringMVC       SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherSe...
  • hejingyuan6
  • hejingyuan6
  • 2014年12月03日 08:20
  • 10730

Spring-SpringMVC-Mybatis项目学习

项目地址:https://github.com/justinbaby/spring-mybatisseckill(Java高并发秒杀API)慕课网视频 Java高并发秒杀API之业务分析与DAO层 J...
  • yzllz001
  • yzllz001
  • 2017年01月27日 11:33
  • 1180

springmvc学习笔记(22)-springmvc开发小结

本文对springmvc系列博文进行小结 springmvc框架 注解开发 使用注解方式的处理器映射器和适配器 注解开发中参数绑定 springmvc和struts2区别 校验 数据回显 异常处理 ...
  • h3243212
  • h3243212
  • 2016年03月15日 11:31
  • 3257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spring MVC学习一
举报原因:
原因补充:

(最多只允许输入30个字)