您好,登錄后才能下訂單哦!
學生可以申請Intellij IDEA旗艦版免費試用!我終于可以暫時不用折騰社區版啦啦啦啦啦!!!
IDEA旗艦版可以直接創建Spring MVC項目,但創建后的項目并不是直接就可以運行,還需要進行一些配置。
打開Intellij IDEA,創建項目(CreateNewProject);
在左邊選擇 “Spring”,然后右邊勾選“Spring MVC”,下面的“WebApplication”應該會自動勾選,如果沒有,則手動勾選上;
下面保持默認選項“Download”就可以,點擊“Next”;
輸入項目名稱(Projectname),比如這里我是“SpringMVCTest”,其他不用管,點擊“Finish”;
等待 IDEA下載完響應的包;
我們得到一個初始的項目結構:
此時我們按快捷鍵Ctrl+Alt+Shift+S,打開項目結構(ProjectStructure),可以看到有兩個Problems,點擊“Problems”,并在右邊點擊任意一個藍色的“[Fix]”,在子菜單中選擇“Addallmisssingdependenciesof 'XXX'totheartifact”,點擊“OK”。
這樣,在編譯運行的時候,就會在“項目文件夾\out\artifacts\項目名_war_explodedlib\WEB-INF”中也建立一個lib文件夾,并把相關的包給復制過去。
點擊右上角的“AddConfiguration...”
點擊右上角的加號,在菜單中選擇“TomcatServer”,并在子菜單中選擇“Local”;
修改“Name”,比如這里是“Tomcat 9”;
指定Tomcat目錄(Applicationserver);
在“Afterlaunch”中選擇默認打開的瀏覽器;
可以看到下面有一個“Warning”,直接點擊右邊的“Fix”;
接著自動跳到“Deployment”,并自動添加了“XXX:warexploded”;
為了方便,我們將下面的應用上下文改成項目名就好(比如這里的“/SpringMVCTest”),Server選項卡這邊的“URL”也會自動變成“http://localhost:8080/應用上下文”的形式(比如這里會變成“http://localhost:8080/SpringMVCTest”)。點擊“OK”。
此時,點擊右上角的綠色三角形運行項目;
在啟動Tomcat之后,IDEA會自動啟動瀏覽器打開“http://localhost:8080/SpringMVCTest”,顯示的就是web文件夾下的index.jsp了。
1、導入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
下載后復制到項目中的 lib文件夾中;
再次打開ProjectStructure,點擊“Modules”,在中間選中項目,在右邊點擊加號,選擇第一項“1 JARs ordirectories...”;
選擇我們剛復制進去的lib文件夾中的jar包,點擊“OK”;
然后Problems提示又出問題了,點擊“Problems”,點擊右邊藍色的“[Fix]”,在子菜單中選擇“Add 'javax.servlet.jsp.jstl-api-1.2.2.jar' to theartifact”,點擊“OK”。
2、新建jsp頁面
在web\WEB-INF文件夾中新建一個文件夾,命名為“jsp”,并在其中新建一個jsp文件,命名為“test.jsp”,如圖:
3、新建控制器類
在 src文件夾中創建包,包名為“域名倒序+項目名+controller”格式,比如我的域名是“zhouxy.xyz”,這個項目名稱為“SpringMVCTest”,所以我這里包名為“xyz.zhouxy.springmvctest.controller”(其實最好應該是“xyz.zhouxy.springmvc.test.controller”)。
在里面創建一個Java類,我這里類名為“MyController”,如圖,為類加上 @Controller注釋,在類中創建一個方法,用 @RequestMapping("/test"),將 “/test” 和該方法綁定。方法返回字符串 "test"。
4、修改配置文件
打開web.xml,將org.springframework.web.servlet.DispatcherServlet對應的映射改成 “/”,使之響應所有訪問本web應用的 url(即響應“http://localhost:8080/SpringMVCTest/”,不論后面加了什么)。如圖:
這里默認servlet-name為“dispatcher”,相應的Servlet的配置文件名為“dispatcher-servlet.xml”。如果你修改了,那么文件名則應該響應地修改為“XXX-servlet.xml”形式。我這里不作修改。
打開 dispatcher-servlet.xml,修改為如圖所示:
注意,其中<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 />元素所指定的包中查找帶 @Controller注釋的類,并在其中找到帶 @RequestMapping("/test") 注釋的請求處理方法,然后執行。如上所述,我們的方法返回了字符串 "test",由View Resolver “加工”成“/WEB-INF/pages/test.jsp”,返回給Spring的org.springframework.web.servlet.DispatcherServlet對象,也就是web.xml中配置的dispatcher,由它去跳轉到“/WEB-INF/pages/test.jsp”頁面。
總結
到此這篇關于Intellij IDEA 旗艦版創建 Spring MVC 項目踩坑記的文章就介紹到這了,更多相關Intellij IDEA 旗艦版創建 Spring MVC 項目 內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。