1. 程式人生 > >搭建springMVC環境並且寫一個helloWorld例項

搭建springMVC環境並且寫一個helloWorld例項

1.new一個maven project。勾上create a simple project,然後點選next
這裡寫圖片描述

2.輸入groupId 和ArtifactId, Version使用預設就可以,Packaging選war,其他可以不填,然後點選Finish
這裡寫圖片描述

3.剛建好的工程,會報錯,這是沒有關係的,因為我們的web.xml還沒有建好
這裡寫圖片描述

4.右鍵工程,選擇properties,點選Project Facets裡面,去掉Dynamic Web Module勾選,Java選項上版本改為1.7,然後點選apply,再點選ok。
這裡寫圖片描述

5.剛才去掉了Dynamic Web Module的勾選,是因為預設的web配置不能滿足,我們要重新設定。所以,接下來,再次右鍵工程,選擇properties,點選Project Facets裡面,勾上Dynamic Web Module,並把版本改為2.5,點選下面的Further configuration available…,看到如下對話方塊:
這裡寫圖片描述


如下所示:輸入:src/main/webapp 並打勾,然後點選ok,在點選applay,點選ok
這裡寫圖片描述
此時可以看見我們的目錄結構如下,此時我們的工程已經搭建好
這裡寫圖片描述

6.在webapp目錄下新建一個index.jsp,工程或報錯。
這裡寫圖片描述
報錯之後,我們需要新建一個tomacat伺服器,在windows–>preference–>server–>runtime environment
中配置一個apache tomacat 伺服器。配置好之後,右鍵工程,點選Build path,點選configure build path,
點選add libary
這裡寫圖片描述
選擇server time,然後一直next下
這裡寫圖片描述


點選apply,ok。此時我們的工程就不再報錯。
這裡寫圖片描述

7.開啟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.tydic.portal</groupId> <artifactId>testSpring</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.1.6.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.6.RELEASE</version> </dependency> </dependencies> <build> <plugins> <!-- Compiler --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> <compilerArgs> <arg>-parameters</arg> </compilerArgs> </configuration> </plugin> <!-- Test --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> </build> </project>

8.開啟web.xml,輸入以下內容

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>testSpring</display-name>  

     <!-- 前端控制器 -->  
    <servlet>    
        <servlet-name>spring-mvc</servlet-name>  <!-- 名稱,真實的檔名需要在這個名字後面加上-servlet字尾 -->  
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--  DispatcherServlet路徑,照寫 -->  

        <!--   這裡可以設定前端控制器的路徑,如果這一步註釋掉,則預設前端控制器的路徑為:/WEB-INF/[servlet-name]-servlet.xml  
       <init-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>/WEB-INF/configs/spring-mvc-servlet.xml</param-value> 這裡配置前端控制器的路徑  
        </init-param>    
        -->  
          <init-param>
        <param-name>contextConfigLocation</param-name>
        <!-- <param-value>classpath:spring-mvc-servlet.xml</param-value> -->
        <param-value>/WEB-INF/spring-mvc-servlet.xml</param-value> 
        </init-param>
        <load-on-startup>1</load-on-startup>  
    </servlet>    

    <!-- 攔截所有請求 -->  
    <servlet-mapping>    
        <servlet-name>spring-mvc</servlet-name>     <!-- 這裡的名字要和上面的servlet-name統一 -->  
        <url-pattern>/</url-pattern>    
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>
</web-app>

9.在WEB-INF目錄下新建一個檔案view,在view中新建一個HelloWorld.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>Insert title here</title>
</head>
<body> 
<h1>message:${message}</h1> 
</body>
</html>

9.在WEB-INF目錄下新建一個spring-servlet-mvc.xml,內容如下

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:context="http://www.springframework.org/schema/context"  
    xmlns:mvc="http://www.springframework.org/schema/mvc" 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  
        http://www.springframework.org/schema/mvc  
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> 
    <!-- 啟用@controler模式  -->   
    <context:annotation-config />
    <!--   配置掃描器 -->
    <!-- <context:component-scan base-package="com.springmvc.controller" /> -->
     <context:component-scan base-package="com.springmvc.controller" >
        <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
    </context:component-scan>
    <!--  讓DispatcherServlet啟用-->
    <mvc:annotation-driven/>
    <!--    檢視解析器   -->
    <bean id="viewResolver"  class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
        <!-- <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"> -->
        <property name="prefix" value="/WEB-INF/view/"/>  
        <property name="suffix" value=".jsp" />  
        <property name="viewClass">  
            <value>org.springframework.web.servlet.view.InternalResourceView</value>  
        </property>
        <property name="order" value="1"/> 
    </bean>  
</beans>  

10.在src/main/java 目錄下新建一個com.springmvc.controller包,在包裡新建一個類Hello,內容如下

package com.springmvc.controller;

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

@Controller
@RequestMapping(value="/hello")
public class Hello {

    @RequestMapping(value="/mvc",method=RequestMethod.GET)
    public String HelloWorld(Model model){
        model.addAttribute("message", "Hello world! spring mvc");
        return "HelloWorld";


    }

}

最後專案的目錄如下圖,專案中有紅叉,這是不礙事的。
這裡寫圖片描述
11.最後我們右鍵專案run as–>run on server,顯示頁面hello world.
這裡寫圖片描述

然後我們在位址列輸入:http://localhost:8080/demo/hello/mvc。 見到如下頁面,此時我們搭建springMVC環境並且寫一個helloworld例項結束
這裡寫圖片描述