码迷,mamicode.com
首页 > 编程语言 > 详细

springMvc学习笔记01

时间:2016-08-09 00:02:31      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

此系列文章记录学习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注解的方法

技术分享

 

今天先写到这里

 

springMvc学习笔记01

标签:

原文地址:http://www.cnblogs.com/liuconglin/p/5738625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!