Spring 3.0 MVC入门:配置与控制器实现

需积分: 3 21 下载量 65 浏览量 更新于2024-09-25 收藏 19KB DOCX 举报
"Spring 3.0 MVC入门教程详解" 在Spring框架的版本3.0.5 Release中,Spring MVC提供了一种强大且灵活的Web应用程序开发模型,使得初学者能够更好地理解和快速上手。本文将带你通过一个简单的例子,了解如何配置和使用Spring MVC的基本组件。 首先,确保在项目中添加必要的依赖库。Spring 3.0 MVC主要依赖于以下几个包: 1. aop:面向切面编程(AOP),用于实现模块间的解耦和责任分离。 2. asm:字节码操作工具包,用于动态代理和元数据增强。 3. core:Spring的核心框架,包括IoC容器、依赖注入等。 4. context:Spring的应用上下文管理,包括配置文件解析和Bean管理。 5. web:Spring Web模块,提供对HTTP请求处理的支持。 在项目的WEB-INF目录下,创建`web.xml`文件,这是Spring MVC的部署描述符,用于配置Servlet和Spring MVC的处理器映射器(DispatcherServlet)。以下是基本的`web.xml`配置片段: ```xml <web-app> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> ``` 接下来,创建`WEB-INF/springmvc-servlet.xml`文件,这是Spring MVC的核心配置文件,定义了控制器(Controller)、视图解析器(ViewResolver)以及任何其他自定义配置。例如: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"> <!-- 启动Spring MVC --> <mvc:annotation-driven /> <!-- 定义一个控制器 --> <bean class="com.example.HelloController" /> <!-- 视图解析器配置 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> </beans> ``` `HelloController.java`类是实际处理HTTP请求的控制器,它继承自`org.springframework.web.bind.annotation.Controller`并实现了`RequestMapping`注解。在这个例子中,我们创建了一个名为`helloWorld`的方法,该方法接收`/student.do`路径的请求: ```java @Controller public class HelloController { @RequestMapping(value = "/student.do") public ModelAndView helloWorld(HttpServletRequest request) { String id = request.getParameter("id"); System.out.println("id: " + id); String name = request.getParameter("name"); Map<String, Object> map = new HashMap<>(); map.put("one", "one"); map.put("two", "two"); map.put("three", "two"); ModelAndView modelAndView = new ModelAndView("helloWorld"); modelAndView.addObject("result", map); modelAndView.addObject("answer", "weichao"); return modelAndView; } } ``` 最后,在`WEB-INF/views/helloWorld.jsp`中,我们处理响应视图,通过JSP的EL表达式或`<c:out>`标签获取`result`和`answer`对象的值: ```jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <body> my name: <c:out value="${result.one}" /> <!-- 获取result中的one键值 --> <!-- ... --> </body> ``` 总结起来,学习Spring 3.0 MVC的关键步骤包括添加依赖库、配置Servlet和Spring MVC容器、定义和实现Controller,以及配置视图解析。通过这个基础示例,你将了解到如何使用Spring MVC处理HTTP请求、注入参数和渲染视图。随着对框架深入理解,你可以进一步探索更高级的主题,如异常处理、AOP、表单验证等。