# 1/9 Servlet 觀念 ###### tags: `Servlet` # 4-57 Servlet文件上傳 可與HTML form標籤一起用 # 4-58 html文件上傳表單 ![](https://i.imgur.com/hzjBOE1.png) ![](https://i.imgur.com/8JYPPpZ.png) ![](https://i.imgur.com/cp34jMZ.png) ![](https://i.imgur.com/b32RSsq.png) # 4-59 UploadFileDemo File Uploading Form(單筆上傳) Multiple Files Upload(多筆上傳) 上傳路徑(multipart/form-data) ``` <form action = "UploadServlet" method = "post" enctype = "multipart/form-data"> ``` # java servlet Annotation Annotation -> @ @MultipartConfig https://docs.oracle.com/javaee/6/tutorial/doc/gmhal.html ![](https://i.imgur.com/8dwKVlx.png) UploadServlet.java 裡面註解 smartupload https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/302309/ # 4-62 ServletResponse介面 https://javaee.github.io/javaee-spec/javadocs/ # 4-62 HttpServletResponse介面 setHeader https://javaee.github.io/javaee-spec/javadocs/ # 4-66 Status Code分類 100-199 文字錯誤 200-299 ok 300-399 東西不存在 400-499 錯誤 500-599 伺服器有問題 # 4-67.71 sendError sendRedirect SearchNewsServlet.java sendRedirect()告訴客戶端到另一個瀏覽器 # 4-75 servlet & deployment descriptor WEB-INF->web.xml ![](https://i.imgur.com/9MtXiCH.png) ![](https://i.imgur.com/sp0rIqB.png) Servlet ->web.xml(舊版) Servlet ->Annotation(@)(新版) # 4-77.78 Servlet Filter(過濾器) Client(客戶端)<->server 兩邊都能用 用法 78頁 ![](https://i.imgur.com/d6Kj2ZK.png) # 4-83 LogFilter.java https://javaee.github.io/javaee-spec/javadocs/ chain - the FilterChain for invoking the next filter or the resource ![](https://i.imgur.com/W24ECCl.png) /* 萬用資源每個都能偵查 # 4-85.86 life Cycle of Servlet & Servlet的起始設定 init https://javaee.github.io/javaee-spec/javadocs/ override 覆寫 # 轉型 ![](https://i.imgur.com/2yrVgal.jpg) sendError ``` import javax.servlet.http.*; ((HttpServletResponse)response).sendError(HttpServletResponse.SC_FORBIDDEN,"123"); ``` # 4-88 Servlet載入與產生 被動式啟動 Preloading不會先啟動,值越小的越優先,-1永遠不啟動 https://www.javatpoint.com/load-on-startup # 4-91 ServletConfig介面 https://javaee.github.io/javaee-spec/javadocs/ ServletConfig 讀取參數為主 Servletcontainer 不同環境 # 4-92 webdome web.xml 不同名註冊 ``` <servlet> <description></description> <display-name>EnglishGreeting</display-name> <servlet-name>EnglishGreeting</servlet-name> <servlet-class>GreetingServlet</servlet-class> <init-param> <param-name>greetingText</param-name> <param-value>Hello</param-value> </init-param> </servlet> <servlet-mapping>... ``` # 4-95 GreetingServlet.JAVA web.xml ![](https://i.imgur.com/PJzb7fE.png) ![](https://i.imgur.com/dJWe0wN.png) # 4-97.98.104 war war=>web app ![](https://i.imgur.com/icYDRmD.png) # Export war ![](https://i.imgur.com/7G0ZsDz.png) ![](https://i.imgur.com/EjEmV6n.png) 放apache下面 ![](https://i.imgur.com/dYXHx2T.png) ![](https://i.imgur.com/cnBwicS.png) # 4-107 init-param ``` <param-name>參數名稱是唯一的 <param-value>定義參數的值 ``` # 4-109 Mapping a URL to a servlet ![](https://i.imgur.com/Zqv5Wre.png) /Context/servlet path