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

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

原文: https://howtodoinjava.com/spring-mvc/spring-3-mvc-hello-world-application-with-maven-and-jstl/

在本 Spring MVC 教程中,我们将使用 Spring MVC 框架构建 Hello World 应用程序。 逐步遵循给定的说明并学习基础知识。 我们已经使用 JSTL 来编写视图文件。

1. 开发环境

  1. Maven
  2. Eclipse juno
  3. Tomcat 7

2. 创建 Spring MVC 应用程序

2.1. 创建 Maven Web 应用程序

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

现在执行以下命令。

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

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

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

$ cd firstSpringApplication

$ mvn eclipse:eclipse -Dwtpversion=2.0

2.2. 更新 Maven 依赖项

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

pom.xml

<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 配置位置。

<!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

<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

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

<%@ 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

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

下载源码

学习愉快!