使用IntelliJ IDEA開發(fā)SpringMVC網(wǎng)站

訪問GitHub下載最新源碼:https://github.com/gaussic/SpringMVCDemo

文章已針對IDEA 2016做了一定的更新追葡,部分更新較為重要偿洁,請重新閱讀文章并下載最新源碼塞帐。
另外:文中的附圖部分仍然為舊版本纫溃,請參照自身版本進行配置。
前言
由于近期一直在做學(xué)術(shù)方面的工作赁酝,項目開發(fā)相關(guān)工作并沒有花太多的時間犯祠,導(dǎo)致這篇文章的更新停步了很長一段時間。現(xiàn)在應(yīng)大家的要求酌呆,補上剩余部分衡载,望能給大家?guī)硪恍椭S捎跁r間的原因隙袁,在開發(fā)環(huán)境上面有了一定的更新痰娱,但是并不造成太大的影響弃榨。
最近在做某在線教育平臺網(wǎng)站的開發(fā),按師兄的建議要用SpringMVC來搞梨睁。之前對SpringMVC的認知度為0鲸睛,網(wǎng)上查閱各種資料,發(fā)現(xiàn)五花八門的配置都有坡贺,文章寫的那叫一個亂啊官辈,我覺得有些文章還是不要發(fā)出來的比較好,簡直誤人子弟耽誤時間遍坟。最近借著師兄網(wǎng)上搜集的一些開發(fā)經(jīng)驗拳亿,找到了IntelliJ網(wǎng)站上的這篇文章《Getting Started with SpringMVC, Hibernate and JSON》(該鏈接已失效,內(nèi)容會在文中體現(xiàn))愿伴,外加看了孔老師的《SpringMVC視頻教程》肺魁,著實有一種醍醐灌頂?shù)母杏X,整個路子瞬間通了隔节,開發(fā)速度指數(shù)型上漲《炀現(xiàn)在把開發(fā)過程中的一些相關(guān)經(jīng)驗貼出來。
一官帘、相關(guān)環(huán)境
- Intellij IDEA 2016.2 Ultimate
- Tomcat 8.0.35
- JDK 1.8.0_92
- Spring 4.2.6
- MySql 5.7
- Maven 3.3.9
- Bootstrap 3.3.5
以上是我要做的這個demo所需要的東西瞬雹,當然有些是可選的,版本也是可控的刽虹。比如說如果你用不慣Maven的話可以自行去官網(wǎng)下載jar包然后導(dǎo)入自己的工程中酗捌,如果想要學(xué)習(xí)下Maven可以看看《Maven視頻教程》(偶然找到,這個老師做的視頻都挺好涌哲,推薦以下)胖缤,不用完全的去學(xué)習(xí)Maven,懂大概意思后再去找找IntelliJ IDEA如何配置maven的相關(guān)文章就足夠了阀圾。
還有Bootstrap哪廓,純粹是個人潔癖,不需要這可以去之初烘。
事先聲明涡真,請確保IntelliJ IDEA、Tomcat肾筐、MySql和JDK都已經(jīng)安裝好哆料。Maven和Bootstrap的話能有則有。前者為了讓導(dǎo)包更容易吗铐,后者為了讓頁面更美觀东亦。此外,由于jdk以及mysql的安裝網(wǎng)上已經(jīng)有了很多教程唬渗,在此為節(jié)省篇幅不做介紹典阵。廢話不多說奋渔,正式開始。
二壮啊、本地Maven與Tomcat的安裝
注:如果使用IntelliJ IDEA集成的maven 3.0.5的話嫉鲸,可以忽略此步安裝。
1歹啼、下載并安裝本地maven
點擊“Apache-Maven官方網(wǎng)站”進入官網(wǎng)充坑,點擊左側(cè)Download選項:


進入了下載頁面,往下拉可發(fā)現(xiàn)當前版本是3.3.3染突,點擊下面紅框中的apache-maven-3.3.9-bin.zip就可下載,下載后解壓縮到相應(yīng)目錄下:

新增系統(tǒng)變量MAVEN_HOME:即MAVEN安裝目錄:

在Path中加入:%MAVEN_HOME%\bin;

在cmd中輸入mvn -v辈灼,若顯示如下份企,則說明本地maven配置完成:

2、下載并安裝本地Tomcat
進入Tomcat官網(wǎng)巡莹,點擊左側(cè)Download的Tomcat8.0司志,進入Tomcat的下載頁面:

