--- title: JAVA程式筆記-Servlet-1 tags: JAVA程式筆記 --- Servlet服務器(外部容器)端小程序(對應之前APPLET客戶端小程序) JAVAEE(Jakarta EE):客戶層--JAVA應用服務器--企業信息系統層 JAVA WEB服務器:TOMCAT 高級環境設定:這個也是一個雷(因為書裡沒有寫) https://www.itread01.com/content/1534426807.html?fbclid=IwAR2UBSmsJc2dr1FTas7ESHvE8ruOFSDa4xhdmmoxgmvTD58Mvhj4eZok9lE 參照網址打開+在USER的PATH裡加上JDK ![](https://i.imgur.com/05KFGD3.jpg) 也可以改成(只有在WINDOWS...但是這個%在學SPRING裝MAVEN時也有用到) ![](https://i.imgur.com/fuscO3y.jpg) 還有JAVA_HOME(我在想我之前TOMCAT都跳轉不成功,應該是沒有做到這裡) ![](https://i.imgur.com/nh2XAqP.jpg) 到CMD打JAVA可以看到指令: ![](https://i.imgur.com/YqCYgaH.jpg) ![](https://i.imgur.com/q2YsxsM.jpg) 因為我之前用過ESLIPSE所以我現在要用INTELLIJ IDEA(旗艦版)來練習 參考這個選項:https://blog.csdn.net/yhao2014/article/details/45740111 ![](https://i.imgur.com/xvUBYTN.jpg) 保護眼睛-字變大 ![](https://i.imgur.com/VCGcbUO.jpg) 我這裡TOMCAT是之前已裝好(難的就是XML裡的8080(基本上預設就是這個,只是怕自己在軟體外開了~軟體內又硬按~就衝突了)或?那裡有點難懂) https://juejin.im/post/5a75b0be5188254e761781d7?fbclid=IwAR0WcKmDPthL9MpjwRJBFQqwaS1eur2N1uC7wKOW7uZTWHT4pFwcufZKvhg 要記得V這個 WEB APPLICATION不然不會有生成到IDEA這個資料夾 ![](https://i.imgur.com/Un49oeO.jpg) ![](https://i.imgur.com/Uh1lAKM.jpg) SRC下建一個檔-HELLO一下 ![](https://i.imgur.com/Ax5Vexp.jpg) 結果 ![](https://i.imgur.com/gH8c14n.jpg) --- ![](https://i.imgur.com/5dtdaOg.jpg) SRC下建Servlet ![](https://i.imgur.com/OIPbkYl.jpg) 剛開始建好居然會反紅是正常,需要靠手工引入 ![](https://i.imgur.com/O9G88LD.jpg) ![](https://i.imgur.com/bTsmYum.png) ![](https://i.imgur.com/pp4C6fe.jpg) 發現在lib裡添加(每次做都要加一次) ![](https://i.imgur.com/nbVER98.jpg) --- doGet-客戶端提供的請求 HttpServletRequest request和http.HttpServletResponse https://www.itread01.com/content/1548390435.html response-應答/輸出流PrintWriter out=response.getWriter(); ![](https://i.imgur.com/c1gelqa.jpg) https://gist.github.com/jzs2home/953be404dcb577112a252f289c129c90 --- 然後還要改在web.xml的文件加入<servlet-mapping>的模板mapping(URL映射) ![](https://i.imgur.com/DZOju0x.jpg) https://gist.github.com/jzs2home/f5c935dc7159976a9f5ce774b5f8c353 然後也可以在web.xml裡面在加.jsp檔(歡迎頁面之類的) 第一次運行需要增加一些配置 ![](https://i.imgur.com/C2LHkNG.png) ![](https://i.imgur.com/uYK572b.png) 這個TOMCAT的地方我覺得也是一個雷 要注意自己的URL是在哪裡~大部分都是教8080.但是我這裡先改9999 ![](https://i.imgur.com/PScQZ5A.jpg) 然後還有一些網路上在教一些TOMCAT的設定時都會不知道為什麼這麼做時, 如果自己之前有亂改,記得的改回來,不然怎麼樣都看不到HELLOWORLD ![](https://i.imgur.com/Et1HkFE.png) 在旁邊那也要注意 ![](https://i.imgur.com/WP2TABD.png) 求到的結果 INTELLIJ最原本建好檔就有幫忙建一個index.jsp所以就會顯示這樣 ![](https://i.imgur.com/JwbcE1t.jpg) ![](https://i.imgur.com/mBKwjMl.jpg) 下面是要倒出我們建的/FirstServlet ![](https://i.imgur.com/ngRVj96.png) 改成國民練習題的+上名稱(還有加入些HTML的語法<h3></h3>) ![](https://i.imgur.com/kAfpc2Q.jpg) 結果(這裡只是改了.java+xml檔,其實比較雷的是TOMCAT和網址的KEY入,因為要很清楚才找的到):注意網址是要"自己用手打入?name=sonia(看你要打誰的名字都可以)"他不會自己生成 ![](https://i.imgur.com/hJrqOsK.jpg) ??的地方是中文亂碼,要編成中文的方法是~ 加入response.setContentType("text/html;charset=utf-8"); 記得要重啟(是從RUN到網頁都要全部關起來再開才會變,一直重新整理都不會變) ![](https://i.imgur.com/EvMxFyU.jpg) 結果~http://localhost:9999/FirstServlet?name=sonia(是從RUN到網頁都要全部關起來再開才會變,一直重新整理都不會變) ![](https://i.imgur.com/rDDhHfs.jpg) 從這裡也可以看客戶端名稱有沒有跑入 ![](https://i.imgur.com/7aVaA99.jpg) 也有人用"熱部屬模式就不用每次一直按RUN,不過比較特別的居然是要按DEBUG的鍵來重啟"(我是沒有用這個..因為沒差這個一點點的時間,BUG就做BUG的事) ![](https://i.imgur.com/YjcmYYg.png) --- 之前常常卡關在顯示了主網頁-A但是要跳到下一個B或C時跳不過去(後來發現是在Servlet裡建HTML檔?然後發生404/500時修改完程式碼要網頁關掉再重開~然後有些有的沒有的註解要刪掉像MAIN的地方~),之前看書時是寫建HTML檔,但是似乎是要建Servlet才是對的(後來發現是在Servlet裡建HTML檔?),來驗證看看~ https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/r1Bmfza5U 也有人說就是把"右上"RUN的地方的"紅"的全部按暫停 tomcat在intellij的官方DEBUG https://www.jetbrains.com/help/idea/deploying-a-web-app-into-an-app-server-container.html?fbclid=IwAR3wDtZL2DKfDbdbhv7fWh6lgrA3W7jx4iKr6trvSBzN1y_MNjpoF3eqTg4 --- https://www.jetbrains.com/help/idea/run-debug-configuration-tomcat-server.html?fbclid=IwAR2dG_xq8p_lNvINZ5n7YxxhyUn2_klDMOOCu_2PnRa4rg1Jmp5paz40Fv4