idea搭建基於maven的 springmvc 框架 一
springMVC的搭建需要如下前置條件
1)安裝Maven並配置好環境變數,筆者使用的V3.5.3
2)安裝tomcat,筆者使用的V8.5
本文介紹瞭如何在idea上搭建基於maven的springmvc框架,主要包括如下內容:
1)建立maven的webapp框架;
2)引入springMVC框架及配置檔案;
3)修改web.xml檔案及dispatcher-servlet.xml內容,dispatcher-servlet.xml檔案通過springMVC的IOC為dispatcherservlet提供初始化引數。負責對control類載入掃描、註解驅動以及資源配置導航;
4)建立controller類和jsp檔案;
5)編輯pom.xml匯入最小包。
6)執行測試
備註:一定要先引入springmvc框架,然後匯入maven包,否則因pom裡有springMVC引用而自動匯入springmvc框架且不生成上述.xml資訊。
1 基於maven建立webapp
- 1.1 選擇 webapp
- 1.2 填專案資訊
* 1.3 指定maven
2 新增springmvc框架
2.1 add framdwork support
選擇 spring - spring mvc
* 2.2 系統自動建立兩個xml檔案
- 2.3 web.xml檔案自動填充springMVC配置資訊 並修改如下:
<!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>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>contextConfigLocation</param-name >
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
從上面配置可以看出applicationContext.xml用於配置應用上下文
- 2.4 applicationContext.xml暫不做處理
- 2.5 dispatcher-servlet.xml
該檔案是dispatcherServlet的初始化引數配置檔案,如改動名字可在web.xml中做如下配置
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!--配置dispatcher.xml作為mvc的配置檔案-->
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
<async-supported>true</async-supported>
</servlet>
該檔案主要是指定資原始檔資訊,配置如下:
<?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.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<!--此檔案負責整個mvc中的配置-->
<!--啟用spring的一些annotation -->
<context:annotation-config/>
<!-- 配置註解驅動 可以將request引數繫結到controller引數上 -->
<mvc:annotation-driven/>
<!--靜態資源對映-->
<!--本專案把靜態資源放在了webapp的statics目錄下,資源對映如下-->
<mvc:resources mapping="/css/**" location="/WEB-INF/statics/css/"/>
<mvc:resources mapping="/js/**" location="/WEB-INF/statics/js/"/>
<mvc:resources mapping="/image/**" location="/WEB-INF/statics/image/"/>
<!-- 對模型檢視名稱的解析,即在模型檢視名稱新增前後綴(如果最後一個還是表示資料夾,則最後的斜槓不要漏了) 使用JSP-->
<!-- 預設的檢視解析器 在上邊的解析錯誤時使用 (預設使用html)- -->
<bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/WEB-INF/view/"/><!--設定JSP檔案的目錄位置-->
<property name="suffix" value=".jsp"/>
<property name="exposeContextBeansAsAttributes" value="true"/>
</bean>
<!-- 自動掃描裝配 -->
<context:component-scan base-package="com.uzone.controller"/>
</beans>
3 新增tomcat
3.1
3.2
3.3
4 新增Java class和資源
4.1 建立層
4.2 設定java為sourceroot
4.3 建立controller類
@Controller
@RequestMapping("/home")
public class IndexController {
@RequestMapping("/index")
public String index(){
return "index";
}
}
- 4.4 Jsp檔案
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Index</title>
</head>
<body>
<p>Spring MVC </p>
</body>
</html>
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
5 pom.xml
以下為springMVC最小載入包
* servlet是springMVC的必備包,不許要解釋;
* spring-webmvc提供view層的核心封裝,提供各前端技術及標籤支援,spring-context提供spring上下文bean資訊。
<properties>
<!-- spring版本號 -->
<spring.version>4.2.6.RELEASE</spring.version>
</properties>
<dependencies>
<!--J2EE-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!--springframework-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
</dependencies>