Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】
- Java后端 學習路線 筆記匯總表【黑馬程序員】
Servlet和HTTP請求協議-學習筆記01【Servlet_快速入門-生命周期方法、Servlet_3.0注解配置、IDEA與tomcat相關配置】
Servlet和HTTP請求協議-學習筆記02【Servlet_體系結構與urlpartten配置、HTTP請求協議】
目錄
01 Servlet_快速入門
Servlet_概述
Java EE 7API doc —— servlet
Servlet_快速入門
Idea——實現servlet
Servlet_執行原理
02 Servlet_生命周期方法
Servlet_生命周期方法
Servlet_生命周期詳解
03 Servlet_3.0注解配置
Servlet_3.0注解配置
Servlet_3.0注解配置方式1
public @interface WebServlet {}
Servlet_3.0注解配置方式2
public class ServletDemo implements Servlet {}
04 IDEA與tomcat相關配置
IDEA與tomcat相關配置
Tomcat 斷點調試
01 Servlet_快速入門
Servlet_概述
Servlet:server applet
* 概念:運行在服務器端的小程序。
?? ?* Servlet就是一個接口,定義了Java類被瀏覽器訪問到(tomcat識別)的規則。
?? ?* 將來我們自定義一個類,實現Servlet接口,復寫方法。
Java EE 7API doc —— servlet
Servlet_快速入門
快速入門:
?? ?1. 創建JavaEE項目
?? ?2. 定義一個類,實現Servlet接口
?? ??? ?* public class ServletDemo1 implements Servlet {}
?? ?3. 實現接口中的抽象方法
?? ?4. 配置Servlet
?? ??? ? 在web.xml中配置:
?? ? ? ?<!--配置Servlet -->
?? ? ? ?<servlet>
?? ? ? ? ? ?<servlet-name>demo1</servlet-name>
?? ? ? ? ? ?<servlet-class>cn.itcast.web.servlet.ServletDemo1</servlet-class>
?? ? ? ?</servlet>
?? ?
?? ? ? ?<servlet-mapping>
?? ? ? ? ? ?<servlet-name>demo1</servlet-name>
?? ? ? ? ? ?<url-pattern>/demo1</url-pattern>
?? ? ? ?</servlet-mapping>
定義一個類,實現Servlet接口,實現這5個方法。
Idea——實現servlet
??
Servlet_執行原理
執行原理:
02 Servlet_生命周期方法
Servlet_生命周期方法
Servlet中的生命周期方法:
Servlet_生命周期詳解
* Servlet中的生命周期方法:
?? ?1. 被創建:執行init方法,只執行一次。
?? ??? ?* Servlet什么時候被創建?
?? ??? ??? ?* 默認情況下,第一次被訪問時,Servlet被創建。
?? ??? ??? ?* 可以配置執行Servlet的創建時機。
?? ??? ??? ??? ?* 在<servlet>標簽下配置
?? ??? ??? ??? ??? ?1. 第一次被訪問時,創建
? ? ? ? ? ? ? ? ?? ??? ?* <load-on-startup>的值為負數
?? ??? ? ? ? ? ? ? ?2. 在服務器啟動時,創建
?? ??? ? ? ? ? ? ? ? ? ?* <load-on-startup>的值為0或正整數
?? ??? ?* Servlet的init方法,只執行一次,說明一個Servlet在內存中只存在一個對象,Servlet是單例的。
?? ??? ??? ?* 多個用戶同時訪問時,可能存在線程安全問題。
?? ??? ??? ?* 解決:盡量不要在Servlet中定義成員變量。即使定義了成員變量,也不要修改其值(避免并發操作)。
?? ?2. 提供服務:執行service方法,執行多次。
?? ??? ?* 每次訪問Servlet時,Service方法都會被調用一次。
?? ?3. 被銷毀:執行destroy方法,只執行一次。
?? ??? ?* Servlet被銷毀時執行。服務器關閉時,Servlet被銷毀。
?? ??? ?* 只有服務器正常關閉時,才會執行destroy方法。
?? ??? ?* destroy方法在Servlet被銷毀之前執行,一般用于釋放資源。
03 Servlet_3.0注解配置
Servlet_3.0注解配置
* Servlet3.0:
?? ?* 好處:
?? ??? ?* 支持注解配置。可以不需要web.xml了。
?? ?* 步驟:
?? ??? ?1. 創建JavaEE項目,選擇Servlet的版本3.0以上,可以不創建web.xml
?? ??? ?2. 定義一個類,實現Servlet接口
?? ??? ?3. 復寫方法
?? ??? ?4. 在類上使用@WebServlet注解,進行配置
?? ??? ??? ?* @WebServlet("資源路徑")
Servlet_3.0注解配置方式1
public @interface WebServlet {}
按住“Ctrl鍵”,點擊“WebServlet”:
??
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface WebServlet {String name() default ""; // 相當于<Servlet-name>String[] value() default {}; // 代表urlPatterns()屬性配置String[] urlPatterns() default {}; // 相當于<url-pattern>int loadOnStartup() default -1; // 相當于<load-on-startup>WebInitParam[] initParams() default {};boolean asyncSupported() default false;String smallIcon() default "";String largeIcon() default "";String description() default "";String displayName() default ""; }Servlet_3.0注解配置方式2
public class ServletDemo implements Servlet {}
package cn.itcast.web.servlet;import javax.servlet.*; import javax.servlet.annotation.WebServlet; import java.io.IOException;@WebServlet("/demo2") public class ServletDemo implements Servlet {@Overridepublic void init(ServletConfig servletConfig) throws ServletException {}@Overridepublic ServletConfig getServletConfig() {return null;}@Overridepublic void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {System.out.println("Servlet3.0來了...");}@Overridepublic String getServletInfo() {return null;}@Overridepublic void destroy() {} }04 IDEA與tomcat相關配置
IDEA與tomcat相關配置
1. IDEA會為每一個tomcat部署的項目單獨建立一份配置文件。
?? ?* 查看控制臺的log:Using CATALINA_BASE: ? "C:\Users\fqy\.IntelliJIdea2018.1\system\tomcat\_itcast"
2. 工作空間項目和tomcat部署的web項目
?? ?* tomcat真正訪問的是“tomcat部署的web項目”,"tomcat部署的web項目"對應著"工作空間項目"的web目錄下的所有資源。
?? ?* WEB-INF目錄下的資源不能被瀏覽器直接訪問。
3. 斷點調試:使用"小蟲子"啟動(dubug 啟動)
Tomcat 斷點調試
總結
以上是生活随笔為你收集整理的Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Idea——Tomcat 报错——War
- 下一篇: Servlet和HTTP请求协议-学习笔