标签:
此系列文章记录学习springMvc的过程:
第一想法是到spring官网下载相关jar, 查看了一下,点了目录链接,然而并没有jar的下载链接,还以为自己看错了,又特地准备了翻译工具,结果还是没有发现jar和源码的下载链接,我郁闷了,why, 网友们说spring的jar和示例在github上,看了官网的文档介绍,觉得不太好,下面会贴出我学习时用到的链接,ps:至今我还认为可能是我太笨了没找到~~~
1.下载jar包
http://repo.spring.io/libs-release-local/org/springframework/spring/4.2.3.RELEASE/
2.下载源码
jar包中有源码
3.找到测试demo
http://jinnianshilongnian.iteye.com/blog/17521714
4.找到学习笔记
http://www.open-open.com/doc/
5.初识springMvc
学习一个新的框架,首先要对它有一个大概的认识,便于后面的学习,首先要明白两个问题
1)它是干什么的?
我一开始是藐视它的,因为还没测试体会,我都不会用,难或不难和我有什么关系呢,自己学习一定要保证好心态,社区里有很多关于:它是什么的大篇的概念性论述,稍微看了下,我现在只觉得它和struts2差不多的,因此接下来我会一边学习,一边和strut2做对比,至于它的实现原理,执行流程,以及优缺点,随着学习,在慢慢去体会它的神奇
2)如何使用?
废话不多说,下面直接上第一个入门demo,代码是注解式的开发
1.首先是web.xml的配置:
<!-- springmvc核心 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 指定springMvc配置文的件位置 ,这个是在src下,如果不指定,则默认是WEB-INF/[DispatcherServlet的Servlet-name的名字]-servlet.xml配置文件--> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <!-- 监听该springMvc启动,初始化这个servlet --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
2.springMvc配置文件
<!-- 扫描Controller所在的包 --> <context:component-scan base-package="zpark.*"/> <!-- 注册处理器映射器/处理器适配器 --> <mvc:annotation-driven conversion-service="conversionService"/> <!-- 视图解析器 解析规则: 前缀+逻辑名+后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"/> <property name="suffix" value=".jsp"/> </bean>
3.controller
/** * @Controller :注解用在类上,标识这个类是一个控制器 * @RequestMapping 注解加在类上相当于struts2中的namespace */ @Controller @RequestMapping("/hello") public class HelloController { /** * @RequestMapping 注解加在方法上,代表方法的访问路径 * 属性一:value要求一个string数组 */ @RequestMapping(value={"/test","/aaa","/bbb"}) //localhost:9999/springmvc/hello/test public String test(){ System.out.println("test hello invoking ~~"); return "index";//="/index.jsp" } }
4.浏览器访问controller:
localhost:9999/springmvc/hello/test
很开心,第一个demo直接访问成功了,现在我们对这个demo进行分析:
从web.xml开始:
它的入口是 :DispatcherServlet类,看了一下它最终是继承自 HttpServlet类,这一点也验证了springMvc的上下文是一个serlvet
它是如何执行的这个流程呢:参考了一些资料,我自己画了一个流程图,自己总结的印象深刻些么:
RequestMappingHandlerMapping:映射器,它的作用是,实现类上拥有@Controller或@RequestMapping注解的bean,即发现action,并将它们作为处理器。
requestmappinghandleradapter: 适配器,找到拥有@RequestMapping注解的方法
今天先写到这里
标签:
原文地址:http://www.cnblogs.com/liuconglin/p/5738625.html