64位Windows版本下載64-bit Windows zip (pgp, md5, sha1),解壓到所需目錄下:

解壓后到\bin\目錄下運行startup.bat卒蘸,如圖下所示犁功,如果出現(xiàn)Server startup in xxxx ms說明Tomcat安裝成功佛玄。

三、創(chuàng)建Maven Web項目
前面說了這么多激才,差不多基本的東西都保障了(前提保證你已經(jīng)安裝了jdk)。現(xiàn)在進入正題额嘿,如何來創(chuàng)建一個Web項目瘸恼。對于不使用Maven的開發(fā)者,可以直接建一個簡單的Web項目册养。使用Maven的話东帅,請按照圖進行操作。

菜單File->New Project可進入上圖界面球拦,首先選擇左邊欄Maven靠闭,再配置JDK(一般如果之前添加了JDK的話會自動填充,如未添加的話點擊旁邊的New將JDK目錄導(dǎo)入即可)坎炼。勾選“Create from archetype“愧膀,然后選中4處藍色位置webapp,點Next点弯,進入如下界面:

這里需要填寫GroupId和ArtifactId還有Version扇调,這三個屬性目的是標識你的項目的唯一性,比如Tomcat的GroupId是org.apache抢肛,即它是apache組織的項目狼钮,ArtifactId是tomcat碳柱,項目名為tomcat,而我當前使用的Version是7.0.68熬芜。這些只在發(fā)布時有用莲镣,在此可以隨便填寫,填好后點Next涎拉,到如下界面瑞侮。
打開Maven home directory,可以發(fā)現(xiàn)IntelliJ IDEA已經(jīng)集成了Maven 2和Maven 3兩個版本鼓拧,如果使用默認集成的maven的話半火,選擇Buldled(Maven 3),直接點擊Next季俩。

我們也可以導(dǎo)入本地新安裝的較新的Maven版本钮糖,點擊藍色箭頭右邊的 ... 按鈕將Maven路徑導(dǎo)入即可,點擊Next:

填寫項目名酌住,選擇項目保存路徑店归,點擊Finish:

進入如下界面,maven會在后臺生成web項目酪我,這需要等待一定的時間消痛,視網(wǎng)絡(luò)環(huán)境而定,經(jīng)驗發(fā)現(xiàn)用較新版本的maven項目生成更快都哭,使用IDEA集成的maven可能會等待很長一段實踐秩伞。

左邊紅框中展示了該項目的文件結(jié)構(gòu)∑劢茫可以發(fā)現(xiàn)稠歉,它在src/main下創(chuàng)建了一個recources文件夾,該文件夾一般用來存放一些資源文件汇陆,還有一個webapp文件夾怒炸,用來存放web配置文件以及jsp頁面等,這已經(jīng)組成了一個原始的web應(yīng)用毡代。選擇右邊紅框的Enable-Auto-Import阅羹,可以在每次修改pom.xml后,自動的下載并導(dǎo)入jar包教寂,這一點在后面詳述捏鱼。
注:如果這一步生成實在太慢的話,建議看一下以下兩篇(感謝26樓 wintersun2 同學(xué)的提出):
文章1: http://www.cnblogs.com/beiyeren/p/4566485.html文章2:http://blog.csdn.net/cleverlzc/article/details/50864582
四酪耕、Maven自動導(dǎo)入jar包
既然我們要用SpringMVC開發(fā)导梆,那肯定少不了SpringMVC的相關(guān)jar包。如果不使用Maven的話,那就需要去官網(wǎng)下載相關(guān)的jar包看尼,然后導(dǎo)入到項目中〉蒺模現(xiàn)在使用maven的話,就不需要上網(wǎng)找jar包了藏斩。具體容我一一道來躏结。
Maven所做的工作其實很簡單,就是自動把你需要的jar包下載到本地狰域,然后關(guān)聯(lián)到項目中來媳拴。maven的所有jar包都是保存在幾個中央倉庫里面的,其中一個最常用的是Maven Repository兆览,即屈溉,你需要什么jar包,它就會從倉庫中拿給你抬探。那么如何告訴maven需要什么jar包呢语婴?我們看看工程目錄,能找到一個pom.xml文件(這個文件在剛創(chuàng)建好項目時就已經(jīng)展現(xiàn)在了大家面前)驶睦,maven就是靠它來定義需求的,代碼如下:

<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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.gaussic</groupId>
    <artifactId>springmvcdemo</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>springmvcdemo Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <finalName>springmvcdemo</finalName>
    </build>
