天天看点

Spring MVC基础入门

spring mvc简介

spring web mvc是一种基于java的实现了web mvc设计模式的请求驱动类型的轻量级web框架,即使用了mvc架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,spring web mvc也是要简化我们日常web开发的。

spring web mvc处理请求的流程:

Spring MVC基础入门

具体执行步骤如下:

1、  首先用户发送请求到前端控制器,前端控制器根据请求信息(如url)来决定选择哪一个页面控制器进行处理并把请求委托给它;

2、  页面控制器接收到请求后,进行功能处理,处理请求和创建相应的model,处理完毕后返回一个modelandview(模型数据和逻辑视图名);

3、  前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;

4、  前端控制器将响应返回给用户,至此整个结束。

spring mvc demo

写一个简单的例子来说明spring mvc是如何工作的,该例子默认启动一个欢迎页面,并有一个login的页面,输入用户名和密码,当用户名和密码不为空返回“登录成功”,当输入有空时,则停留在login页面,例子非常简单。

新建一个dynamic web project。

看web.xml的配置:

Spring MVC基础入门
Spring MVC基础入门

load-on-startup:表示启动容器时初始化该servlet;

url-pattern:表示哪些请求交给spring web mvc处理, “/” 是用来定义默认servlet映射的。也可以如“*.html”表示拦截所有以html为扩展名的请求。

注意配置spring mvc dispatcherservlet:默认dispatcherservlet会加载web-inf/[dispatcherservlet的servlet名字]-servlet.xml配置文件。即每个servlet都要有个配置文件,文件名为[servlet名字]-servlet.xml配置文件。但这里我使用了contextconfiglocation来设置配置文件的文件名和路径。

springconfig.xml的配置:

Spring MVC基础入门
Spring MVC基础入门

internalresourceviewresolver:用于支持servlet、jsp视图解析;

prefix和suffix:查找视图页面的前缀和后缀(前缀[逻辑视图名]后缀),比如传进来的逻辑视图名为hello,则该该jsp视图页面应该存放在“web-inf/pages/hello.jsp”;

login 页面:

Spring MVC基础入门
Spring MVC基础入门

login成功页面:

Spring MVC基础入门
Spring MVC基础入门

home页面:

Spring MVC基础入门
Spring MVC基础入门

controller实现:

homecontroller:

Spring MVC基础入门
Spring MVC基础入门

usercontroller:

Spring MVC基础入门
Spring MVC基础入门

spring常用注解:

@autowired:spring通过一个beanpostprocessor对 @autowired 进行解析,所以要让 @autowired 起作用必须事先在 spring 容器中声明 autowiredannotationbeanpostprocessor bean。

@controller:通过@controller标注即可将class定义为一个controller类,成为spring的一个bean。为使spring能找到定义为controller的bean,需要在spring配置文件中增加如下配置:

@requestmapping:在类定义处和方法定义处使用 @requestmapping 注解,就可以很容易通过url参数指定controller的处理方法了。

@requestparam:通过 @requestparam 注解指定绑定的url参数。

对listboardtopic()请求处理方法的 topicid 入参标注了 @requestparam("id") 注解,所以它将和id的url参数绑定。

运行结果:

Spring MVC基础入门
Spring MVC基础入门

源码下载:http://download.csdn.net/detail/luxiaoxun/8029561

参考:

spring framework 主页:http://projects.spring.io/spring-framework/

spring framework source code: https://github.com/spring-projects/spring-framework

spring mvc document: http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html

spring注解:http://www.ibm.com/developerworks/cn/java/j-lo-spring25-mvc/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

http://www.cnblogs.com/luxiaoxun/p/4020795.html