javaWeb核心技術第六篇之BootStrap


概述:
        Bootstrap 是最受歡迎的 HTML、CSS 和 JS 框架,用於開發響應式布局、移動設備優先的 WEB 項目。
        作用:
            開發響應式的頁面
            響應式:就是一個網站能夠兼容多個終端
            節約開發成本,提高開發效率
    入門:
        下載BootStrap
            www.bootcss.com 官網地址
        模版
            1.導入BootStrap的css
            2.導入jquery的js(1.8+)
            3.導入BootStrap的js
            4.設置視口(支持移動設備)
            <meta name="viewport" content="width=device-width, initial-scale=1">
            5.添加一個布局容器
                通過div設置一個 class
                    方式1:class="container"
                    方式2:class="container-fluid"
    核心:
        全局CSS
        設置全局 CSS 樣式;基本的 HTML 元素均可以通過 class 設置樣式並得到增強效果;還有先進的柵格系統。
            媒體查詢(了解)
            默認有一些分辨率臨界點的閥值
                分辨率                    屏幕大小
                分辨率>=1200px            超大屏幕
                992<=分辨率<1200        中等屏幕
                768<=分辨率<992            小屏幕
                分辨率<768                超小屏幕
            柵格系統★
            在不同分辨率的屏幕下展示不同的效果,根據不同的上網設備,柵格系統將屏幕分成一系列的行(row)和列(column),由行和列來創建頁面布局,注意柵格系統必須放在布局容器內使用
                行:
                通過class = "row"來設置一行
                列(最多將視口分為12列)
                通過class屬性來設置在不同屏幕是所占的列    n表示每格占的份數
                    col-lg-n        大屏            分辨率>=1200
                    col-md-n        中屏            992<=分辨率<1200
                    col-sm-n        小屏            768<=分辨率<992px
                    col-xs-n        超小屏        分辨率<768px
                    
案例:
<div class="container">
            <div class=" col-md-2 col-sm-3 hidden-xs" style="border: solid 1px red;height: 20px;">1</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">2</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">3</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">4</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">5</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">6</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">7</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">8</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">9</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">10</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">11</div>
            <div class=" col-md-2 col-sm-3 col-xs-6" style="border: solid 1px red;height: 20px;">12</div>
        </div>
                    
            響應式工具:
                顯示:
                    .visible-xs        超小屏可見
                    .visible-sm        小屏可見
                    .visible-md        中等屏幕可見
                    .visible-lg                大屏可見
                隱藏:
                    .hidden-xs        超小屏時隱藏
                    .hidden-sm        小屏幕時隱藏
                    .hidden-md        中等屏幕時隱藏
                    .hidden-lg        大屏幕時隱藏
            標題:
                .h1 -- .h6
            對齊方式:(文本)
                .text-left    左對齊
                .text-center居中
                .text-right    右對齊
            列表:
                .list-unstyled    移除默認的列表樣式
                .list-inline    將所有列表項放置同一行
            表格:bootstrap給表格添加了默認樣式
                .table        普通表格
                .table-striped         條紋表格(IE8不支持)
                .table-bordered        邊框表格
                .table-hover         帶有鼠標懸停的表格
                .table-condensed     緊縮表格
            表單:
                垂直表單:
                內聯表單:(將所有內容放在同一行)
                水平表單:
            按鈕:★
                .btn     為按鈕添加基本樣式
                .btn-default     默認/標准按鈕
                .btn-primary    原始按鈕樣式(未被操作)
                .btn-success     表示成功的動作
                .btn-info 該樣式可用於要彈出信息的按鈕
            圖片:
                .img-rounded     為圖片添加圓角 (IE8 不支持)
                .img-circle     將圖片變為圓形 (IE8 不支持)
                .img-responsive 圖片響應式
        組件
        無數可復用的組件,包括字體圖標、下拉菜單、導航、警告框、彈出框等更多功能。
            下拉選:
            導航條:
        javaScript插件
        jQuery 插件為 Bootstrap 的組件賦予了“生命”。可以簡單地一次性引入所有插件,或者逐個引入到你的頁面中。
            圖片輪播

