使用IDEA開(kāi)發(fā)配置Java Web的初始化過(guò)程
1. 下載Tomcat
首先,下載Apache Tomcat并解壓到本地計(jì)算機(jī),可存放于任何位置。
另外,需要在系統(tǒng)中環(huán)境JRE_HOME環(huán)境變量,以保證Tomcat可以正常啟動(dòng),具體配置方式請(qǐng)參考其它教程。
2. 創(chuàng)建Java Web項(xiàng)目
在IntelliJ IDEA的歡迎主界面中,點(diǎn)擊Create New Project:
在New Project對(duì)話框的左側(cè)選擇Java Enterprice,在右側(cè)確保Project SDK是1.8版本,Java EE version為Java EE 8(也可以是略低的其它版本):
由于是第1次使用,尚未配置Tomcat,需要點(diǎn)擊Application Server右側(cè)的New按鈕,并在彈出的菜單中選擇Tomcat Server:
在彈出的Tomcat Server對(duì)話框中,在Tomcat Home欄瀏覽到第1步下載的Tomcat目錄,并點(diǎn)擊OK:
回到New Project對(duì)話框,在Additional Libraries and Frameworks的列表中,勾選Web Application (4.0),然后點(diǎn)擊Next到下一步:
填寫(xiě)項(xiàng)目名稱,并確保保存項(xiàng)目的文件夾路徑無(wú)誤后,即可點(diǎn)擊Finish按鈕,以完成創(chuàng)建項(xiàng)目:
3. 啟動(dòng)項(xiàng)目
相比普通的Java項(xiàng)目,在Java EE項(xiàng)目結(jié)構(gòu)中多了一個(gè)web文件夾,相當(dāng)于使用Eclipse時(shí)在項(xiàng)目中看到的webapp文件夾,在web文件夾下有WEB-INF子文件夾和index.jsp文件,并且,在WEB-INF文件夾下還有web.xml文件:
打開(kāi)index.jsp文件,該文件目前只有最基礎(chǔ)的文件結(jié)構(gòu):
可以自行修改標(biāo)題文字及頁(yè)面中顯示的內(nèi)容,具體修改方式可完全參考HTML語(yǔ)法:
點(diǎn)擊窗口右上角的“運(yùn)行”按鈕,即可將當(dāng)前項(xiàng)目部署到Tomcat并運(yùn)行:
運(yùn)行成功后,會(huì)自動(dòng)打開(kāi)瀏覽器,并顯示index.jsp頁(yè)面所設(shè)置的內(nèi)容:
由于index.jsp是默認(rèn)頁(yè)面,所以,在瀏覽器的URL中并不需要顯式的添加該文件的名稱,如果添加了,顯示的效果也是完全相同的:
4. 修改項(xiàng)目的Context Path
剛才啟動(dòng)項(xiàng)目時(shí),會(huì)自動(dòng)打開(kāi)瀏覽器并訪問(wèn)項(xiàng)目的頁(yè)面,是項(xiàng)目的啟動(dòng)設(shè)置中的配置決定的,點(diǎn)擊IntelliJ IDEA的Run菜單的Edit Configurations即可打開(kāi)啟動(dòng)設(shè)置:
在設(shè)置面板中,有Open Browser(打開(kāi)瀏覽器)設(shè)置項(xiàng),在下方默認(rèn)勾選了After launch(啟動(dòng)之后)、所使用的瀏覽器,及打開(kāi)瀏覽器后訪問(wèn)的URL:
如果需要修改項(xiàng)目的Context Path,展開(kāi)項(xiàng)目結(jié)構(gòu)中的.idea,打開(kāi)workspace.xml文件,在該文件的第26行(因版本差異可能行號(hào)不同)就是Context Path值的配置:
可自行修改該屬性的值:
修改后,當(dāng)項(xiàng)目再次運(yùn)行時(shí),如果還按照原有的URL進(jìn)行訪問(wèn)肯定是錯(cuò)誤的,所以,應(yīng)該回到啟動(dòng)設(shè)置中,將打開(kāi)瀏覽器后自動(dòng)訪問(wèn)的URL修改為與新的Context Path值匹配的URL:
當(dāng)啟動(dòng)設(shè)置也修改完成后,重新啟動(dòng)Tomcat,當(dāng)啟動(dòng)成功后,仍會(huì)自動(dòng)打開(kāi)瀏覽器,可以看到此次訪問(wèn)的就是修改后的URL,并且可以正常訪問(wèn)到index.jsp:
5. 通過(guò)Servlet組件轉(zhuǎn)發(fā)JSP
在Java EE項(xiàng)目中,使用Servlet組件轉(zhuǎn)發(fā)JSP是非常常見(jiàn)的做法,首先,對(duì)項(xiàng)目的src點(diǎn)擊鼠標(biāo)右鍵,依賴選擇New > Create New Servlet即可開(kāi)始創(chuàng)建Servlet組件:
在彈出的New Servlet對(duì)話框中,自行填寫(xiě)Servlet Name與Package,完成后點(diǎn)擊OK即可:
創(chuàng)建成功后,會(huì)自動(dòng)打開(kāi)所創(chuàng)建的Servlet類,首先,在@WebServlet
注解參數(shù)中,增加配置urlPatterns
屬性,以指定訪問(wèn)該Servlet組件的資源名(注意:該屬性值需要使用 /
作為第1個(gè)字符):
默認(rèn)情況下,當(dāng)前Servlet中已經(jīng)生成了重寫(xiě)的doPost
與doGet
方法,由于本次只是簡(jiǎn)單的訪問(wèn)即可,客戶端提交請(qǐng)求的方式應(yīng)該是GET類型,則不需要doPost
方法,刪掉即可,如果允許使用POST方式訪問(wèn),且與GET方式相同的處理模式,則在doPost
方法中直接調(diào)用doGet
方法即可:
在實(shí)現(xiàn)轉(zhuǎn)發(fā)時(shí),需要一個(gè)JSP頁(yè)面文件,通常,會(huì)將JSP文件保存到WEB-INF的某個(gè)子級(jí)文件夾中,避免JSP文件被直接訪問(wèn)!對(duì)WEB-INF文件夾點(diǎn)擊鼠標(biāo)右鍵,依次選擇New > Directory以創(chuàng)建用于存放JSP文件的文件夾:
在彈出的New Directory對(duì)話框中輸入文件夾的名稱并回車:
對(duì)新創(chuàng)建的文件夾點(diǎn)擊鼠標(biāo)右鍵,依賴選擇New > JSP/JSPX以創(chuàng)建JSP文件:
在彈出的Create JSP/JSPX page對(duì)話框中輸入文件名(不需要輸入擴(kuò)展名)并回車:
然后,自行設(shè)計(jì)JSP文件的內(nèi)容,例如:
回到Servlet類的doGet
方法中,添加轉(zhuǎn)發(fā)JSP的代碼,例如:
request.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(request, response);
如下圖所示:
完成后,再次重新啟動(dòng)項(xiàng)目,在URL的Context Path值的右側(cè)添加hello
(Servlet組件配置的urlPatterns值)即可看到Servlet轉(zhuǎn)發(fā)的JSP文件顯示的內(nèi)容:
以上就是使用IDEA開(kāi)發(fā)配置Java Web的初始化過(guò)程的詳細(xì)內(nèi)容,更多關(guān)于idea創(chuàng)建javaweb的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于令牌桶的限流器注解的簡(jiǎn)單實(shí)現(xiàn)詳解
令牌桶算法是一種常用的流量控制算法,用于限制請(qǐng)求或事件的發(fā)生速率,這篇文章主要介紹了如何基于令牌桶實(shí)現(xiàn)限流器注解,需要的可以參考一下2023-08-08idea導(dǎo)入項(xiàng)目不顯示maven側(cè)邊欄的問(wèn)題及解決方法
這篇文章主要介紹了idea導(dǎo)入項(xiàng)目不顯示maven側(cè)邊欄的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Mybatis使用update更新值為null時(shí)不生效問(wèn)題解決
這篇文章主要介紹了Mybatis使用update更新值為null時(shí)不生效問(wèn)題解決,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06Java實(shí)現(xiàn)簡(jiǎn)易的分詞器功能
搜索功能是具備數(shù)據(jù)庫(kù)功能的系統(tǒng)的一大重要特性和功能,生活中常見(jiàn)的搜索功能基本上都具備了分詞搜索功能.然而ES功能固然強(qiáng)大,但對(duì)于學(xué)生或小項(xiàng)目而言整合起來(lái)太費(fèi)人力物力,若是寫(xiě)個(gè)分詞器就會(huì)使項(xiàng)目錦上添花,使其不僅僅是只能單關(guān)鍵詞搜索的系統(tǒng),需要的朋友可以參考下2021-06-06RocketMQ之Consumer整體介紹啟動(dòng)源碼分析
這篇文章主要為大家介紹了RocketMQ源碼分析之Consumer整體介紹啟動(dòng)分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05java線程池對(duì)象ThreadPoolExecutor的深入講解
在我們的開(kāi)發(fā)中“池”的概念并不罕見(jiàn),有數(shù)據(jù)庫(kù)連接池、線程池、對(duì)象池、常量池等等。下面這篇文章主要給大家介紹了關(guān)于java線程池對(duì)象ThreadPoolExecutor的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧2018-09-09