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

时间:2023-03-08 22:24:18

一、下载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 的开发环境搭建完成。