綜合案例:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1" />
        <title></title>
        <link rel="stylesheet" href="css/bootstrap.css" />
        <script type="text/javascript" src="js/jquery-1.11.0.min.js"></script>
        <script type="text/javascript" src="js/bootstrap.min.js"></script>
        <script>
            $(function() {
                $('.carousel').carousel({
                    interval: 1000
                })
            });
        </script>
    </head>

    <body>
        <div class="container">
            <!--1.topbar-->
            <div class="row text-center">
                <!--img1:中等屏幕時占4份,在小屏時占6份,在超小屏時占12份
                    img2:中等屏幕時占4份,在小屏時隱藏,在超小屏時占12份
                    超鏈接:中等屏幕時占4份,在小屏時占6份,在超小屏時占12份-->
                <div class="col-md-4 col-sm-6">
                    <img src="img/logo2.png" />
                </div>
                <div class="col-md-4 hidden-sm">
                    <img src="img/header.jpg" />
                </div>
                <div class="col-md-4 col-sm-6 text-center" style="padding-top: 20px;">
                    <a href="#" class="btn btn-default">登錄</a>&nbsp;&nbsp;
                    <a href="#" class="btn btn-default">登錄</a>&nbsp;&nbsp;
                    <a href="#" class="btn btn-default">登錄</a>
                </div>
            </div>
            <!--2.導航條-->
            <div class="row">
                <nav class="navbar navbar-inverse">
                    <div class="container-fluid">
                        <!-- Brand and toggle get grouped for better mobile display -->
                        <div class="navbar-header">
                            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                      </button>
                            <a class="navbar-brand" href="#">首頁</a>
                        </div>
                        <!-- Collect the nav links, forms, and other content for toggling -->
                        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                            <ul class="nav navbar-nav">
                                <li class="active">
                                    <a href="#">手機數碼 <span class="sr-only">(current)</span></a>
                                </li>
                                <li>
                                    <a href="#">電腦辦公</a>
                                </li>
                                <li class="dropdown">
                                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a>
                                    <ul class="dropdown-menu">
                                        <li>
                                            <a href="#">Action</a>
                                        </li>
                                        <li>
                                            <a href="#">Another action</a>
                                        </li>
                                        <li>
                                            <a href="#">Something else here</a>
                                        </li>
                                        <li role="separator" class="divider"></li>
                                        <li>
                                            <a href="#">Separated link</a>
                                        </li>
                                        <li role="separator" class="divider"></li>
                                        <li>
                                            <a href="#">One more separated link</a>
                                        </li>
                                    </ul>
                                </li>
                            </ul>
                            <form class="navbar-form navbar-right">
                                <div class="form-group">
                                    <input type="text" class="form-control" placeholder="Search">
                                </div>
                                <button type="submit" class="btn btn-default">Submit</button>
                            </form>
                        </div>
                        <!-- /.navbar-collapse -->
                    </div>
                    <!-- /.container-fluid -->
                </nav>

            </div>
            <!--3.輪播圖-->
            <div class="row">
                <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
                    <!-- Indicators -->
                    <ol class="carousel-indicators">
                        <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
                        <li data-target="#carousel-example-generic" data-slide-to="1"></li>
                        <li data-target="#carousel-example-generic" data-slide-to="2"></li>
                    </ol>

                    <!-- Wrapper for slides -->
                    <div class="carousel-inner" role="listbox">
                        <div class="item active">
                            <img src="./img/1.jpg" alt="...">
                            <div class="carousel-caption">
                                歡迎你...
                            </div>
                        </div>
                        <div class="item">
                            <img src="./img/2.jpg" alt="...">
                            <div class="carousel-caption">
                            </div>
                        </div>
                        <div class="item">
                            <img src="./img/3.jpg" alt="...">
                            <div class="carousel-caption">
                            </div>
                        </div>
                    </div>

                    <!-- Controls -->
                    <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
                        <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
                        <span class="sr-only">Previous</span>
                    </a>
                    <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
                        <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
                        <span class="sr-only">Next</span>
                    </a>
                </div>
            </div>
            <!--4.熱門商品-->
            <div class="row">
                <div>
                    <span class="h2">熱門商品</span><img src="img/title2.jpg" />
                </div>
                <!--下div:
            左div:中等屏幕時占2份,小屏和超小屏隱藏
                圖片
            右div:中等屏幕時占10份,小屏和超小屏占12份
                middle div:中等屏幕時占6份,小屏和超小屏隱藏
                    圖片
                商品div:中等屏幕時占2份,小屏占4份,超小屏時占6份
                    圖片 2個p標簽-->
                <div class="row">
                    <!--左div:中等屏幕時占2份,小屏和超小屏隱藏
                    圖片-->
                    <div class="col-md-2 hidden-sm hidden-xs">
                        <img src="img/big01.jpg" width="100%" height="100%" />
                    </div>
                    <!--右div:中等屏幕時占10份,小屏和超小屏占12份
                        -->
                    <div class="col-md-10">
                        <!--middle div:中等屏幕時占6份,小屏和超小屏隱藏
                            圖片-->
                        <div class="col-md-6 hidden-sm hidden-xs">
                            <img src="img/middle01.jpg" width="100%" height="180px" />
                        </div>
                        <!--商品div:中等屏幕時占2份,小屏占4份,超小屏時占6份
                            圖片 2個p標簽-->
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                    </div>
                </div>
            </div>
            <!--5.圖片-->
            <div class="row">
                <img src="img/ad.jpg" width="100%" />
            </div>
            <!--6.熱門商品-->
            <div class="row">
                <div>
                    <span class="h2">熱門商品</span><img src="img/title2.jpg" />
                </div>
                <!--下div:
            左div:中等屏幕時占2份,小屏和超小屏隱藏
                圖片
            右div:中等屏幕時占10份,小屏和超小屏占12份
                middle div:中等屏幕時占6份,小屏和超小屏隱藏
                    圖片
                商品div:中等屏幕時占2份,小屏占4份,超小屏時占6份
                    圖片 2個p標簽-->
                <div class="row">
                    <!--左div:中等屏幕時占2份,小屏和超小屏隱藏
                    圖片-->
                    <div class="col-md-2 hidden-sm hidden-xs">
                        <img src="img/big01.jpg" width="100%" height="100%" />
                    </div>
                    <!--右div:中等屏幕時占10份,小屏和超小屏占12份
                        -->
                    <div class="col-md-10">
                        <!--middle div:中等屏幕時占6份,小屏和超小屏隱藏
                            圖片-->
                        <div class="col-md-6 hidden-sm hidden-xs">
                            <img src="img/middle01.jpg" width="100%" height="180px" />
                        </div>
                        <!--商品div:中等屏幕時占2份,小屏占4份,超小屏時占6份
                            圖片 2個p標簽-->
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                        <div class="col-md-2 col-sm-4 col-xs-6 text-center">
                            <img src="img/small08.jpg" />
                            <p>妹子</p>
                            <p>288</p>
                        </div>
                    </div>
                </div>
            </div>
            <!--7.圖片-->
            <div class="row">
                <img src="img/footer.jpg" width="100%" />
            </div>
            <!--8-->
            <div class="row text-center">
                <p>
                    <ol class="list-unstyled list-inline">
                        <li><a href="#">聯系我們</a></li>
                        <li><a href="#">聯系我們</a></li>
                        <li><a href="#">聯系我們</a></li>
                        <li><a href="#">聯系我們</a></li>
                        <li><a href="#">聯系我們</a></li>
                        <li><a href="#">聯系我們</a></li>
                    </ol>
                </p>
                <p>Copyright &copy; 2005-2016  版權所有</p>
            </div>
        </div>
    </body>

