成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

瀏覽:138日期:2023-09-16 16:56:09

學(xué)生可以申請Intellij IDEA旗艦版免費試用!我終于可以暫時不用折騰社區(qū)版啦啦啦啦啦!!!

IDEA旗艦版可以直接創(chuàng)建Spring MVC項目,但創(chuàng)建后的項目并不是直接就可以運行,還需要進行一些配置。

一、創(chuàng)建項目

打開Intellij IDEA,創(chuàng)建項目(CreateNewProject);

在左邊選擇 “Spring”,然后右邊勾選“Spring MVC”,下面的“WebApplication”應(yīng)該會自動勾選,如果沒有,則手動勾選上;

下面保持默認選項“Download”就可以,點擊“Next”;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

輸入項目名稱(Projectname),比如這里我是“SpringMVCTest”,其他不用管,點擊“Finish”;

等待 IDEA下載完響應(yīng)的包;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

我們得到一個初始的項目結(jié)構(gòu):

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

此時我們按快捷鍵Ctrl+Alt+Shift+S,打開項目結(jié)構(gòu)(ProjectStructure),可以看到有兩個Problems,點擊“Problems”,并在右邊點擊任意一個藍色的“[Fix]”,在子菜單中選擇“Addallmisssingdependenciesof ’XXX’totheartifact”,點擊“OK”。

這樣,在編譯運行的時候,就會在“項目文件夾outartifacts項目名_war_explodedlibWEB-INF”中也建立一個lib文件夾,并把相關(guān)的包給復(fù)制過去。

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

二、配置Tomcat

點擊右上角的“AddConfiguration...”

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

點擊右上角的加號,在菜單中選擇“TomcatServer”,并在子菜單中選擇“Local”;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

修改“Name”,比如這里是“Tomcat 9”;

指定Tomcat目錄(Applicationserver);

在“Afterlaunch”中選擇默認打開的瀏覽器;

可以看到下面有一個“Warning”,直接點擊右邊的“Fix”;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

接著自動跳到“Deployment”,并自動添加了“XXX:warexploded”;

為了方便,我們將下面的應(yīng)用上下文改成項目名就好(比如這里的“/SpringMVCTest”),Server選項卡這邊的“URL”也會自動變成“http://localhost:8080/應(yīng)用上下文”的形式(比如這里會變成“http://localhost:8080/SpringMVCTest”)。點擊“OK”。

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

此時,點擊右上角的綠色三角形運行項目;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

在啟動Tomcat之后,IDEA會自動啟動瀏覽器打開“http://localhost:8080/SpringMVCTest”,顯示的就是web文件夾下的index.jsp了。

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

三、配置 View Resolver 和Controller

1、導(dǎo)入jstl包

下載地址:

https://search.maven.org/remotecontent?filepath=javax/servlet/jsp/jstl/javax.servlet.jsp.jstl-api/1.2.2/javax.servlet.jsp.jstl-api-1.2.2.jar

下載后復(fù)制到項目中的 lib文件夾中;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

再次打開ProjectStructure,點擊“Modules”,在中間選中項目,在右邊點擊加號,選擇第一項“1 JARs ordirectories...”;

選擇我們剛復(fù)制進去的lib文件夾中的jar包,點擊“OK”;

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

然后Problems提示又出問題了,點擊“Problems”,點擊右邊藍色的“[Fix]”,在子菜單中選擇“Add ’javax.servlet.jsp.jstl-api-1.2.2.jar’ to theartifact”,點擊“OK”。

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

2、新建jsp頁面

在webWEB-INF文件夾中新建一個文件夾,命名為“jsp”,并在其中新建一個jsp文件,命名為“test.jsp”,如圖:

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

3、新建控制器類

在 src文件夾中創(chuàng)建包,包名為“域名倒序+項目名+controller”格式,比如我的域名是“zhouxy.xyz”,這個項目名稱為“SpringMVCTest”,所以我這里包名為“xyz.zhouxy.springmvctest.controller”(其實最好應(yīng)該是“xyz.zhouxy.springmvc.test.controller”)。

在里面創(chuàng)建一個Java類,我這里類名為“MyController”,如圖,為類加上 @Controller注釋,在類中創(chuàng)建一個方法,用 @RequestMapping('/test'),將 “/test” 和該方法綁定。方法返回字符串 'test'。

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

4、修改配置文件

打開web.xml,將org.springframework.web.servlet.DispatcherServlet對應(yīng)的映射改成 “/”,使之響應(yīng)所有訪問本web應(yīng)用的 url(即響應(yīng)“http://localhost:8080/SpringMVCTest/”,不論后面加了什么)。如圖:

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

這里默認servlet-name為“dispatcher”,相應(yīng)的Servlet的配置文件名為“dispatcher-servlet.xml”。如果你修改了,那么文件名則應(yīng)該響應(yīng)地修改為“XXX-servlet.xml”形式。我這里不作修改。

打開 dispatcher-servlet.xml,修改為如圖所示:

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

注意,其中<context:component-scan />元素的base-package屬性值是我們的 controller 包的完整包名,如果你的包名和我不一樣,注意修改以保持一致。

下面的View Resolver,將在控制器類中的方法返回字符串 'test'時,自動在其前面和后面分別加上“/WEB-INF/jsp/”和“.jsp”,使之成為“/WEB-INF/jsp/test.jsp”。

再次運行項目,瀏覽器像之前一樣打開了“http://localhost:8080/SpringMVCTest/”,我們在其后面輸入“test”,Dispatcher會在<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”頁面。

Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩過的坑

總結(jié)

到此這篇關(guān)于Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目踩坑記的文章就介紹到這了,更多相關(guān)Intellij IDEA 旗艦版創(chuàng)建 Spring MVC 項目 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: Spring
相關(guān)文章: