SpringMvc 從零開始(一)——web工程創建

    Javaweb開發有幾年了,但是一直也沒有自己動手搭建一個springmvc的框架。雖然springboot爲開發者提供了巨大的便利,反而激起了我動手搭建springmvc框架的興趣。

---------言歸正傳-----------

準備(配置工作不做詳細說明了)

1、jdk1.8

2、eclipse

3、maven3.5

4、tomcat7.0


自己動手,豐衣足食。

1、eclipse中創建maven工程

右鍵新建->other->maven


->Next


->Next

填寫座標(GroupId、ArtfactId),packaging選擇war(創建爲web工程)


->Finish

生成的目錄結構如下(WebContent爲後來創建的)



2、創建WebContent目錄

右鍵->properties->project facets

Further Configuration available選項沒有顯示的話,將Dynamic Web Module勾掉,點擊apply,再勾選Dynamic Web Module,點擊apply。該選項就會顯示。


點擊Further Configuration available


勾選Generate web.xml選項->OK

生成的目錄結構如下。



3、添加pom依賴(本次只添加springmvc必須的依賴,springmvc其他功能的依賴之後陸續添加)

<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.xufq</groupId>
	<artifactId>springmvc-login</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<properties>
		<spring-version>5.0.3.RELEASE</spring-version>
		<commons-lang-version>2.1</commons-lang-version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-core</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-beans</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
			<version>${spring-version}</version>
		</dependency>
		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>${commons-lang-version}</version>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.3.2</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

4、編輯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="springmvc-login" version="3.0">
  <display-name>springmvc-login</display-name>
  <welcome-file-list>
    <welcome-file>/WEB-INF/webpage/page/login.html</welcome-file>
  </welcome-file-list>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:config/springmvc-login-context.xml</param-value>
  </context-param>
  <servlet>
    <servlet-name>springmvc-login</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:config/springmvc-login-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>springmvc-login</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

<display-name>springmvc-login</display-name>:項目名稱

<welcome-file>/WEB-INF/webpage/page/login.html</welcome-file>:歡迎頁面

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>:父容器加載(一般會加載整個Spring容器相關的bean配置管理,如Service, Dao)

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>:子容器加載(一般會加載MVC相關的bean配置管理,如Controller)

<url-pattern>/</url-pattern>:servlet攔截的url規則

5、編輯springmvc-login-servlet.xml,配置springmvc的子容器(採用註解方式,提供了配置的便利)

<?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-3.0.xsd">

	<context:component-scan base-package="com.xufq" />
	<mvc:default-servlet-handler/>
	<mvc:annotation-driven />
</beans>

<context:component-scan base-package="com.xufq" />:掃描註解的根目錄(項目中暫時只有Controller,所以沒有區分Controller和Service等的目錄,後續會調整)

<mvc:default-servlet-handler/>:靜態資源解析器(避免dispatcherServlet攔截靜態資源,歡迎頁如果是靜態資源也會被攔截。)

<mvc:annotation-driven />:<mvc:annotation-driven>會自動註冊RequestMappingHandlerMapping與RequestMappingHandlerAdapter兩個Bean,這是Spring MVC爲@Controller分發請求所必需的,並且提供了數據綁定支持


6、添加歡迎頁



7、將項目發佈到tomcat,並啓動



8、訪問項目

http://localhost:8080/springmvc-login




Springmvc框架初步搭建完畢,後續會逐步完善框架內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章