一、准备
Eclipse:Luna Service Release 1 (4.4.1)
Tomcat插件:tomcat7-maven-plugin
JDK:1.7.0_79
spring-webmvc:4.1.3.RELEASE
二、步骤
搭建Maven工程如下:

POM文件依赖配置:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.queen.springmvc</groupId>
<artifactId>HelloWorld</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<!-- 配置Tomcat插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<configuration>
<port>8080</port>
<path>/</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
Web.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<welcome-file-list>
<welcome-file>welcome.jsp</welcome-file>
</welcome-file-list>
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>helloWorld</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 配置DispatcherServlet的一个初始化参数:配置SpringMVC配置文件的位置和名称 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>helloWorld</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
springmvc.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
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-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd">
<!-- 定义Controller的扫描包 -->
<context:component-scan base-package="com.queen.springmvc"/>
<!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
/**
* @author queen
* @since 2017-07-15
*/
@Controller
public class HelloWorldHandler {
@RequestMapping("/helloworld")
public String hello() {
System.out.println("spring mvc hello world!");
return "success";
}
}
HelloWorldHandler.java文件配置
/**
* @author queen
* @since 2017-07-15
*/
@Controller
public class HelloWorldHandler {
@RequestMapping("/helloworld")
public String hello() {
System.out.println("spring mvc hello world!");
return "success";
}
}
注意:这里我们在类前面使用“@Controller”注解,将HelloWorldHandler标志为控制器
hello方法上有一个@RequestMapping注解,是用于匹配请求的路径,使用RequestMapping注解来映射请求的URL。
返回值会通过视图解析器解析为实际的物理视图, 对于InternalResourceViewResolver视图解析器,会做如下解析,通过prefix+returnVal+suffix 这样的方式得到实际的物理视图,然后会转发操作。这里的returnVal就是“success”
那我们的响应视图就是/WEB-INF/views/success.jsp与上面的说明一致
新建welcome.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>welcome</title>
</head>
<body>
<a href="helloworld">HelloWorld</a>
</body>
</html>
在该界面点击 helloworld 超链接跳转到success.jsp界面
新建success.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>success</title>
</head>
<body>
Welcome,Queen!
</body>
</html>
运行Tomcat 选中工程的pom文件,右键->Run As -> Run Configurations,以插件的方式启动Tomcat服务,如下:

其中springmvc.queen.com这个要在Maven Build下面新建,Browse Workspace选中新建的Maven工程HelloWorld,在Goals中输入tomcat7:run,最后点击Run运行。
出现如下画面启动成功:

接下来,我们测试访问一下服务 http://localhost:8080/

点击HelloWorld,完成了跳转
至此,我们完成了基于Spring MVC框架的HelloWorld程序的开发,包括Web.xml的配置,核心配置文件springmvc.xml文件的配置,控制器和展示页面的编写等。
三、总结
由上面的配置及开发流程我们总结一下SpringMVC开发的步骤
- 搭建Maven工程,导入依赖的jar包
- 在web.xml文件中配置DispatcherServlet
- 配置SpringMVC的核心配置文件springmvc.xml
- 编写请求处理器,并标记为控制器
- 编写视图
544



被折叠的 条评论
为什么被折叠?