</project>
我們可以看到這個文件包含了我們之前定義的本項目的gropId等信息匿醒,這些信息是該項目的標識场航,我們不要去改動它們。重點看<dependencies>標簽廉羔,翻譯過來是”依賴“的意思溉痢,也就是說把對每個包的需求都稱為一個依賴<depedency>,定義在<dependencies>中憋他。在每個<depedency>中孩饼,你需要提供的是所需jar包的groupId、artifactId竹挡、version這三個必要信息镀娶。比如上面我們看到引入可一個junit包,格式如下:
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
    <scope>test</scope>
</dependency>
這是單元測試包揪罕,提供了三個基本信息梯码,第4個scope對其他包來說是非必需的。所有jar包的引入都要滿足這

個格式好啰。那么如何查看這些jar包的3個信息呢轩娶,可能剛接觸是開發(fā)者還不是很熟悉,這個時候就需要查閱倉庫
了框往。比如我們需要引入Spring核心jar包spring-core鳄抒,打開Maven Repository搜索spring-core,進入如下界面:


點擊進入紅框選中的Spring Core许溅,如下所示瓤鼻,可以看到各版本的使用情況:

選擇最新版本4.2.5.RELEASE,可以看到其dependency寫法如下紅框所示:

我們將其復(fù)制到pom.xml中的<dependencies>中:

這樣闹司,Maven就會開始自動下載jar包到本地倉庫娱仔,然后關(guān)聯(lián)到你的項目中,下載完成后游桩,我們展開工程目錄中External Libraries:

可以發(fā)現(xiàn)牲迫,雖然我們只寫了一個依賴,但是它導(dǎo)入了兩個jar包借卧,也就是說盹憎,導(dǎo)入某個jar包時,與它密切相關(guān)的jar包也會同時被導(dǎo)入進來铐刘。
除了spring-core陪每,我還要spring-context,復(fù)制spring-core的<dependency>镰吵,將spring-core改為spring-context檩禾,如下:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.2.5.RELEASE</version>
</dependency>
下載完成后,查看External Libraries疤祭,會不會發(fā)現(xiàn)盼产,瞬間導(dǎo)入了好多jar包(當然不是瞬間,這得看你的網(wǎng)速了)呢:

這就是Maven的強大之處勺馆,如果你需要使用SpringMVC開發(fā)網(wǎng)站的話戏售,只需記住幾個重要的包的名字,就可以輕松將所有包導(dǎo)入項目中草穆。
長話短說灌灾,現(xiàn)在我們要進行SpringMVC的開發(fā),請把你的pom.xml變成下面的樣子悲柱,當然不要改你的grupId等信息(從modelVersion到url都不要動):

<properties>
    <spring.version>4.2.6.RELEASE</spring.version>
    <hibernate.version>5.1.0.Final</hibernate.version>
</properties>
請在<dependencies>中加入以下依賴:
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.10.1.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.39</version>
        </dependency>

將<build>改成如下形式:

 <build>
        <finalName>springmvcdemo</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

我們可以發(fā)現(xiàn)锋喜,除了導(dǎo)入了spring相關(guān)jar包,還有一些其他的包豌鸡,這些包都是有作用的跑芳,我們后面慢慢說。如果不使用Maven請自行下載spring直颅、hibernate博个、mysql、jstl等相關(guān)jar包然后導(dǎo)入到工程中功偿。至此盆佣,jar包的導(dǎo)入就完成了往堡,我們按 ctrl+alt+shift+s,或者File->Project Structure查看一下項目結(jié)構(gòu)共耍,看看有什么問題:



由于之后我們要開始寫代碼了虑灰,先做一些配置,選擇Modules痹兜,在SpringMVCDemo的src\main文件夾中新建一個文件夾穆咐,取名為java:



選中java文件夾,點擊上面的Make as:Sources字旭,該文件夾就會變成藍色对湃,用以保存java代碼,按OK遗淳,結(jié)束配置拍柒。

五、SpringMVC框架配置
進行完上面的配置屈暗,那就說明現(xiàn)在基本的開發(fā)環(huán)境已經(jīng)搭建好了拆讯,現(xiàn)在要開始進行SpringMVC的網(wǎng)站開發(fā)。
1养叛、web.xml配置
打開src\main\webapp\WEB-INF\下的web.xml文件种呐,稍微更新一下web.xml的版本,可以支持更高級的一些語法弃甥,如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>SpringMVCDemo Web Application</display-name>

</web-app>

在<web-app>中加入一個servlet:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">

    <display-name>SpringMVCDemo Web Application</display-name>

    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

該servlet名為mvc-dispatcher(名稱可修改)爽室,用于攔截請求(url-pattern為 / ,說明攔截所有請求)潘飘,并交由Spring MVC的后臺控制器來處理。這一項配置是必須的掉缺。
為了能夠處理中文的post請求卜录,再配置一個encodingFilter,以避免post請求中文出現(xiàn)亂碼情況:

<filter>
    <filter-name>encodingFilter</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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

至此眶明,web.xml配置完畢艰毒。
2、xxx-servlet.xml配置
在配置完web.xml后搜囱,需在web.xml同級目錄下新建 mvc-dispatcher-servlet.xml(-servlet前面是在servlet里面定義的servlet名):




新建該xml文件后丑瞧,點擊右上角的configure,出現(xiàn) Setup Frameworks界面蜀肘,點擊OK绊汹,這樣,IntelliJ IDEA就識別了SpringMVC的配置文件:



mvc-dispatcher-servlet.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

</beans>

MVC框架有model扮宠、view西乖、controller三部分組成。model一般為一些基本的Java Bean,view用于進行相應(yīng)的頁面顯示获雕,controller用于處理網(wǎng)站的請求薄腻。
在src\main\java中新建一個用于保存controller的package:




在controller包中新建java類MainController(名稱并不固定,可任意冉彀浮)庵楷,并修改如下:



package com.gaussic.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

/**
 * Created by dzkan on 2016/3/8.
 */
@Controller
public class MainController {

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String index() {
        return "index";
    }
}

(1)@Controller注解:采用注解的方式,可以明確地定義該類為處理請求的Controller類楣颠;
(2)@RequestMapping()注解:用于定義一個請求映射尽纽,value為請求的url,值為 / 說明球碉,該請求首頁請求蜓斧,method用以指定該請求類型,一般為get和post睁冬;
(3)return "index":處理完該請求后返回的頁面挎春,此請求返回 index.jsp頁面。
回到mvc-dispatcher-servlet.xml豆拨,進行相關(guān)配置直奋。首先加入component-scan標簽,指明controller所在的包施禾,并掃描其中的注解(最好不要復(fù)制脚线,輸入時按IDEA會在beans xmlns中添加相關(guān)內(nèi)容):

<?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"
       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">

    <!--指明 controller 所在包,并掃描其中的注解-->
    <context:component-scan base-package="com.gaussic.controller"/>
</beans>
再進行js弥搞、image邮绿、css等靜態(tài)資源訪問的相關(guān)配置,這樣攀例,SpringMVC才能訪問網(wǎng)站內(nèi)的靜態(tài)資源:
<!-- 靜態(tài)資源(js船逮、image等)的訪問 -->
<mvc:default-servlet-handler/>

再開啟springmvc注解模式,由于我們利用注解方法來進行相關(guān)定義粤铭,可以省去很多的配置:

<!-- 開啟注解 -->
<mvc:annotation-driven/>

再進行視圖解析器的相關(guān)配置:

<!--ViewResolver 視圖解析器-->
<!--用于支持Servlet挖胃、JSP視圖解析-->
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/pages/"/>
    <property name="suffix" value=".jsp"/>
</bean>
關(guān)于controller如何找到視圖文件,這里需要詳細的說明梆惯。在 controller 的一個方法中酱鸭,返回的字符串定義了所需訪問的jsp的名字(如上面的index)。在jspViewResolver中垛吗,有兩個屬性凹髓,一個是prefix,定義了所需訪問的文件路徑前綴怯屉,另一是suffix扁誓,表示要訪問的文件的后綴防泵,這里為 .jsp。那么蝗敢,如果返回字符串是 xxx 捷泞,SpringMVC就會找到 /WEB-INF/pages/xxx.jsp 文件。

完成以上配置后寿谴,mvc-dispatcher-servlet.xml文件如下圖所示:

<?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">

    <!--指明 controller 所在包锁右,并掃描其中的注解-->
    <context:component-scan base-package="com.gaussic.controller"/>

    <!-- 靜態(tài)資源(js、image等)的訪問 -->
    <mvc:default-servlet-handler/>

    <!-- 開啟注解 -->
    <mvc:annotation-driven/>

    <!--ViewResolver 視圖解析器-->
    <!--用于支持Servlet讶泰、JSP視圖解析-->
    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>
我們刪除 webapp 目錄下的 index.jsp 文件咏瑟,在WEB-INF目錄下新建文件夾pages,再在pages目錄下新建 index.jsp痪署,并修改為如下所示:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3個meta標簽*必須*放在最前面码泞,任何其他內(nèi)容都*必須*跟隨其后! -->
 <title>SpringMVC Demo 首頁</title>

    <!-- 新 Bootstrap 核心 CSS 文件 -->
 <link rel="stylesheet" >

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
    <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<h1>這里是SpringMVC Demo首頁</h1>

<h3>出現(xiàn)此頁面狼犯,說明配置成功余寥。</h3>

<!-- jQuery文件。務(wù)必在bootstrap.min.js 之前引入 -->
<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>

<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>


這里使用了Bootstrap的CDN加速服務(wù)悯森,如果要使用本地的Bootstrap宋舷,請前往Bootstrap官網(wǎng)下載,并放在 webapp 目錄下瓢姻,然后引入到 index.jsp 中祝蝠,這里不做詳細介紹。
現(xiàn)在幻碱,需要配置 Tomcat 來運行該項目绎狭。點擊界面右上角的向下箭頭,選擇 Edit Configurations:

點擊左上角的”+“號褥傍,選擇Tomcat Server儡嘶,(如果沒有請選擇最下方的33 items more,找到Tomcat Server)摔桦,再選擇Local:

進入如下界面:

點擊 Application server 右邊的 Configure社付,導(dǎo)入Tomcat 目錄(項目已更新到Tomcat8承疲,請按照自身版本導(dǎo)入):

在配置好tomcat的路徑后邻耕,如下圖所示,發(fā)現(xiàn)依然存在警告燕鸽,且左方的Tomcat7圖標上有一個錯誤標記兄世,說明還沒有配置完全:

我們還需要將項目部署到 Tomcat 服務(wù)器中。點擊 Deployment啊研,再點擊右邊的”+“號御滩,添加一個Artifact:

選擇第二個:war exploded鸥拧,點擊OK,這樣削解,該項目就已經(jīng)部署到了tomcat中:

再點擊OK富弦,整個Tomcat配置結(jié)束:

點擊界面右上角的紅框中的綠色箭頭,就可以啟動 Tomcat 了氛驮,其控制臺輸出將在 IDEA 下方顯示

啟動后腕柜,瀏覽器將自動彈出項目首頁:

這樣,說明配置完成矫废。這里總結(jié)一下其相關(guān)機制:首先盏缤,瀏覽器訪問 localhost:8080,后臺controller攔截該請求蓖扑,進行相應(yīng)的處理(此處無)唉铜,在跳轉(zhuǎn)到視圖 index.jsp進行顯示。此后律杠,將會進行詳細的介紹潭流。
轉(zhuǎn)載請注明出處:Gaussic(一個致力于AI研究卻不得不兼顧項目的研究生)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俩功,一起剝皮案震驚了整個濱河市幻枉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌诡蜓,老刑警劉巖熬甫,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蔓罚,居然都是意外死亡椿肩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門豺谈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來郑象,“玉大人,你說我怎么就攤上這事茬末〕ч唬” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵丽惭,是天一觀的道長击奶。 經(jīng)常有香客問我,道長责掏,這世上最難降的妖魔是什么柜砾? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮换衬,結(jié)果婚禮上痰驱,老公的妹妹穿的比我還像新娘证芭。我一直安慰自己,他們只是感情好担映,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布废士。 她就那樣靜靜地躺著,像睡著了一般蝇完。 火紅的嫁衣襯著肌膚如雪湃密。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天四敞,我揣著相機與錄音泛源,去河邊找鬼。 笑死忿危,一個胖子當著我的面吹牛达箍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播铺厨,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼缎玫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了解滓?” 一聲冷哼從身側(cè)響起赃磨,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洼裤,沒想到半個月后邻辉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡腮鞍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年值骇,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移国。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡吱瘩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出迹缀,到底是詐尸還是另有隱情使碾,我是刑警寧澤,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布祝懂,位于F島的核電站票摇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏嫂易。R本人自食惡果不足惜兄朋,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一掐禁、第九天 我趴在偏房一處隱蔽的房頂上張望怜械。 院中可真熱鬧颅和,春花似錦、人聲如沸缕允。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽障本。三九已至教届,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間驾霜,已是汗流浹背案训。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粪糙,地道東北人强霎。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像蓉冈,于是被迫代替她去往敵國和親城舞。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容