一、下载spring-framework,采用简单的方式:
http://repo.springsource.org/libs-release-local/org/springframework/spring/4.1.7.RELEASE/spring-framework-4.1.7.RELEASE-dist.zip
http://repo.spring.io/libs-release-local/org/springframework/security/spring-security/4.1.7.RELEASE/spring-security-4.1.7.RELEASE-dist.zip
直接粘到地址栏或者下载工具里,每次有更新只要改版本号就可以;
二、搭建环境:
①、加入jar包。位于spring-framework-4.1.7.RELEASElibs目录下。加入如下必须的jar包:
commons-logging-1.1.1.jar
spring-aop-4.1.7.RELEASE.jar
spring-beans-4.1.7.RELEASE.jar
spring-context-4.1.7.RELEASE.jar
spring-core-4.1.7.RELEASE.jar
spring-expression-4.1.7.RELEASE.jar
spring-web-4.1.7.RELEASE.jar
spring-webmvc-4.1.7.RELEASE.jar
②、在web.xml文件中配置一个springDispatcherServlet(区别于struts2中配置filter)
<!-- 配置DispatcherServlet --> <servlet> <servlet-name>springDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 配置DispacherServlet的初始化参数:指定springMVC配置文件的位置和名称 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- Map all requests to the DispatcherServlet for handling --> <servlet-mapping> <servlet-name>springDispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
以上配置指定了springMVC的配置文件位于类路径下,文件名称为springmvc.xml。本日志采用这种配置方式。还有一种方式就是不指定contextConfigLocation,那么默认的配置文件位于/WEB-INF路径下,其文件名为 [<servlet-name>]-servlet.xml。如下配置:
<!-- 配置DispatcherServlet --> <servlet> <servlet-name>springDispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 在不指定配置文件路径和名称的情况下,默认配置文件就是/WEB-INF/springDispatcher-servlet.xml --> <load-on-startup>1</load-on-startup> </servlet> <!-- Map all requests to the DispatcherServlet for handling --> <servlet-mapping> <servlet-name>springDispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
由于<servlet-name>的值为springDispatcher,那么其默认配置文件便是:/WEB-INF/springDispatcher-servlet.xml。注意,上面的配置将所有的请求都映射到org.springframework.web.servlet.DispatcherServlet中进行处理。
③、加入SpringMVC的配置文件:springmvc.xml,并配置自动扫描包和视图解析器:
<!-- 配置自动扫描的包 --> <context:component-scan base-package="com.springmvc"></context:component-scan> <!-- 配置视图解析器:如何把hander方法返回值解析为实际的物理视图 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean>
④、编写处理请求的处理器类HelloWorld.java,并用注解@Controller将该类标识为控制器。
⑤、使用 @RequestMapping 注解来映射请求的URL。这个注解既可以放置在处理器类上面,也可以放置在处理方法上面。
package com.springmvc.helloworld_1; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller public class HelloWorld { /** * 1、使用 @RequestMapping 注解来映射请求的URL * 2、返回值会通过视图解析器解析为实际的物理视图,对于 InternalResourceViewResolver 视图解析器会做如下的解析: * 通过 prefix + rerutnVal + suffix这样的方式得到实际的物理视图,然后做转发 * * 因此,下面的 hello() 方法会将请求转发到 /WEB-INF/views/success.jsp 页面上去 */ @RequestMapping("/helloworld") public String hello(){ System.out.println("hello world"); return "success"; } }
@RequestMapping注解的用法会在后面详细说明。上面@RequestMapping注解映射的URL为: http://localhost:8080/springMVC/helloworld,在浏览器地址栏中向这个地址发送请求,springMVC框架就会调用 public String hello() 这个方法,并得到/WEB-INF/views/success.jsp页面。
⑥、编写视图文件success.jsp页面。将其放置在/WEB-INF/views/目录下面。
现在 springMVC 的开发环境搭建完成。