# 使用 Maven 和 JSTL 的 Spring MVC Hello World 示例

> 原文： [https://howtodoinjava.com/spring-mvc/spring-3-mvc-hello-world-application-with-maven-and-jstl/](https://howtodoinjava.com/spring-mvc/spring-3-mvc-hello-world-application-with-maven-and-jstl/)

在本 Spring MVC 教程中，我们将使用 Spring MVC 框架构建 Hello World 应用程序。 逐步遵循给定的说明并学习基础知识。 我们已经使用 [JSTL](https://en.wikipedia.org/wiki/JavaServer_Pages_Standard_Tag_Library) 来编写视图文件。

## 1\. 开发环境

1.  [Maven](https://maven.apache.org/)
2.  [Eclipse juno](https://www.eclipse.org/juno/)
3.  [Tomcat 7](https://tomcat.apache.org/tomcat-7.0-doc/index.html)

## 2\. 创建 Spring MVC 应用程序

#### 2.1. 创建 Maven Web 应用程序

要创建 Maven Web 应用程序，请打开命令提示符，并将当前工作目录放入 Eclipse 工作区。

现在执行以下命令。

```java
$ mvn archetype:generate -DgroupId=com.howtodoinjava.mvc 
							-DartifactId=firstSpringApplication
							-DarchetypeartifactId=maven-archetype-webapp 
							-DinteractiveMode=false

```

请从上述命令中删除换行符。 我添加它是为了使其可读。

现在在给定命令下运行。 这会将创建的项目转换为 Eclipse Web 项目。

```java
$ cd firstSpringApplication

$ mvn eclipse:eclipse -Dwtpversion=2.0
```

#### 2.2. 更新 Maven 依赖项

使用这些依赖关系更新`pom.xml`文件。

`pom.xml`

```java
<properties>
    <spring.version>3.0.5.RELEASE</spring.version>
</properties>

<!-- Spring 3 dependencies -->
<dependency>
	<groupid>org.springframework</groupid>
	<artifactId>spring-core</artifactId>
	<version>${spring.version}</version>
	<scope>runtime</scope>
</dependency>

<dependency>
	<groupid>org.springframework</groupid>
	<artifactId>spring-web</artifactId>
	<version>${spring.version}</version>
	<scope>runtime</scope>
</dependency>

<dependency>
	<groupid>org.springframework</groupid>
	<artifactId>spring-webmvc</artifactId>
	<version>${spring.version}</version>
	<scope>runtime</scope>
</dependency>

<dependency>
	<groupid>javax.servlet</groupid>
	<artifactId>jstl</artifactId>
	<version>1.2</version>
	<scope>runtime</scope>
</dependency>

<dependency>
	<groupid>taglibs</groupid>
	<artifactId>standard</artifactId>
	<version>1.1.2</version>
	<scope>runtime</scope>
</dependency>

```

## 3\. 创建分派器 Servlet

#### 3.1. 更新`web.xml`

更新`web.xml`以获取 Servlet 映射和 spring 配置位置。

```java
<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
  <display-name>www.howtodoinjava.com</display-name>

  <servlet>
		<servlet-name>spring-mvc</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>

	<servlet-mapping>
		<servlet-name>spring-mvc</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring-mvc-servlet.xml</param-value>
	</context-param>

	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
</web-app>

```

#### 3.2. Bean 配置文件

我们将需要在`WEB-INF`文件夹中写入配置文件（`spring-mvc-servlet.xml`）。 我们可以随意命名，但是请记住，它必须与我们在`web.xml`中声明的 servlet 名称匹配。

`spring-mvc-servlet.xml`

```java
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

	<context:component-scan base-package="com.howtodoinjava.web" />

	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
		<property name="prefix">
		    <value>/WEB-INF/jsp/</value>
		</property>
		<property name="suffix">
			<value>.jsp</value>
		</property>
	</bean>

</beans>

```

## 3\. 创建 Spring MVC 控制器

该请求处理器将接收对特定 URL 的所有请求，并返回模型数据以查看配置的视图处理器。

`DemoController.java`

```java
package com.howtodoinjava.web;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
@RequestMapping("/access")
public class DemoController
{
	@RequestMapping(method = RequestMethod.GET)
	public String printWelcome(ModelMap model)
	{
		model.addAttribute("message", "Spring 3 MVC Hello World !! Thanks to www.howtodoinjava.com");
		return "helloWorld";
	}
}

```

## 4\. 创建视图

我们的视图是一个 **jsp** 文件，当从服务器返回相关视图时，它将在浏览器中呈现。

`helloWorld.jsp`

```java
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jstl/xml" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql" %>

<html>
	<head>
		<title>My first example using Spring 3 MVC</title>
	</head>
	<body>
		<h1>Welcome message : <c:out value="${message}"></c:out></h1>
	</body>
</html>

```

## 5\. 演示

要运行该应用程序，请在 eclipse 中配置 tomcat 服务器。 现在，右键单击项目，然后选择运行方式。 在子菜单上，选择**在服务器**上运行。

现在在浏览器中输入：`http://localhost:8080/firstSpringApplication/access`

我们应该能够在浏览器中看到消息`Spring 3 MVC Hello World !! Thanks to www.howtodoinjava.com`。

如果您在运行或部署给定应用程序时发现任何问题，请给我留言。

[下载源码](https://docs.google.com/open?id=0B7yo2HclmjI4OS1sd0JvSEE1ckk)

学习愉快！