Tomcat && Servlet

web相關概念回顧
    一、軟件架構
        1,C/S:客戶端/服務器端
        二、B/S:瀏覽器/服務器端
    二、資源分類
        (瀏覽器當中含有靜態資源的解析引擎)
        一、靜態資源:全部用戶訪問看到的效果同樣。靜態資源能夠直接被瀏覽器解析
            如:html,css,JavaScript
        二、動態資源:每個用戶訪問相同資源獲得的效果不太同樣。動態資源被訪問時,先轉換爲靜態資源,再返回給瀏覽器
            如:servlet,jsp,php,asp....
            
    三、網絡通訊三要素(TCP三次握手)
        一、IP:電子設備(計算機)在網絡中的惟一標識
        二、端口:應用程序在計算機中的惟一標識。0~65536
        三、傳輸協議:規定了數據傳輸的規則
            1.基礎協議
                1.TCP:安全協議,三次握手。速度慢
                2.UDP:不安全協議,廣播。速度快



tomcat(web服務器軟件)
    是什麼?
        服務器:安裝了服務器軟件的計算機(配置高)
        服務器軟件:接受用戶的請求,處理請求,作出響應。
        web服務器軟件:接受用戶的請求,處理請求,作出響應。
            * 在web服務器軟件中,能夠部署web項目,讓用戶經過瀏覽器來訪問這些項目
            * web容器
        
        常見的java相關的web服務器軟件:
            * Tomcat:Apache基金組織,中小型的JavaEE服務器,僅僅支持少許的JavaEE規範servlet/jsp。開元的,免費的。
            
        Tomacat:web服務器軟件
            1.下載
            2.安裝:解壓便可(安裝目錄建議不要有中文和空格)
                bin:可執行文件
                conf:配置文件
                lib:依賴jar包
                logs:日誌文件
                temp:臨時文件
                *webapps:存放web項目
                work:存放運行時的數據
            3.卸載:刪除就可
            4.啓動:bin/startup.bat,訪問http://localhost:8080或者http://別人的ip:8080
                可能遇到的問題:
                    1.黑窗口一閃而過:
                        * 緣由:沒有正確配置JAVA_HOME環境變量
                        * 解決方案:正確配置JAVA_HOME環境變量
                    2.啓動報錯
                        * 解決方案:
                            1.暴力:找到佔用的端口號,而且找到對應的進程,殺死該進程
                                查看端口號:netstat -ano
                                定位具體端口號的進程:netstat -ano | findStr "8080"
                                終止進程:taskkill /F /PID (PID號)
                            2.溫柔:修改自身的端口號
                                conf目錄中server.xml修改端口號
            5.關閉:
                1.正常關閉:bin/shutdown.bat或者Ctrl+c
                2.強制關閉:點擊啓動窗口的×
            6.配置
        
    怎麼用
    * 如何將Tomcat集成到idea中,而且建立javaEE項目,部署項目。
        run--edit Configrations--Defaults--tomcat(Local)--加載tomcat文件
        新建項目--新建module--java Enterprise--Java EE 7--勾選Web Application
        設置自動更新以及默認訪問路徑Run--edit Configrations--Tomcat Server--Server--Update resources
                                                                          --Deployment--Application context--/項目名

servlet(server applet)--單例多線程 3.0規範
    一、是什麼?
        概念:運行在服務器端的小程序
            * servlet就是一個接口,定義了Java類被瀏覽器訪問(tomcat識別)到的規則
            * 未來咱們自定義一個類,實現Servlet接口,複寫方法
        
        快速入門:
            1.建立javaEE的項目
            2.定義一個類,實現Servlet接口
            3.實現接口中的抽象方法
            4.配置servlet
                在web.xml中進行配置
                
        執行原理:
            1.當服務器接收到客戶端瀏覽器的請求後,會解析請求的URL路徑,獲取訪問的Servlet的資源路徑
            2. 查找web.xml文件,是否有對應的<url-pattern>標籤體內容。
            3. 若是有,則在找到對應的<servlet-class>全類名
            4. tomcat會將字節碼文件加載進內存,並建立其對象
            5. 調用其方法
    怎麼引入
    寫法
    生命週期(API)
        1.init()        //在Servlet被建立時執行,只會執行一次
            能夠配置執行servlet的建立時機
                在<servlet>標籤下配置
                <load-on-startup></load-on-startup>:裏面寫0或正整數則項目啓動時執行init(),正數最小寫2
                                                    裏面寫負數則第一次訪問時執行
                                                    
            servlet的init方法,只執行一次,說明一個servlet在內存中只存在一個對象
                * 多個用戶同時訪問時,可能存在線程安全問題
                * 解決:儘可能不要在servlet中定義成員變量。即便定義了成員變量,也不要對其修改值
        2.service()    //每次訪問地址都會被觸發
        
        3.destory()    //在服務器正產關閉時執行,只會執行一次
            * Servlet被銷燬時執行。服務器關閉時,Servlet被銷燬。
            * 只有服務器正常關閉時,纔會執行destory方法。
            * destory在servlet被銷燬以前執行,通常用於釋放資源。
    xml
    註解
    
idea工具如何整合咱們的項目和tomcatphp

相關文章
相關標籤/搜索