Maven+Spring MVC+MyBatis+dbpc+Mysql Web專案構建
導讀:其實, 筆者是一個剛接觸Maven ,Spring MVC 的”小生”,在搭建環境,構建demo的時候,從網上找了不少的材料或教程,吃了不少的苦頭,最終搭建成功。對於demo專案的構建,我會盡量詳細描述,說明白,如果還是有些地方不是很明白,歡迎發郵件給我sunshijun07@163.com,看到後,我會及時回覆
1.環境說明
1.1 系統環境
Win7 專業版,32位系統
1.2 JDK
JDK版本為JDK1.7
開啟cmd視窗,輸入java -version,若出現如下結果,證明JDK安裝成功。否則需安裝JDK,並配置JAVA_HOME環境變數。
1.3 Tomcat和Mysql
之所以將Tomcat和Mysql放到一起說,是因為筆者安裝了整合化工具XAMPP,整合了Tomcat和Mysql,簡單省力。需要注意的是,在執行XAMPP Control Panel時,需以管理員身份執行,因為這樣才能有足夠的許可權啟動Mysql。
Mysql執行後如上圖所示。
1.4 Eclipse
其實重點想說的是Eclipse,筆者使用的是最新版本的 Eclipse Java EE IDE for Web Developers,也就是Mars版本 【下載地址】 。使用最新版本的好處就是,簡化操作,給使用者帶來方面。不好的方面是,可能將老的專案import進來時,可能會有些意想不到的偏差。但是,一般情況下是相容的,所以還是推薦大家使用最新版本的工具。Mars版本可以自己定義Eclipse整體介面主題,筆者就更改使用了dark主題
感覺還不錯吧!
2.專案構建步驟
1.1 構建一個Maven Web專案
Maven Web專案構建教程,這個教程也是我寫的,環境與第1節所說的是一樣的。同時,在以後的介紹中,我會以這個地址構建的專案為基礎介紹,希望讀者認真參考
1.2 構造資料庫
/*構建資料庫*/
create database student;
use student;
/*構建資料表*/
create table student(
id varchar(20) primary key,
name varchar(50) not null,
sex varchar(10),
birthday Date,
classid varchar(20)
);
/*插入資料*/
insert into student values("1234","Joy","M","1988-01-28","1234");
OK,資料庫構造完成,而且插入了資料,測試資料也已經寫好。
1.3 配置檔案及java程式碼
最重要,最容易出錯,最讓人抓狂的就是這部分了,不過不要過於擔心,慢慢來,還是不難的。
1.3.1 資料夾及檔案
先把檔案結構目錄擺上,這樣讓讀者心裡有個底。看過一些其他的教程,有些只是將一些配置檔案內容貼出來,並沒有明確指出,這些檔案放到哪裡。其實檔案擺放位置直接影響了配置檔案如web.xml中一些屬性的內容。請按照圖示建立對應的檔案。下面詳細解析
1.3.2 web.xml
<!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>BangWeb</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>BangWeb</param-value>
</context-param>
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>
org.springframework.web.util.Log4jConfigListener
</listener-class>
</listener>
<!-- Spring view分發器 -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>
org.apache.jasper.servlet.JspServlet
</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
如果懂得配置檔案中每個標籤的意義,那麼在看到.xml檔案就不會有恐懼感了。下面概要介紹每個標籤的意義,我儘量用易懂得詞彙,若有什麼錯誤,希望大家及時指正。
(1) display-name元素
定義Web應用的名稱,名稱自己可以根據自己的專案隨便起一個
(2) context-param元素
該元素在此專案中可有可無。大家可以瞭解。該元素用來宣告應用範圍(整個WEB專案)內的上下文初始化引數,專案執行時,改元素首先被讀取,形成鍵值對。webAppRootKey屬性,可以理解為Web專案的唯一標示。如果同一個Tomcat下有兩個Web專案,那麼要將webAppRootKey屬性設定為不同值。
(3) filter元素
字元過濾器,形式比較固定
(3) listener元素
監聽器,由於本專案是Spring MVC 專案,所以固定使用spring 的log4j的監聽器
(4) servlet元素
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<!--與上面的<servlet-name>中的值保持一致-->
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
這一段我們可以這樣理解:所有形式如 “localhost:8080/專案名稱/” 的請求 都交給使用dispatcher-servlet.xml配置好的spring 處理。在本專案中,localhost:8080/BangWab/student 或 localhost:8080/BangWab/abc 請求,spring都可以處理,但是 localhost:8080/Bang/student請求不行。
servlet-mapping元素規定了請求形式,若url-pattern改為如下:
<url-pattern>/abc/</url-pattern>
那麼只有形式如 localhost:8080/專案名稱/abc/ 的請求形式spring可以處理
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
</init-param>
init-param元素表明 sping 使用/WEB-INF/dispatcher-servlet.xml配置檔案,此處應注意路徑,一般我們將dispatcher-servlet.xml放在WEB-INF資料夾下。
如果覺得在WEB-INF下不簡潔,也可以放到src/main/resource資料夾下,此時param-value元素的值為:
<param-value>classpath:dispatcher-servlet.xml</param-value>
通過分析以上我的可以得出結論:在Maven Web專案的配置檔案中,涉及檔案路徑的屬性的元素如:url-pattern元素等,其值得設定,若為“/”則表明在webapp檔案下,若為“classpath:”則表明在src/main/sources資料夾下
1.3.3 dispather-servlet.xml
相關文章
- 首次使用ideal構建maven專案webIdeaMavenWeb
- Gradle之多專案構建Gradle
- JAVA專案映象構建Java
- Gradle構建SpringBoot專案GradleSpring Boot
- CMAKE 《window構建專案》
- webpack快速構建專案Web
- Maven 構建 Java 專案MavenJava
- 電子商城後臺系統(一):使用eclipse構建web專案EclipseWeb
- 《從零構建前後分離的web專案》實戰 -5分鐘快速構建炒雞規範的VUE專案骨架WebVue
- 如何構建「大型 Node.js 專案」的專案結構?Node.js
- 使用Maven構建Java專案MavenJava
- 使用gradle構建springboot專案GradleSpring Boot
- 2. vite 構建專案Vite
- 使用Dockerfile構建django專案DockerDjango
- SpringBoot淺析——專案構建Spring Boot
- 《從零構建前後分離web專案》:開篇 - 縱觀WEB歷史演變Web
- 構建dubbo分散式平臺-maven構建根專案分散式Maven
- 小白學習Vue(11)--環境安裝及專案構建 | webstorm構建vue專案VueWebORM
- 有手就行5——jenkins專案構建型別(pipeline流水線專案構建推薦)Jenkins型別
- 使用 webpack 構建小程式專案Web
- 如何構建大型的前端專案前端
- gulp構建es6專案
- Gradle快速構建Spring Boot專案GradleSpring Boot
- vue-cli構建vue專案Vue
- 如何使用Webpack工具構建專案Web
- 如何使用Docker構建前端專案Docker前端
- jenkins構建go及java專案JenkinsGoJava
- 在gradle中構建java專案GradleJava
- 《從零構建前後分離web專案》探究 - 深入聊聊前後分離架構Web架構
- 《從零構建前後分離 WEB 專案》 序 – 開源的意義Web
- Spring Boot——初體驗開啟第一個Gradle構建的Web專案Spring BootGradleWeb
- 《從零構建前後分離 WEB 專案》 序 - 開源的意義Web
- Jenkins 2.32.3引數化構建maven專案-java專案JenkinsMavenJava
- 《從零構建前後分離的web專案》:前端完善 - 手把手教你快速構建網站佈局Web前端網站
- 《從零構建前後分離的web專案》:前端完善 – 手把手教你快速構建網站佈局Web前端網站
- 手把手教你構建一個web前端專案,全網最詳細教程!Web前端
- 使用 happypack 提升 Webpack 專案構建速度APPWeb
- webpack+nodejs+npm構建前端專案WebNodeJSNPM前端
- Gradle學習系列----多專案構建Gradle