---
# System prepended metadata

title: JAVA2程式筆記-第22-28章
tags: [JAVA2程式筆記]

---

---
title:  JAVA2程式筆記-第22-28章
tags: JAVA2程式筆記
---
#JAVA2程式筆記-第22-28 章
延續在https://medium.com/p/608a1b187e72/edit
的筆記因為放不上了~所以以此為連結

前面的章節放在
https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/H1-bOfoK8
和
https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/Bkp5_96tU

---
前言:雖然說很多人說純的Servlet和JSP已經沒有人用了，但是不懂這兩個，後面的SPRING和ANGULAR也是聽不懂~

這裡我覺得這本課本寫得有點跳~
所以我又找了很多課外讀物來補充~
然後也有其他版來寫Servlet+JSP
https://hackmd.io/@sSA6NW2ZToCxgSaVETWNCg/Hy-R2Dtc8

或許有天我會在把這本書的內容理解，所以先留著吧
---
Chapter 22 Servlet=寫在web伺服器上執行的程式
試著參考這個網址https://www.itread01.com/p/4268.html
還有其他參考資料:
https://www.jetbrains.com/idea/features/editions_comparison_matrix.html
https://www.jetbrains.com/help/idea/enabling-java-ee-application-support.html
https://blog.csdn.net/yhao2014/article/details/45740111
https://blog.csdn.net/yhao2014/article/details/45740111?fbclid=IwAR3UUgz5yTHohV_M2DaRONzgBK4voEQzWhYWWQSufxUh9GyOixj4qf7NVtE
來做一下intellij的tomcat的導入(這個也是一個很大的障礙)-特別注意自己的HTTP現在的位置
![](https://i.imgur.com/pkbgbPM.jpg)
其實每個人在學習的過程中都會參考很多網路上大大的網址，但是發現都長得不一樣
(因為使用軟體的時間點不同，軟體會修正，當然就長得不一樣)

先來確認我的TOMCAT能動=HELLO 成功
![](https://i.imgur.com/PTOkjQO.jpg)

我覺得之後手工KEY網址也是一個很雷的地方
![](https://i.imgur.com/gklAywd.jpg)

在SRC下建的是.java檔
在WEB/WEB-INF/classes下建的是.class檔
![](https://i.imgur.com/keA4uMr.jpg)


環境確認會動，就開始回到課本上啦~(之前都照KEY，但是照打不懂內容BUG還是抓不出的，尤其是到SPRING~超多CLASS會超暈，會在.java.xml檔之間跳來跳去)

之前有在ECLOPSE練習過Servlet，新建一個檔會幫你自動產生超多內容:
https://gist.github.com/jzs2home/dce7f86333dbd3a355f02323944e5383#file-hi-java
原來裡面都太多了，要自己刪掉一部分~
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

需要好好搞清楚doPost和doGet還有request和response差別的地方~
---
doPost:收到POST請求
doGet:收到GET請求
HTTP規則-request=請求/response=回應
網頁是由HTML文件寫的，還包含XML/GIF/JPEG的內容
如果是使要一開始就建好的Servlet要先手工砍掉
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }

-------
到這裡我覺得課本L22這後沒有很把URL的地方寫好~他跳太多了

我找到這個https://extremegtr.github.io/2017/07/28/Use-Intellij-IDEA-deploy-webapp-to-tomcat/
我覺得他有把新手在建檔時的不知道要把.html放在哪貼出來了~
因為純在電腦裡運行和在WEB上運行是完全不一樣的
然後要先建PACKAGE這個也很重要~不然檔案是不能RUN的
然後這個把URL解釋得很好https://juejin.im/post/5a75b0be5188254e761781d7    

依照這個網址我推測我的KEY的URL應該是http://localhost:8080/JaveEEHelloWorld_war_exploded/Sample2.html(要RUN-HTML檔才有東西，RUN的是.java沒反應)

我來驗證看看~
![](https://i.imgur.com/VPKFSe3.jpg)

目前建檔:
![](https://i.imgur.com/fbITWva.jpg)

結果:
![](https://i.imgur.com/IbJewZU.jpg)

不過打字完出現404就是我後面那一頁還沒有建好~
![](https://i.imgur.com/KrNP0P4.jpg)

Sample2.java程式碼:
https://gist.github.com/jzs2home/4b4ac9ffaaac6ae1ad266d3809626e65

Sample2.html程式碼:
https://gist.github.com/jzs2home/8f91663210c9c725f405b984e03da760

這裡連結的網址我是打:http://localhost:8080/JaveEEHelloWorld_war_exploded/servlet/Sample2

---
來把後面兩頁建好:
sc.getRequestDispatcher("/thanks.html")的/是一定要得

.java程式碼改寫-

Sample2.java程式碼:
https://gist.github.com/jzs2home/c32b97f3234084e1a5b4bec3d3ce7098

Sample2.html程式碼:
https://gist.github.com/jzs2home/8ba64aa035ddc5ed62b8eb0d5dc6c1a2

thanks.html:https://gist.github.com/jzs2home/bd52809544b0a0411376401a67ea9f9a

error.html:https://gist.github.com/jzs2home/a997c26819243ccb8a36e9864fdb6f92

這裡卡在不管輸入甚麼都不能到下兩頁，先做JSP看看(JSP可以做到Servlet可以做到的任何事)-->但是我覺得應該是連接地方的問題，因為我開一個新的.jsp檔居然還是連到上一個檔的顯示
![](https://i.imgur.com/ToSRRKz.png)



因為看不到課本的安裝環境，因此決定尋找網路上有完整的環境配置的INTELLIJ來實做


---
Chapter 23 JSP


---
Chapter 24 JDBC
決定也是用INTELLIJ的資料庫MYSQL來試~
![](https://i.imgur.com/tzlkcYw.jpg)

建之前要先查好自己的這些資料(因為我自己忘記了~)
![](https://i.imgur.com/uOvIVSV.jpg)


---
Chapter 25 檔案操作
---
Chapter 26 XML
---
Chapter 27 網路
---
Chapter 28 寫出大型程式-活用篇
---
我所根據的書:最新Java2程式設計實例入門與活用-超值增訂第四版
