代码改变世界

1、搭建springMVC开发环境以及HelloWorld测试

2015-11-09 20:24  宏愿。  阅读(535)  评论(0编辑  收藏  举报

一、下载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.RELEASE\libs目录下。加入如下必须的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";
    }

}
HelloWorld.java

  @RequestMapping注解的用法会在后面详细说明。上面@RequestMapping注解映射的URL为: http://localhost:8080/springMVC/helloworld,在浏览器地址栏中向这个地址发送请求,springMVC框架就会调用 public String hello() 这个方法,并得到/WEB-INF/views/success.jsp页面。

 

  ⑥、编写视图文件success.jsp页面。将其放置在/WEB-INF/views/目录下面。

 

现在 springMVC 的开发环境搭建完成。