</html>



案例-將我們的項目發布出去
    需求分析:
        將我們編寫好的(web項目)項目放到服務器上,這樣以來用戶就可以通過網絡訪問到我們的(web項目)項目了
    技術分析:
        web服務器
        web項目
        Http協議
    //////////////////////////
    http://localhost/webDemo/html/hello.html   get

///////////////////
day33HTTP&Tomcat

- Web服務器
  - 概念:
    - web資源:
      "英文直譯""的意思
      資源:一切數據文件
      web資源:通過網絡可以訪問到的資源,通常指的是一切放在服務器上的文件"
    - web資源的分類:
      - 靜態的web資源:
        "    內容是一成不變的"
      - 動態的web資源:
        "    內容有可能在不同的時間或者不同的人訪問的時候會發生改變的"
    - web技術分類
      - 靜態的web技術
        "    例如: html  css  js  ....."
      - 動態的web技術
        "    例如:servlet  jsp"
    - 軟件的架構
      - c/s架構(Client/Server   客戶端/服務器)
        "    例如:qq  迅雷  lol"
      - b/s架構(Browser/Server   瀏覽器/服務器)
        "    例如:京東  淘寶  "
      - 區別
        - c/s:需要客戶下載客戶端,頁面比較炫,和服務器交互少,可以在客戶端處理部分業務邏輯,可降低服務器的壓力.需要維護客戶端和服務器端
        - b/s:只需要客戶有一個瀏覽器,一切頁面從服務器加載,和服務器交互頻繁,由服務器處理業務邏輯,服務器壓力較大.只需要維護服務器端.
    - 通訊機制
      - 基於http協議
        - 瀏覽器發送給服務器的內容:請求(request)
        - 服務器返回給瀏覽器的內容:響應(response)
        - 注意:先有請求,后有響應,一次請求對應一次響應
  - web服務器
    - 作用:將我們編寫好的網頁發布出去,別人就可以通過網絡訪問
    - 常見的web服務器
      "名稱        廠商            特點
      Weblogic     oracle        大型的收費的支持javaEE所有規范的web服務器(servlet和jsp)
      websphere     ibm            大型的收費的支持javaEE所有規范的web服務器(servlet和jsp)
      tomcat     apache        小型的免費的支持servlet和jsp規范的"web服務器""
    - Tomcat服務器★
    
        Tomcat如何優化?    
            1: 優化連接配置.修改連接數,關閉客戶端的dns查詢(DNS查詢需要占用網絡,再獲取對方ip的時候會消耗一定的時間)
            2: 優化jdk,擴大tomcat使用的內存,默認為128M
      - 下載
        - http://tomcat.apache.org/download-70.cgi
        - core:
          - zip:可以在window上運行的(我們今天使用)
          - tar.gz:運行在linux上的
      - 安裝
        - 解壓縮即可
      - 目錄結構
        - bin:存放可執行的文件
        - ★conf:存放配置文件
        - lib:存放的是tomcat運行時和項目運行時必須的jar包
        - logs:存放的是日志文件(catalina.out)
        - temp:存放臨時文件(不用管)
        - ★★webapps:存放要發布的web項目
        - ★work:存放項目運行時產生的java文件和class文件
      - 啟動
        "    雙擊 tomcat目錄下/bin/startup.bat"
      - 關閉
        "    方式1:點 x
            方式2:ctrl + c
            (記住)方式3:雙擊 tomcat目錄下/bin/shutdown.bat"
      - 配置
        - 常見問題
          - 一閃而過
            "查看JAVA_HOME是否配置正確"
          - 端口占用: 可以修改Tomcat的端口號
            "修改 tomcat目錄下/conf/server.xml 大約70行
                             <Connector port="8080" protocol="HTTP/1.1"
                               connectionTimeout="20000"
                               redirectPort="8443" />
                        需要將 8080 修改成其他的端口號
                        端口號:0~65535
                            0~1024:系統預留的端口號 一般不要使用 但是可以使用80端口
                            80端口是http協議的默認端口號,訪問的時候可以不寫端口號"
      - 訪問格式
        - tomcat的訪問路徑(8080是tomcat的默認的端口號)
          "    http://localhost:8080"
        - 格式:http://ip地址:端口號/項目名/資源?參數名稱=值&參數名稱=值
