搭建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例項結束