top of page

[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 的畫面了

剩下的等後面的文章再說啦


bottom of page