[WEB] Spring MVC web site
最近想試著寫個網站
主要是想複習一下之前學過的 Spring & Hibernate
程式這種事情真的是久沒碰就真的會忘了一蹋糊塗
所以這篇主要就說明一下前面的準備
工具 : Eclipse LUNA
JAVA : Java 8
伺服器 : Tomcat 8
建構管理 : Maven
開始說明前
稍微說明一下甚麼是 MVC
M = Model
收到 Request 後所作的邏輯處理以及資料運算等等
V = View
網頁的 UI
C = Controller
當用戶發送 Request 時的接口
首先
使用 Eclipse 建立一個新的 Maven Project
之後直接點選 Next 到這個畫面
並選擇 maven-archetype-webapp
接下來就是輸入 Group Id 跟 Artifact Id
至於甚麼是Group Id 跟 Artifact Id
可以參照這篇 Maven 簡介
為了怕我自己也忘記還是做一下紀錄好了
我對於這兩個的理解為
Group Id : 用途是作為唯一識別, 以 Java 來說就是 Package Name
Artifact Id : 可以說是 Project Name
當你在輸入這兩個的時候可以發現 Package 的欄位自動幫你輸入的 Group Id.Artifact Id
順便訴說一下經驗
小弟我剛開始寫程式的時候不知道甚麼是 Package
還因為這點被訂得很慘
後面開發 Android App 才了解到 Package 的重要性
當 Project 建立完之後裡面有一個 pom.xml 檔案
這個檔案可以從前面的 Maven 簡介 文章中得到說明
打開此檔後加入下面的 code 在按下儲存後 Eclipse 就會自動幫你導入對應的 jar 檔
1. 在 <url></rul> 下加入
<properties> <spring.version>4.2.1.RELEASE</spring.version> </properties>
2. 在 <dependencies></dependencies> 之間加入
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</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>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency>
當 pom.xml 修改儲存後稍微等一下就會發現 Project 多了這些 jar 檔
這樣就表示準備工作已經完成一半了
接下來在 web.xml 中的<display-name></display-name>加入下方 code
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.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>
注意上方 code 的紅字
在 webapp/WEB-INF 中新增 dispatcher-servlet.xml
並加入以下的 code
<!-- Controller 的 Package Name -->
<context:component-scan base-package="package name" />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix">
<!-- 網頁 UI 檔案的位置 --> <value>/WEB-INF/views/</value> </property> <property name="suffix">
<!-- 網頁 UI 檔案的副檔名 --> <value>.jsp</value> </property>
</bean>
到這邊後其實只要啟動 Eclipse 的 Tomcat Server 後打開瀏覽器在網址列輸入
localhost:8080/Project Name/
就可以看到 Project 下 index.jsp 的畫面了
剩下的等後面的文章再說啦