`
7454103
  • 浏览: 130172 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Spring3 MVC 笔记(一)

阅读更多
   
     自从 MVC 这个概念提出来之后 struts1.X  struts2.X   jsf 。。。。。
这个view 层的技术一个接一个! 都用过!不敢说哪个绝对的强悍!
要看业务,和整体的设计!

     最近公司要求开发个新系统!
并且 不沿用以前的框架了!闲时 用了下Spring3 的 MVC
感觉还可以!大有前途! 尤其是加上3.0 以后的 加上annotation + rest 如虎添翼!
个人理解比较狭窄!不当之处!请绕过!
以下是 网上当的一些资料和 自己的一些总结:

前奏:
  导入相应的包
  
1.0 默认的mvc 配置文件:
      web.xml 中定义了一个名为 annomvc 的 Spring MVC 模块,按照 Spring MVC 的契约,
        需要在 WEB-INF/annomvc-servlet.xml 配置文件中定义 Spring MVC 模块的具体配置
       
2.0 包级别的扫描,和 注释的功能的开启:
    <context:component-scan base-package="com.***.web"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
	<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
	<context:annotation-config/>

3.0 定义视图的前缀 ,后缀  
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/>


@Controller     // 注释为controller
@Autowired      // 注入属性 去xml 找那个像对应的 bean 类型匹配

1.0  处理多个请求
     |:   在每个方法前面使用   @RequestMapping("/名称.do")   不同的名称 处理不同的请求  缺点:xxx.do 太多不利于 跟踪 ,复制程度增加
     ||:  在controller 类名前面定义  @RequestMapping("/名称.do")在方法前添加注解 
          @RequestMapping(params = "method=listAllBoard")  则处理 有此参数的请求 多一个参数思路清楚

2.0  处理不同的http 请求:
     |:   在方法前面增加注释:RequestMethod 有POST,get,put.... 如:@RequestMapping(params = "method=createTopic",method = RequestMethod.POST)
            
3.0  参数处理:(默认这样处理,也是  约定优于设计原则 自动转换类型) 自由选择
     |:   普通属性: 如果入参是基本数据类型(如 int、long、float 等),URL 请求参数中一定要有对应的参数,否则将抛出 TypeMismatchException 异常,提示无法将 null 转换为基本数据类型。
     ||:  对象及属性: Userbean 的 userId 属性的类型是基本数据类型,但如果 URL 中不存在 userId 参数,Spring 也不会报错,此时 Userbean.userId 值为 0。如果 Userbean 对象拥有一个 dept.deptId 的级联属性,那么它将和 dept.deptId参数绑定。 
 
4.0  参数处理:(明确指定参数 匹配 自动转换类型)
     |:   普通属性 和 对象及属性:  @RequestParam("id") 注解,所以它将和 id 的 URL 参数绑定

5.0  绑定域中的某个属性: 
     |:  request     ModelMap 类,它作为通用的模型数据承载对象,传递数据供视图所用 代替 request.setParam
     ||: Session     @SessionAttributes("currUser") //①将ModelMap中属性名为currUser的属性 放到Session属性列表中,以便这个属性可以跨请求访问 (类名前面写)
     |||:session     多个参数 !@SessionAttributes({“attr1”,”attr2”})。  
     ||||: 取值绑定到方法上   (@ModelAttribute("currUser") User user)          




一些常用的注解  及解释:
1.0  @Autowired 将分别寻找和它们类型匹配的 Bean 注入 ----------  ByType
      如果有多个匹配结果 或者没结果 BeanCreationException 异常
     @Autowired(required = false),这等于告诉 Spring:在找不到匹配 Bean 时也不报错。
     @Qualifier 注释指定注入 Bean 的名称             ----------  ByName
     
2.0  @Autowired 可以对成员变量、方法以及构造函数进行注释,
     @Qualifier 的标注对象是成员变量、方法入参、构造函数入参
     @Autowired 和 @Qualifier 结合使用时,自动注入的策略就从 byType 转变成 byName 

3.0  @Resource 默认按 byName 自动注入



spring3 缓存详解  http://yxif.com
9
7
分享到:
评论
2 楼 muqingren 2011-03-19  
我在用springMVC 我在类上用@SessionAttribute("param"),启动后报错,报错信息如下,我实在找不到为什么了,帮帮我,谢谢

 
1.org.springframework.web.HttpSessionRequiredException: Session attribute 'userinfo' required - not found in session  
1 楼 muqingren 2011-03-19  
学习了,谢谢

相关推荐

    spring MVC笔记

    spring MVC笔记spring MVC笔记spring MVC笔记spring MVC笔记

    spring mvc 基础笔记 源代码

    spring mvc 基础笔记 源代码. 下载后倒入到eclipse当中。 请重新倒入Tomcat安装目录lib文件夹下的servlet-api.jar. 如果是jQuery.js文件有红色叉表示错误的话请无视。

    Spring3 MVC 学习笔记 入门

    ### Spring3 MVC 学习笔记入门知识点解析 #### 一、Spring MVC 概念与架构 **Spring MVC** 是 Spring Framework 的一个重要模块,主要用于构建基于 Web 的应用。它实现了 Model-View-Controller(MVC)设计模式,...

    Spring+MVC笔记.pdf

    Spring MVC是Spring框架的一部分,它是用于构建Web应用程序的一个模型-视图-控制器(Model-View-Controller,简称MVC)框架。Spring MVC的主要目的是将Web层的业务逻辑从表示层中分离出来,使得各个层次间的依赖性减少...

    Spring MVC 学习笔记 一 创建项目

    **Spring MVC 学习笔记 一 创建项目** 在IT领域,Spring MVC是Java Web开发中的一个强大框架,它简化了构建交互式Web应用程序的过程。本笔记将深入探讨如何创建一个基本的Spring MVC项目,让我们开始吧。 首先,...

    Spring3.0MVC 实用教程(高淇)

    Spring 3.0 MVC 是一个用于构建 Web 应用程序的全功能模型-视图-控制器(MVC)框架,它是 Spring 框架的一个核心模块。Spring MVC 提供了一种可插拔的架构,允许开发者选择使用内置的 Spring Web 框架,或者与其他 ...

    Spring MVC 学习笔记

    以下是对Spring MVC学习笔记的详细解释: 1. **创建项目**: 创建Spring MVC项目通常从构建一个Maven工程开始。在命令行中使用Maven的`archetype:generate`命令创建一个JEE5的Web工程。在提供的例子中,使用了特定...

    Spring MVC学习笔记MD.7z

    这个压缩包“Spring MVC学习笔记MD.7z”包含了作者在学习Spring MVC过程中的笔记、源代码以及相关文档,非常适合初学者或希望深入理解Spring MVC的开发者。 首先,`SpringMVC-Study.7z` 可能是作者整理的Spring MVC...

    spring5mvc第一天【大纲笔记】.zip

    SpringMVC 是一款由 Spring 框架衍生出的用于构建 Web 应用程序的 Model-View-Controller(MVC)框架,它极大地简化了Java Web应用的开发。本大纲笔记将带你逐步深入理解SpringMVC的核心概念和使用方法。 一、...

    spring mvc学习笔记

    ### Spring MVC 学习笔记 #### 一、Spring MVC 核心组件与工作流程 **Spring MVC** 是 **Spring Framework** 的一个重要模块,主要用于构建基于 Web 的应用程序。它提供了简化 Web 开发的一系列功能,包括但不限于...

    Spring MVC 学习笔记 九 json格式的输入和输出

    在这个学习笔记中,我们将深入探讨如何在Spring MVC中处理JSON格式的数据,包括输入和输出。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于前后端数据传输。 1. **JSON格式简介** ...

    spring MVC学习笔记

    Spring MVC是Spring框架的一部分,用于构建Web应用程序的模型-视图-控制器(Model-View-Controller)实现。Spring MVC通过分离业务逻辑、数据模型和视图界面来简化Web应用程序的开发。开发者可以使用注解或XML配置的...

    spring_mvc学习笔记

    Spring MVC是Spring框架的一个模块,主要用于构建Web应用程序。在Spring 3.0.x版本中,Spring MVC进行了大量的改进,引入了许多新特性和优化,使其更加高效且易于使用。 1. **基于注解的配置**: 在Spring 3.0.x中...

    Spring MVC 学习笔记 十二 PDF/Excel格式输出

    本学习笔记主要围绕Spring MVC的使用、配置和核心组件进行深入探讨,旨在帮助开发者更好地理解和掌握这一框架。 在Spring MVC中,Model代表业务逻辑和数据,View负责数据的展示,而Controller处理用户请求,协调...

    Spring MVC 学习笔记(一)

    **Spring MVC 学习笔记(一)** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的模型-视图-控制器(MVC)框架。Spring MVC 通过解耦应用程序的不同部分,使开发人员能够更轻松地进行...

    Spring MVC 复习笔记.rar

    Spring MVC 是 Spring 框架的一部分,它是一个用于构建 Web 应用程序的轻量级、模型-视图-控制器(MVC)框架。Spring MVC 提供了处理 HTTP 请求和响应的机制,以及解耦业务逻辑和用户界面的能力。它通过分离关注点,...

Global site tag (gtag.js) - Google Analytics