- web項目
  - 目錄結構:★
    "myweb(目錄名:項目名)
                |
                |---資源文件  html img css js
                |---WEB-INF(目錄:特點,通過瀏覽器直接訪問不到)
                |        |
                |        |---lib(目錄:項目運行的jar包)
                |        |---classes(目錄:存放的class文件)
                |        |---web.xml(核心配置文件,在servlet2.5版本中必須有,serlvet3.0版本不是必須的)"
  - 項目訪問路徑:
    "http://localhost:80/myweb/1.html
    協議://ip地址:端口/項目名稱/資源"
  - Tomcat和Eclipse整合  
- Http協議:
  - 協議:規定內容的傳輸的格式
  - http協議:
    "用來制定互聯網上數據的傳輸格式"
  - 包含:
    - 瀏覽器發送給服務器的內容  請求
      "規定請求數據的格式"
    - 服務器返回給瀏覽器的內容  響應
      "規定響應數據的格式"
  - 請求的格式:
    "請求行 請求頭 請求體"
    - 請求行:請求的第一行
      - 格式:請求方式 請求資源 協議/版本
        "例如:  GET /day33/1.html HTTP/1.1"
      - 請求方式:
        "常見的兩種 get和post
        get請求:請求參數會在地址欄上顯示,參數大小有限制,不安全
              http://ip地址:端口號/項目名/資源?參數名稱=值&參數名稱=值
        post請求:請求參數不在地址欄上顯示,參數大小不受限制.較為安全
            格式:
                參數名稱=值&參數名稱=值"
    - 請求頭
      - 格式: key/value的格式 (value可以為多個值的)
      - 常見的請求頭
        - Accept: text/html,image/*        --支持數據類型
        - Accept-Charset: ISO-8859-1    --字符集
        - Accept-Encoding: gzip        --支持壓縮
        - Accept-Language:zh-cn         --語言環境
        - Host: www.baidu.cn:80        --訪問主機
        - If-Modified-Since: Tue, 11 Jul 2000 18:23:51 GMT      --緩存文件的最后修改時間
        - Referer: http://www.baidu.com/index.jsp     --來自哪個頁面、防盜鏈
        - User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
          "擴展知識:
              Trident內核代表產品Internet Explorer,又稱其為IE內核
              Gecko內核代表作品Mozilla FirefoxGecko,火狐
              Chrome內核代表作品Chrome,谷歌"
        - Cookie
        - Connection: close/Keep-Alive       --鏈接狀態
      - 重要的頭:
        - Referer  User-Agent Cookie If-Modified-Since
    - 請求體
      "和請求頭之間有一個空行
      post請求的參數:只有表單提交的時候明確了method="post"這時候是post請求,其他的都是get請求
      參數名稱=值&參數名稱=值
      username=jack&password=1234"
  - 響應的格式:
    "響應行 響應頭 響應體"
    - 響應行:響應信息的第一行
      - 格式:
        - 協議/版本 響應的狀態碼 狀態碼說明
      - 例如:
        - HTTP/1.1 200 OK
      - 狀態碼:
        - 1xx    :請求已發送
        - 2xx    :響應已完成
          - 200:響應成功(請求成功)
        - 3xx    :需要瀏覽器進一步操作才可以完成
          - 302:重定向(配合location頭使用)
          - 304:讀緩存(Not Modified表示沒有改變)
        - 4xx :用戶訪問錯誤(Not Found 表示:路徑寫錯了,你訪問的路徑不存在)
          - 404:用戶訪問的資源不存在
        - 5xx :服務器內部錯誤(其實就是代碼有問題,改代碼)
          - 500:服務器內部異常
    - 響應頭
      - 格式: key/value的格式 (value可以為多個值的)
      - 常見的響應頭
        - Location: http://www.it315.org/index.jsp     --跳轉方向
        - Server:apache tomcat            --服務器型號
        - Content-Encoding: gzip             --數據壓縮
        - Content-Length: 80             --數據長度
        - Content-Language: zh-cn         --語言環境
        - Content-Type: text/html; charset=GB2312         --數據類型(MIME類型)  大類型/小類型 text/css  text/javascript  image/jpeg image/bmp
        - Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT    --最后修改時間
        - Refresh: 1;url=http://www.it315.org        --定時刷新
        - Content-Disposition: attachment; filename=aaa.zip    --下載
        - Set-Cookie:SS=Q0=5Lb_nQ; path=/search
        - Expires: -1                    --緩存
        - Cache-Control: no-cache              --緩存
        - Pragma: no-cache                   --緩存
        - Connection:Keep-Alive               --連接
      - 重點的頭:
        - Set-Cookie Location Content-Type Refresh Content-Disposition Last-Modified
    - 響應體
      "和響應頭之間有一個空行,
      瀏覽器解析的內容"
- servlet入門:
  "本質上就是一個運行在服務器上的類"
  - 作用:1.接受請求   2.調用Service  處理業務邏輯   3.生成響應結果
  - 入門步驟:
    - 1.編寫一個類
      - 必須實現Servlet接口
      - 重寫里面的方法
    - 2.編寫配置文件(項目下 web-inf/web.xml)
      "注冊servlet   綁定路徑
                  <!-- 注冊servlet 
                      servlet-name:給servlet起個名稱 名稱自定義,保證唯一
                      servlet-class:serlvet的全限定名(包名+類名)
                  -->
                  <servlet>
                      <servlet-name>helloservlet</servlet-name>
                      <servlet-class>cn.baidu.demo.HelloServlet</servlet-class>
                  </servlet>
                  
                  <!-- 綁定路徑
                      servlet-name:在servlet標簽中給servlet起好的名稱
                      url-pattern:路徑  暫時都以"/"開頭
                   -->
                  <servlet-mapping>
                      <servlet-name>helloservlet</servlet-name>
                      <url-pattern>/hello</url-pattern>
                  </servlet-mapping>"
    - 3.測試
      "            localhost/項目名/綁定的路徑
                  localhost/day33/hello"

在服務器中,為什么需要項目部署?  為了讓網絡通過服務器訪問到項目


回顧:
    tomcat服務器和Http協議:
    web服務器:
        概念:
            web資源:
            web資源分類:
                靜態的web資源:內容一層不變
                動態的web資源:根據不同的人和不同的時間,可能會發生變化
            web技術:
                靜態的web技術:html css js...
                動態的web技術:Servlet jsp
            結構:
                B/S(瀏覽器/服務器):
                C/S(客戶端/服務器):
            通訊機制:
                基於HTTP協議
                一次請求一次響應,先有請求后有響應
        web服務器:
            Tomcat:
                下載:
                安裝:
                目錄結構:
                    bin:
                    conf:
                    webapps:
                    work:
                啟動:
                    bin/startup.bat
                關閉:
                    X
                    ctrl + c
                    ★ bin/shutdown.bat
                訪問:
                    協議://地址:端口/資源
        web項目:
            項目名稱:
                |-------html
                |-------css
                |-------js
                |-------img
                |-------WEB-INF
                |-----------lib
                |-----------classes
                |-----------web.xml
        http:
            請求:瀏覽器發送給服務器的內容(request)
                請求行
                    請求信息的第一行
                        請求方式 請求的資源 協議/版本        http/1.0 http/1.1
                請求頭 
                    格式:
                        key/value  (value可以為多個值)
                請求體
                    當請求是post的時候,存放post請求所攜帶的參數
            響應:服務器返回給瀏覽器的內容(response)
                響應行 
                    響應信息的第一行
                        協議/版本 狀態碼 說明
                響應頭 
                    格式:
                        key/value  (value可以為多個值)
                響應體
                    瀏覽器解析的內容
////////////////////////////////////////////
servlet:
    
案例-使用servlet完成用戶登錄功能
    需求分析:
        用戶在表單中填寫完用戶名和密碼后,點擊登錄的時候,向服務器發送登錄的請求,
        在服務器上處理請求,處理完畢后將處理信息響應到頁面
            處理結果:
                登錄成功:歡迎...登錄...
                登錄失敗:用戶名或密碼錯誤
                異常:當前功能正在維護....
        技術分析:
            html:表單
                form
                    action:提交路徑
                    method:提交方式
                        get
                        post
            servlet:
                request
                response
    ////////////////
    項目:
        com.baidu.web
        com.baidu.service
        com.baidu.dao
        com.baidu.domain
        com.baidu.utils
        
        導入jar包
        導入工具類

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM