IDEA配置Spring MVC(下)

五惹挟、SpringMVC框架配置
進(jìn)行完上面的配置,那就說(shuō)明現(xiàn)在基本的開發(fā)環(huán)境已經(jīng)搭建好了归苍,現(xiàn)在要開始進(jìn)行SpringMVC的網(wǎng)站開發(fā)运怖。
1驳规、web.xml配置

打開src\main\webapp\WEB-INF\下的web.xml文件,稍微更新一下web.xml的版本医男,可以支持更高級(jí)的一些語(yǔ)法镀梭,如下:

<?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>中加入一個(gè)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(名稱可修改)报账,用于攔截請(qǐng)求(url-pattern為 / 透罢,說(shuō)明攔截所有請(qǐng)求)冠蒋,并交由Spring MVC的后臺(tái)控制器來(lái)處理抖剿。這一項(xiàng)配置是必須的。

為了能夠處理中文的post請(qǐng)求脑融,再配置一個(gè)encodingFilter肘迎,以避免post請(qǐng)求中文出現(xiàn)亂碼情況:

    <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同級(jí)目錄下新建 mvc-dispatcher-servlet.xml(-servlet前面是在servlet里面定義的servlet名):
![mvc-dispatcher-servlet.xml](http://upload-images.jianshu.io/upload_images/1182360-190822d91a15bf76.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
新建該xml文件后枢贿,點(diǎn)擊右上角的configure刀脏,出現(xiàn) Setup Frameworks界面愈污,點(diǎn)擊OK暂雹,這樣,IntelliJ IDEA就識(shí)別了SpringMVC的配置文件:
![識(shí)別servlet](http://upload-images.jianshu.io/upload_images/1182360-38aed28f957d215e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
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用于進(jìn)行相應(yīng)的頁(yè)面顯示限书,controller用于處理網(wǎng)站的請(qǐng)求。

在src\main\java中新建一個(gè)用于保存controller的package:


新建控制層的類

(1)@Controller注解:采用注解的方式,可以明確地定義該類為處理請(qǐng)求的Controller類粉铐;

(2)@RequestMapping()注解:用于定義一個(gè)請(qǐng)求映射,value為請(qǐng)求的url程剥,值為 / 說(shuō)明织鲸,該請(qǐng)求首頁(yè)請(qǐng)求搂擦,method用以指定該請(qǐng)求類型哗脖,一般為get和post橱夭;

(3)return "index":處理完該請(qǐng)求后返回的頁(yè)面徘钥,此請(qǐng)求返回 index.jsp頁(yè)面肢娘。

回到mvc-dispatcher-servlet.xml,進(jìn)行相關(guān)配置而钞。首先加入component-scan標(biāo)簽,指明controller所在的包网缝,并掃描其中的注解(最好不要復(fù)制粉臊,輸入時(shí)按IDEA會(huì)在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>```
 再進(jìn)行js驰后、image矗愧、css等靜態(tài)資源訪問(wèn)的相關(guān)配置监署,這樣,SpringMVC才能訪問(wèn)網(wǎng)站內(nèi)的靜態(tài)資源:


<mvc:default-servlet-handler/>```

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

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

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



<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如何找到視圖文件,這里需要詳細(xì)的說(shuō)明惕艳。在 controller 的一個(gè)方法中,返回的字符串定義了所需訪問(wèn)的jsp的名字(如上面的index)谁鳍。在jspViewResolver中,有兩個(gè)屬性涮因,一個(gè)是prefix蕊退,定義了所需訪問(wèn)的文件路徑前綴净蚤,另一是suffix,表示要訪問(wèn)的文件的后綴点把,這里為 .jsp橘荠。那么,如果返回字符串是 xxx 郎逃,SpringMVC就會(huì)找到 /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等)的訪問(wèn) -->
    <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">

<title>SpringMVC Demo 首頁(yè)</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首頁(yè)</h1>

<h3>出現(xiàn)此頁(yè)面揣非,說(shuō)明配置成功抡医。</h3>


<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>


<script src="http://cdn.bootcss.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
</body>
</html>```

開始配置tomcat
添加本地湯姆貓

選擇湯姆版本,選擇jdk,添加湯姆貓對(duì)應(yīng)的目錄


添加湯姆貓
配置湯姆
此處可編輯路徑名

到這里整個(gè)Tomcat配置結(jié)束.

開啟服務(wù)

到這里就完成可以打開頁(yè)面了


配制成功
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市早敬,隨后出現(xiàn)的幾起案子忌傻,更是在濱河造成了極大的恐慌,老刑警劉巖搁嗓,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芯勘,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡腺逛,警方通過(guò)查閱死者的電腦和手機(jī)荷愕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)棍矛,“玉大人安疗,你說(shuō)我怎么就攤上這事」晃” “怎么了荐类?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)茁帽。 經(jīng)常有香客問(wèn)我玉罐,道長(zhǎng)屈嗤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任吊输,我火速辦了婚禮饶号,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘季蚂。我一直安慰自己茫船,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布扭屁。 她就那樣靜靜地躺著算谈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪料滥。 梳的紋絲不亂的頭發(fā)上然眼,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音葵腹,去河邊找鬼罪治。 笑死,一個(gè)胖子當(dāng)著我的面吹牛礁蔗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雁社,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼浴井,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了霉撵?” 一聲冷哼從身側(cè)響起磺浙,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎徒坡,沒(méi)想到半個(gè)月后撕氧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡喇完,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年伦泥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锦溪。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡不脯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出刻诊,到底是詐尸還是另有隱情防楷,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布则涯,位于F島的核電站复局,受9級(jí)特大地震影響冲簿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亿昏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一峦剔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧龙优,春花似錦羊异、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至宰衙,卻和暖如春平道,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背供炼。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工一屋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人袋哼。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓冀墨,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親涛贯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子诽嘉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,859評(píng)論 6 342
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)弟翘,斷路器虫腋,智...
    卡卡羅2017閱讀 134,707評(píng)論 18 139
  • 1.Spring web mvc介紹 Spring web mvc和Struts2都屬于表現(xiàn)層的框架,它是Spri...
    七弦桐語(yǔ)閱讀 11,520評(píng)論 2 38
  • 學(xué)習(xí)資料源:慕課網(wǎng) - Spring MVC起步 內(nèi)容概要 一、前端控制器(Front Controller) 二...
    拾壹北閱讀 1,968評(píng)論 0 22
  • 誰(shuí)沒(méi)有做過(guò)夢(mèng)呢稀余,我們?cè)趬?mèng)里同樣歌唱悦冀、歡呼、吶喊睛琳,或許直到夢(mèng)醒時(shí)分才會(huì)恍然發(fā)現(xiàn)盒蟆,曾經(jīng)歷歷在目的真實(shí)不過(guò)是一場(chǎng)夢(mèng)而已。...
    晚陽(yáng)初彤閱讀 133評(píng)論 0 0