Spring 4 MVC HelloWorld - XML示例

構建Spring MVC 4的HelloWorld實例。html

使用如下技術:java

  • Spring 4.0.6.RELEASE
  • Maven 3
  • JDK 1.8

若是您已經熟悉maven使用eclipse 建立項目,請隨意跳過第1步。web

讓咱們開始。spring

步驟1:在Eclipse中建立一個新的Maven webapp項目

Goto File-> New - > Maven Project,apache

Spring4MVCHelloWorldDemo_img1
Spring4MVCHelloWorldDemo_img2

取消選中「使用默認工做區位置」,以防您但願在其餘位置建立項目api

點擊下一步spring-mvc

Spring4MVCHelloWorldDemo_img3

從選項列表中選擇maven web app archetype,單擊下一步mvc

Spring4MVCHelloWorldDemo_img4

提供Group Id,Artifact Id,如上所示的版本,而後單擊Finish。更新您的項目app

你應該獲得以下所示的文件結構eclipse

Spring4MVCHelloWorldDemo_img5

注意:若是您沒有在項目結構中看到src/main/javasrc/test/java文件夾,請轉到Project>Properties>Java BuildPath>Libraries,選擇/更改成適當的Java版本,單擊肯定,您應該如今看到這些文件夾。

步驟2:在Maven pom.xml中提供Spring依賴關係

因爲它是一個maven項目,全部項目依賴關係均可以配置,pom.xml而且maven將自動下載全部相應的依賴項。如下是咱們項目的pom.xml。

 

<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.demo.springmvc</groupId>
  <artifactId>Spring4MVCHelloWorldDemo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  
  <properties>
        <springframework.version>4.0.6.RELEASE</springframework.version>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
        </dependency>
 
        <!-- Below declared dependencies are included for the servers who may complain about servlet/jstl missing dependency -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>javax.servlet.jsp-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
 
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.2</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        <finalName>Spring4MVCHelloWorldDemo</finalName>
    </build>
</project>

maven-compiler-plugin這裏添加了Maven插件來明確指定咱們將要使用的java版本。請注意,它也強制eclipse用於項目的jdk版本。若是不存在,eclipse將jdk-version切換回1.5,這是使人討厭的。因此請添加它在您的項目pom.xml。

步驟3:添加控制器和視圖

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("/")
public class HelloWorldController {
 
    @RequestMapping(method = RequestMethod.GET)
    public String sayHello(ModelMap model) {
        model.addAttribute("greeting", "Hello World from Spring 4 MVC");
        return "welcome";
    }
 
    @RequestMapping(value="/helloagain", method = RequestMethod.GET)
    public String sayHelloAgain(ModelMap model) {
        model.addAttribute("greeting", "Hello World Again, from Spring 4 MVC");
        return "welcome";
    }
 
}

  在WEB-INF下建立一個名爲views的新文件夾,並添加一個簡單的JSP頁面welcome.jsp(WEB-INF / views / welcome.jsp),在咱們的例子中,它將簡單地訪問從控制器發送的模型值。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
	Greeting:${greeting}
</body>
</html>

步驟4:建立Spring配置文件

<?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: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.1.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd
		http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
		
    <context:component-scan base-package="com.springmvc" />
 
    <mvc:annotation-driven />
     
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix">
            <value>/WEB-INF/views/</value>
        </property>
        <property name="suffix">
            <value>.jsp</value>
        </property>
    </bean>
 
</beans>

  

步驟5:更新Web配置(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_3_0.xsd" id="WebApp_ID" version="3.0">

 <display-name>Spring4MVCHelloWorldDemo Web Application</display-name>
 
 <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>
        org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
 </servlet>
 
 <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
 </servlet-mapping>
 
</web-app>
相關文章
相關標籤/搜索