---
# System prepended metadata

title: JAVA程式筆記-Servlet-1
tags: [JAVA程式筆記]

---

---
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
