原地址:http://alog2012.iteye.com/blog/2040214
一、SpringMVC注解入门
1. 创建web项目
2. 在springmvc的配置文件中指定注解驱动,配置扫描器
- <!-- mvc的注解驱动 -->
- <mvc:annotation-driven />
- <!--只要定义了扫描器,注解驱动就不需要,扫描器已经有了注解驱动的功能 -->
- <context:component-scan base-package="org.study1.mvc.controller" />
- <!-- 前缀+ viewName +后缀 -->
- <bean
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <!-- WebContent(WebRoot)到某一指定的文件夹的路径 ,如下表示/WEB-INF/view/*.jsp -->
- <property name="prefix" value="/WEB-INF/view/"></property>
- <!-- 视图名称的后缀 -->
- <property name="suffix" value=".jsp"></property>
- </bean>
<context:component-scan/> 扫描指定的包中的类上的注解,常用的注解有:
@Controller 声明Action组件
@Service 声明Service组件 @Service("myMovieLister")
@Repository 声明Dao组件
@Component 泛指组件, 当不好归类时.
@RequestMapping("/menu") 请求映射
@Resource 用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName")
@Autowired 用于注入,(srping提供的) 默认按类型装配
@Transactional( rollbackFor={Exception.class}) 事务管理
@ResponseBody
@Scope("prototype") 设定bean的作用
3. @controller:标识当前类是控制层的一个具体的实现
4. @requestMapping:放在方法上面用来指定某个方法的路径,当它放在类上的时候相当于命名空间需要组合方法上的requestmapping来访问。
- @Controller // 用来标注当前类是springmvc的控制层的类
- @RequestMapping("/test") // RequestMapping表示 该控制器的唯一标识或者命名空间
- public class TestController {
- /**
- * 方法的返回值是ModelAndView中的
- */
- @RequestMapping("/hello.do") // 用来访问控制层的方法的注解
- public String hello() {
- System.out.println("springmvc annotation... ");
- return "jsp1/index";
- }
- //*****
- }
在本例中,项目部署名为mvc,tomcat url为 http://localhost,所以实际为:http://localhos/mvc
在本例中,因为有命名空间 /test,所以请求hello方法地址为:http://localhost/mvc/test/hello.do
输出:springmvc annotation...
二、注解形式的参数接收
1. HttpServletRequest可以直接定义在参数的列表,通过该请求可以传递参数
url:http://localhost/mvc/test/toPerson.do?name=zhangsan
- /**
- * HttpServletRequest可以直接定义在参数的列表,
- *
- */
- @RequestMapping("/toPerson.do")
- public String toPerson(HttpServletRequest request) {
- String result = request.getParameter("name");
- System.out.println(result);
- return "jsp1/index";
- }
可以从HttpServletRequest 取出“name”属性,然后进行操作!如上,可以取出 “name=zhangsan”
输出:zhangsan
2. 在参数列表上直接定义要接收的参数名称,只要参数名称能匹配的上就能接收所传过来的数据, 可以自动转换成参数列表里面的类型,注意的是值与类型之间是可以转换的
2.1传递多种不同类型的参数:
url:http://localhost/mvc/test/toPerson1.do?name=zhangsan&age=14&address=china&birthday=2000-2-11
- /**
- * 传递的参数的名字必须要与实体类的属性set方法后面的字符串匹配的上才能接收到参数,首字符的大小写不区分
- * 请求中传的参数只要是能和参数列表里面的变量名或者实体里面的set后面的字符串匹配的上就能接收到 a
- *
- */
- @RequestMapping("/toPerson1.do")
- public String toPerson1(String name, Integer age, String address,
- Date birthday) {
- System.out.println(name + " " + age + " " + address + " " + birthday);
- return "jsp1/index";
- }
- /**
- * 注册时间类型的属性编辑器,将String转化为Date
- */
- @InitBinder
- public void initBinder(ServletRequestDataBinder binder) {
- binder.registerCustomEditor(Date.class, new CustomDateEditor(
- new SimpleDateFormat("yyyy-MM-dd"), true));
- }
输出:zhangsan 14 china Fri Feb 11 00:00:00 CST 2000
2.2传递数组:
url:http://localhost/mvc/test/toPerson2.do?name=tom&name=jack
- /**
- * 对数组的接收,定义为同名即可
- */
- @RequestMapping("/toPerson2.do")
- public String toPerson2(String[] name) {
- for (String result : name) {
- System.out.println(result);
- }
- return "jsp1/index";
- }
输出:tom jack
2.3传递自定义对象(可多个):
url:http://localhost/mvc/test/toPerson3.do?name=zhangsan&age=14&address=china&birthday=2000-2-11
User 定义的属性有:name,age,并且有各自属性的对应的set方法以及toString方法
Person定义的属性有:name,age.address,birthday,并且有各自属性的对应的set方法以及toString方法
- /**
- *
- * 传递的参数的名字必须要与实体类的属性set方法后面的字符串匹配的上才能接收到参数,首字符的大小写不区分
- * 请求中传的参数只要是能和参数列表里面的变量名或者实体里面的set后面的字符串匹配的上就能接收到
- *
- */
- @RequestMapping("/toPerson3.do")
- public String toPerson3(Person person, User user) {
- System.out.println(person);
- System.out.println(user);
- return "jsp1/index";
- }
输出:
Person [name=zhangsan, age=14, address=china, birthday=Fri Feb 11 00:00:00 CST 2000]
User [name=zhangsan, age=14]
自动封装了对象,并且被分别注入进来!
三、注解形式的结果返回
1. 数据写到页面,方法的返回值采用ModelAndView, new ModelAndView("index", map);,相当于把结果数据放到response里面
url:http://localhost/mvc/test/toPerson41.do
url:http://localhost/mvc/test/toPerson42.do
url:http://localhost/mvc/test/toPerson43.do
url:http://localhost/mvc/test/toPerson44.do
相关推荐
在这个入门例子中,我们将探讨如何使用SpringMVC的注解来实现用户信息的保存和文件上传功能。 首先,让我们了解SpringMVC的核心组件: 1. **DispatcherServlet**:它是SpringMVC的前端控制器,负责接收HTTP请求,...
在这个"springmvc注解版 helloworld"项目中,我们将深入探讨如何使用注解来配置和实现一个简单的Hello World应用。这个项目特别适合初学者入门,因为每个步骤都有详细的注释,确保你能理解每一行代码的作用。 首先...
Controller通常是一个实现了特定注解(如@Controller)的Java类,负责业务逻辑的处理。例如,一个简单的HelloWorld Controller可能如下所示: ```java import org.springframework.stereotype.Controller; import ...
在这个快速入门教程中,我们将深入理解 SpringMVC 的核心概念、配置以及如何创建一个简单的应用程序。 1. **MVC 模式** MVC 模式是一种设计模式,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制...
这是一个基于eclipse+springmvc+freemarker+注解的入门例子,是一个war包,import到eclipse就应该可以直接运行,但是确保maven环境到存在;我做为一个入门者,是参照了...
教程名称: 拓薪教育SpringMVC从入门到深层...拓薪教育-springmvc注解开发第一个例子 · 06.拓薪教育-springmvc的参数接收 · 07.拓薪教育-springmvc结果 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
这个入门例子是为初学者设计的,旨在帮助他们快速理解和上手Spring MVC。 首先,我们需要理解Spring MVC的基本组件: 1. **DispatcherServlet**:这是Spring MVC的核心组件,作为前端控制器接收所有的HTTP请求,并...
下面我们将深入探讨"非注解SpringMVC+Spring+Hibernate入门实例"中的关键知识点。 首先,让我们从SpringMVC开始。SpringMVC是一个Model-View-Controller架构模式的实现,用于构建Web应用程序。在非注解方式下,我们...
**SpringMVC与Maven入门实例详解** 在Java Web开发中,SpringMVC和Maven是两个非常重要的工具。SpringMVC是Spring框架的一部分,它提供了模型-视图-控制器(MVC)架构,用于构建可维护、高性能的Web应用程序。而...
**SpringMVC快速入门基础代码详解** SpringMVC是Spring框架的一个模块,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,使得开发人员能够更高效地处理HTTP请求和响应,同时保持代码的清晰性和可...
本入门教程针对初学者设计,旨在帮助你快速掌握Spring MVC的基本概念和使用方法,而不涉及高级的注解配置。 Spring MVC是Spring框架的一个模块,主要负责处理HTTP请求并返回响应。它遵循Model-View-Controller...
在本压缩包 "springmvc从入门到精通的代码.rar" 中,你将找到一系列关于 Spring MVC 学习的资源,包括代码示例,这将帮助你从零基础开始,逐步掌握 Spring MVC 的核心概念和实际应用。 1. **MVC 模式介绍**: MVC ...
在这个"SpringMVC入门jar包"中,包含了一系列必要的库文件,它们是构建基于SpringMVC的应用的基础。 首先,SpringMVC的核心组件包括DispatcherServlet,它是SpringMVC的前端控制器,负责接收HTTP请求,并将其分发到...
4. **@Controller注解**:用于标记一个类为Spring MVC的控制器,这样Spring会自动将该类实例化并管理。 5. **@RequestMapping**:用于映射HTTP请求,可以放在类级别或方法级别,指定URL与控制器方法的对应关系。 6...
在这个名为“第一个springmvc入门项目(非注解版)”的项目中,我们将探讨如何在不使用注解的情况下搭建Spring MVC的基本结构。 1. **项目结构**: - `webapp`目录:这是Web应用程序的标准目录结构,包含`WEB-INF`...
本入门实例将重点介绍如何使用注解来简化Spring MVC的配置,以便快速入门。Eclipse Dynamic Web工程是开发此类应用的常见环境。 首先,我们需要创建一个Eclipse Dynamic Web项目。在Eclipse中,选择"File" -> "New...
在这个"SpringMVC新手入门Demo1_1"压缩包中,包含了五个不同的示例项目,帮助初学者逐步理解并掌握SpringMVC的核心概念和使用方法。 1. **模型(Model)**: 在SpringMVC中,模型通常是Java对象,负责存储应用的数据...
本入门案例源码适用于Eclipse和MyEclipse,提供了完整的项目配置和运行环境,便于初学者快速理解和上手SpringMVC。 在SpringMVC中,核心概念包括DispatcherServlet、Controllers、Models、Views以及各种配置文件。...
#### 四、SpringMVC注解开发 在SpringMVC中,注解提供了一种更加简洁的方式来处理请求和参数绑定。常见的注解包括: - `@RequestMapping`:用于映射请求路径。 - `@ModelAttribute`:用于将模型属性自动绑定到方法...
3. **注解实例**:通过实例,你可以学习如何使用这些注解来简化代码,比如使用`@RequestMapping`处理不同的URL请求,`@Autowired`自动装配bean,以及`@Service`和`@Component`在组件扫描中的作用。 4. **Spring与...