Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項(xiàng)目踩過的坑
學(xué)生可以申請Intellij IDEA旗艦版免費(fèi)試用!我終于可以暫時(shí)不用折騰社區(qū)版啦啦啦啦啦!?。?/p>
IDEA旗艦版可以直接創(chuàng)建Spring MVC項(xiàng)目,但創(chuàng)建后的項(xiàng)目并不是直接就可以運(yùn)行,還需要進(jìn)行一些配置。
一、創(chuàng)建項(xiàng)目
打開Intellij IDEA,創(chuàng)建項(xiàng)目(CreateNewProject);
在左邊選擇 “Spring”,然后右邊勾選“Spring MVC”,下面的“WebApplication”應(yīng)該會(huì)自動(dòng)勾選,如果沒有,則手動(dòng)勾選上;
下面保持默認(rèn)選項(xiàng)“Download”就可以,點(diǎn)擊“Next”;
輸入項(xiàng)目名稱(Projectname),比如這里我是“SpringMVCTest”,其他不用管,點(diǎn)擊“Finish”;
等待 IDEA下載完響應(yīng)的包;
我們得到一個(gè)初始的項(xiàng)目結(jié)構(gòu):
此時(shí)我們按快捷鍵Ctrl+Alt+Shift+S,打開項(xiàng)目結(jié)構(gòu)(ProjectStructure),可以看到有兩個(gè)Problems,點(diǎn)擊“Problems”,并在右邊點(diǎn)擊任意一個(gè)藍(lán)色的“[Fix]”,在子菜單中選擇“Addallmisssingdependenciesof 'XXX'totheartifact”,點(diǎn)擊“OK”。
這樣,在編譯運(yùn)行的時(shí)候,就會(huì)在“項(xiàng)目文件夾\out\artifacts\項(xiàng)目名_war_explodedlib\WEB-INF”中也建立一個(gè)lib文件夾,并把相關(guān)的包給復(fù)制過去。
二、配置Tomcat
點(diǎn)擊右上角的“AddConfiguration...”
點(diǎn)擊右上角的加號(hào),在菜單中選擇“TomcatServer”,并在子菜單中選擇“Local”;
修改“Name”,比如這里是“Tomcat 9”;
指定Tomcat目錄(Applicationserver);
在“Afterlaunch”中選擇默認(rèn)打開的瀏覽器;
可以看到下面有一個(gè)“Warning”,直接點(diǎn)擊右邊的“Fix”;
接著自動(dòng)跳到“Deployment”,并自動(dòng)添加了“XXX:warexploded”;
為了方便,我們將下面的應(yīng)用上下文改成項(xiàng)目名就好(比如這里的“/SpringMVCTest”),Server選項(xiàng)卡這邊的“URL”也會(huì)自動(dòng)變成“http://localhost:8080/應(yīng)用上下文”的形式(比如這里會(huì)變成“http://localhost:8080/SpringMVCTest”)。點(diǎn)擊“OK”。
此時(shí),點(diǎn)擊右上角的綠色三角形運(yùn)行項(xiàng)目;
在啟動(dòng)Tomcat之后,IDEA會(huì)自動(dòng)啟動(dòng)瀏覽器打開“http://localhost:8080/SpringMVCTest”,顯示的就是web文件夾下的index.jsp了。
三、配置 View Resolver 和Controller
1、導(dǎo)入jstl包
下載地址:
下載后復(fù)制到項(xiàng)目中的 lib文件夾中;
再次打開ProjectStructure,點(diǎn)擊“Modules”,在中間選中項(xiàng)目,在右邊點(diǎn)擊加號(hào),選擇第一項(xiàng)“1 JARs ordirectories...”;
選擇我們剛復(fù)制進(jìn)去的lib文件夾中的jar包,點(diǎn)擊“OK”;
然后Problems提示又出問題了,點(diǎn)擊“Problems”,點(diǎn)擊右邊藍(lán)色的“[Fix]”,在子菜單中選擇“Add 'javax.servlet.jsp.jstl-api-1.2.2.jar' to theartifact”,點(diǎn)擊“OK”。
2、新建jsp頁面
在web\WEB-INF文件夾中新建一個(gè)文件夾,命名為“jsp”,并在其中新建一個(gè)jsp文件,命名為“test.jsp”,如圖:
3、新建控制器類
在 src文件夾中創(chuàng)建包,包名為“域名倒序+項(xiàng)目名+controller”格式,比如我的域名是“zhouxy.xyz”,這個(gè)項(xiàng)目名稱為“SpringMVCTest”,所以我這里包名為“xyz.zhouxy.springmvctest.controller”(其實(shí)最好應(yīng)該是“xyz.zhouxy.springmvc.test.controller”)。
在里面創(chuàng)建一個(gè)Java類,我這里類名為“MyController”,如圖,為類加上 @Controller注釋,在類中創(chuàng)建一個(gè)方法,用 @RequestMapping("/test"),將 “/test” 和該方法綁定。方法返回字符串 "test"。
4、修改配置文件
打開web.xml,將org.springframework.web.servlet.DispatcherServlet對應(yīng)的映射改成 “/”,使之響應(yīng)所有訪問本web應(yīng)用的 url(即響應(yīng)“http://localhost:8080/SpringMVCTest/”,不論后面加了什么)。如圖:
這里默認(rèn)servlet-name為“dispatcher”,相應(yīng)的Servlet的配置文件名為“dispatcher-servlet.xml”。如果你修改了,那么文件名則應(yīng)該響應(yīng)地修改為“XXX-servlet.xml”形式。我這里不作修改。
打開 dispatcher-servlet.xml,修改為如圖所示:
注意,其中<context:component-scan />元素的base-package屬性值是我們的 controller 包的完整包名,如果你的包名和我不一樣,注意修改以保持一致。
下面的View Resolver,將在控制器類中的方法返回字符串 "test"時(shí),自動(dòng)在其前面和后面分別加上“/WEB-INF/jsp/”和“.jsp”,使之成為“/WEB-INF/jsp/test.jsp”。
再次運(yùn)行項(xiàng)目,瀏覽器像之前一樣打開了“http://localhost:8080/SpringMVCTest/”,我們在其后面輸入“test”,Dispatcher會(huì)在<context:component-scan />元素所指定的包中查找?guī)?@Controller注釋的類,并在其中找到帶 @RequestMapping("/test") 注釋的請求處理方法,然后執(zhí)行。如上所述,我們的方法返回了字符串 "test",由View Resolver “加工”成“/WEB-INF/pages/test.jsp”,返回給Spring的org.springframework.web.servlet.DispatcherServlet對象,也就是web.xml中配置的dispatcher,由它去跳轉(zhuǎn)到“/WEB-INF/pages/test.jsp”頁面。
總結(jié)
到此這篇關(guān)于Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項(xiàng)目踩坑記的文章就介紹到這了,更多相關(guān)Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項(xiàng)目 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 使用IDEA搭建SSM框架的詳細(xì)教程(spring + springMVC +MyBatis)
- 使用idea搭建一個(gè)spring mvc項(xiàng)目的圖文教程
- 在IDEA中搭建最小可用SpringMVC項(xiàng)目(純Java配置)
- idea創(chuàng)建springMVC框架和配置小文件的教程圖解
- IntelliJ IDEA maven 構(gòu)建簡單springmvc項(xiàng)目(圖文教程)
- 詳解IDEA用maven創(chuàng)建springMVC項(xiàng)目和配置
- IDEA上面搭建一個(gè)SpringBoot的web-mvc項(xiàng)目遇到的問題
- 基于IDEA創(chuàng)建SpringMVC項(xiàng)目流程圖解
相關(guān)文章
IDEA下Maven的pom文件導(dǎo)入依賴出現(xiàn)Auto build completed with errors的問題
這篇文章主要介紹了IDEA下Maven的pom文件導(dǎo)入依賴出現(xiàn)Auto build completed with errors,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06MyBatisPlus條件構(gòu)造器圖文實(shí)例詳解
這篇文章主要介紹了MyBatisPlus條件構(gòu)造器,了解內(nèi)部原理是為了幫助我們做擴(kuò)展,同時(shí)也是驗(yàn)證了一個(gè)人的學(xué)習(xí)能力,如果你想讓自己的職業(yè)道路更上一層樓,這些底層的東西你是必須要會(huì)的2023-01-01以Java代碼的方式總結(jié)幾個(gè)典型的內(nèi)存溢出案例
作為程序員,多多少少都會(huì)遇到一些內(nèi)存溢出的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個(gè)假程序員!哈哈,開個(gè)玩笑.今天分享給大家Java內(nèi)存溢出的相關(guān)案例,希望大家在日常工作中,盡量避免寫這些low水平的代碼,需要的朋友可以參考下2021-06-06基于SpringAOP+Caffeine實(shí)現(xiàn)本地緩存的實(shí)例代碼
公司想對一些不經(jīng)常變動(dòng)的數(shù)據(jù)做一些本地緩存,我們使用AOP+Caffeine來實(shí)現(xiàn),所以本文給大家介紹了2024-03-03
基于SpringAOP+Caffeine實(shí)現(xiàn)本地緩存的實(shí)例,文中有詳細(xì)的代碼供大家參考,需要的朋友可以參考下SpringBoot Mybatis動(dòng)態(tài)數(shù)據(jù)源切換方案實(shí)現(xiàn)過程
這篇文章主要介紹了SpringBoot+Mybatis實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)源切換方案過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04Spring Boot 通過AOP和自定義注解實(shí)現(xiàn)權(quán)限控制的方法
這篇文章主要介紹了Spring Boot 通過AOP和自定義注解實(shí)現(xiàn)權(quán)限控制,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11