springMVC注解初步

一、(补充)视图解析器---XmlViewResolver

作用:分离配置信息。

在视图解析器---BeanNameViewResolver的基础之上进行扩充,新建一个myView.xml分离信息

在applicationContext.xml中进行配置XmlViewResolver,以及处理器配置

myView.xml:

实现效果:



二、SpringMVC注解开发

常用的两个注解:

@Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求。标识当前类是控制层的一个具体的实现

@requestMapping:放在方法上面用来指定某个方法的路径,当它放在类上的时候相当于命名空间需要组合方法上的requestmapping来访问

扩充:


注解名称


作用


@Controller


注解标明该类需要Spring容器自动加载,将一个类成为 Spring 容器的 Bean。


@RequestMapping


可以标注在类定义处,将 Controller 和特定请求关联起来;还可以标注在方法签名处。所以在类声明处标注的 @RequestMapping 相当于让 POJO 实现了 Controller 接口,而在方法定义处的 @RequestMapping 相当于让 POJO 扩展 Spring 预定义的 Controller(如 SimpleFormController 等)。


@Resource


用来注解该属性的SETTER方法参数来源于Spring Bean


@ModelAttribute


①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用;

②暴露表单引用对象为模型数据:放在处理器的一般方法(非功能处理方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择的所在城市等,而且在执行功能处理方法(@RequestMapping注解的方法)之前,自动添加到模型对象中,用于视图页面展示时使用;

③暴露@RequestMapping方法返回值为模型数据:放在功能处理方法的返回值上时,是暴露功能处理方法的返回值为模型数据,用于视图页面展示时使用。


@SessionAttributes


代表被注解对象会被存放到HttpSession作用域


@PathVariable


用于将请求URL中的模板变量映射到功能处理方法的参数上


@requestParam


用于将请求参数区数据映射到功能处理方法的参数上



入门案例:

① Springmvc的包扫描器:

由于使用了基于注解的Controller,所以这里指定了需要被扫描的包路径,如果有多个可以使用逗号分隔。



处理器类:[一个处理类中也可定义N个处理器方法]



2、请求中的通配符用法

实现效果:





3、请求中方式的定义

对于@RequestMapping,有一个属性method,用于对被注解方法所处理请求的提交方式进行限制,只有满足该method属性指定的提交方式,才会执行被注解方法。 method属性的取值为RequestMethod,是一个枚举常量。常用值为 RequestMethod.GET 与RequestMethod.POST



4、处理器方法的参数

处理器方法中常用的参数有五类,这些参数会在系统调用时由系统自动赋值,即程序员可在方法内直接使用:

①HttpServletRequest

②HttpServletResponse

③HttpSession

④用于承载数据的Model

⑤请求中所携带的请求参数

前三种实现方式:


1

2

3

4

5

6

7

8

@RequestMapping(value="/one.do",method=RequestMethod.GET)

public String doFirst(HttpServletRequest request,HttpServletResponse response,HttpSession session){

    System.out.println(request);

    System.out.println(response);

    System.out.println(session);

    return "index";

}



用于承载数据的Model:零散参数


1

2

3

4

5

6

7

8

9

10

@RequestMapping(value="/one.do",method=RequestMethod.GET)

    public String doFirst(Model model){

    

        Map<String,Object> datas=new HashMap<String, Object>();

        datas.put("uname""逗比 ^^");

        model.addAllAttributes(datas);

        System.out.println(model);

        

        return "index";

    }

 



对象参数:装配成实体

自定义实体类:UserInfo


1

2

3

4

5

6

7

8

9

10

11

12

public class UserInfo {

    private String uname;

    public String getUname() {

        return uname;

    }

    public void setUname(String uname) {

        this.uname = uname;

    }

   

 FirstController控制器类方法参数是实体类对象:


1

2

3

4

5

6

7

8

9

10

11

12

13

@Controller

@RequestMapping(value="/con")

public class FirstController{

    @RequestMapping(value="/dofirst.do")

    public String doFirst(UserInfo info){

        System.out.println(info.getUname());

        

        return "index";

    }

    

}

 大配置同理:

jsp页面form表单提交:

实现效果:

控制台会出现乱码情况,如何解决?



5、解决乱码问题:Web.xml配置编码过滤器---CharacterEncodingFilter

时间: 2024-08-01 22:37:02

springMVC注解初步的相关文章

SpringMVC注解开发初步

一.(补充)视图解析器---XmlViewResolver 作用:分离配置信息. 在视图解析器---BeanNameViewResolver的基础之上进行扩充,新建一个myView.xml分离信息 在applicationContext.xml中进行配置XmlViewResolver,以及处理器配置 myView.xml: 实现效果: 二.SpringMVC注解开发 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean

eclipse中导入jdk源码、SpringMVC注解@RequestParam、SpringMVC文件上传源码解析、ajax上传excel文件

eclipse中导入jdk源码:http://blog.csdn.net/evolly/article/details/18403321, http://www.codingwhy.com/view/799.html. ------------------------------- SpringMVC注解@RequestParam:http://825635381.iteye.com/blog/2196911. --------------------------- SpringMVC文件上传源

SpringMVC注解和Freemarker整合使用全步骤

SpringMVC现在是比较热门的一种框架了,使用起来感觉还是很不错的,现在我分享一下集体的配置和使用,希望对学习SpringMVC的朋友有用.一.首先我们做准备工作,下载Spring包,下载Freemarker包.二.配置web.xml. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

springMVC 注解版

关于Spring MVC注解 @Transactional 事务标签 @InitBinder 标签 分类: Java开发 源代码分享2012-06-14 10:59 7721人阅读 评论(2) 收藏 举报 springmvcjavaemailpathstring 主要用到了spring-aop-2.5.6.jar的AOP支持包! 之前我们在AccountService中加入了注解@Transactional标签,但是要想要真正发挥事务作用,还需要一些配置. 主要需要调整dao.xml文件 dao

SpringMVC注解启用

本文是我在学习网络视频SpringMVC的过程中写下的.感谢发布视频的各位前辈 下面讲解SpringMVC注解启用的几个关键步骤: 首先需要加载配置文件(如果使用本人的代码请自己定义路径) <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://

springMVC(注解版笔记)

springMVC(注解版) 较之于非注解版本,发生一下变化: 1.配置文件需要配置的标签有: <!-- 包的扫描,此包下面的所有包都启用注解 --> <context:component-scan base-package="com.mindreader.springmvc.controller" /> <!-- 开启注解 --> <!--包的映射--> <bean class="org.springframework.

springmvc 注解、json的正确配置

正确的springmvc配置如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.sprin

Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——SpringMVC注解开发(基础篇) 本文主要内容: (1)SpringMVC校验 (2)数据回显 (3)异常处理器 (4)图片上传 (5)Json数据交互 (6)支持RESTful 1.SpringMVC校验 1.1校验理解 项目中,通常使用较多的是前端的校验,比如页面中js校验.对于安全要求较高的

SpringMVC注解汇总(二)-请求映射规则

接上一节SpringMVC注解汇总-定义 讲到Httpy请求信息 URL路径映射 1)普通URL路径映射 @RequestMapping(value={"/test1", "/user/create"}): 多个URL路径可以映射到同一个处理器的功能处理方法. 2)URI模板模式映射@RequestMapping(value="/users/{userId}"): {×××}占位符, 请求的URL可以是 "/users/123456&q