亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? day01.txt

?? servlet上課內(nèi)容1.
?? TXT
字號:
Servlet_day01   langna  2007-9-21   星期五
劉新福:
    servlet    5天
    jsp          5天
    struts      4天

   C/S 架構(gòu)
   B/S: Web
   js: 運(yùn)行在客戶端的腳本;
  
   構(gòu)造交互式網(wǎng)頁:
   標(biāo)簽: input 
            select
            textarea
   動態(tài)網(wǎng)頁:是由程序控制的;根據(jù)用戶的不同而顯示的內(nèi)容不同;
   servlet/jsp   --  struts:  jsp是一個簡易的語法;
                                       將jsp轉(zhuǎn)換成servlet 發(fā)送過去; 
                                       struts是servlet的開源框架;
                            
   jdbc  --  hibernate:  pojo/javabean/value object;
                                 hibernate是jdbc的開源框架;
                               
   學(xué)習(xí): 多動手, 才能掌握住;
   
一, 課程概要:
 1 ,   基礎(chǔ)知識;   1
 2 ,  form表單的解析; 2
 3 ,  servlet的生命周期; 1,2
 4 ,  訪問資源;和jdbc和hibernate結(jié)合起來; 3
 5 ,  servlet的維護(hù)持久化狀態(tài);cookie和session技術(shù); 3, 4
 6 ,  filter:過濾器    5
 7 ,  listener:監(jiān)聽器 5

二, servlet 基礎(chǔ)知識:
1, CGI: 公共網(wǎng)關(guān)接口程序; 基于http協(xié)議的, 運(yùn)行在服務(wù)器端,web服務(wù)器的發(fā)起者是客戶端;
            CGI訪問數(shù)據(jù)庫;生成動態(tài)頁面;
    HTTP: serversocket/socket: serversocket(port)先啟動,監(jiān)聽客戶端的請求;
                                    客戶端 socket發(fā)送請求;訪問CGI程序(基于進(jìn)程的);
                                    服務(wù)器給一個響應(yīng);
    http是一次性連接的;非持續(xù)性的連接;
    進(jìn)程之間耗資源,并且進(jìn)程之間通信沒有線程間通信方便;
    CGI是基于進(jìn)程的,允許客戶端執(zhí)行服務(wù)器端的一個程序;
    content-type:text/html  : 頭部信息,傳遞的信號;header;
    url:統(tǒng)一資源定位;  (協(xié)議)http://ip:port(80)/resource_path;
    
    servlet 是module ; 運(yùn)行在服務(wù)器中,增強(qiáng)了服務(wù)器的功能;
                               訪問數(shù)據(jù)庫;寫一個程序并部署到服務(wù)器端;
    
    webserver: 買一個, 或 用開源的;
    
2, 如何安裝tomcat:
    linux下:
    將tomcat考到自己的主目錄(/home/xjh0704)下;解壓縮就是安裝好了; (chmod 777 tomcat -R)
    目錄不要放的太深; 必須保證自己的操作系統(tǒng)中有jdk; tomcat只是一個webserver;沒有帶jvm;
    在.bash_profile下: 
    
    JAVA_HOME=jdk的安裝路徑;
    CATALINA_HOME=tomcat的安裝路徑;
    path=$JAVA_HOME/bin:$CATALINA_HOME/bin
    export  JAVA_HOME  CATALINA_HOME
    
    window下:
    環(huán)境變量:
    新建一個CATALINA_HOME=d:\tomcat的安裝路徑不包括bin目錄
    在path中加上 %CATALINA_HOME%\bin
    
    檢驗(yàn)變量是否定義對了:
    linux:(終端中)
    echo $CATALINA_HOME
    echo $JAVA_HOME
    windows:(cmd中)
    set catalina_home
    set java_home
    
    測試tomcat是否安裝成功:
    進(jìn)入到tomcat安裝目錄下: 啟動: bin /startup.sh  或 catalina.sh run  /關(guān)閉:shutdown.sh
    windows下是: startup.bat / 關(guān)閉:shutdown.bat
    
    打開瀏覽器:輸入 http://127.0.0.1:8080 或(localhost)
    顯示tomcat的主頁就表示已經(jīng)啟動成功;
    
3, webapps/root  默認(rèn)訪問的就是這個root應(yīng)用;
    訪問遠(yuǎn)程的應(yīng)用: http://192.168.106.102:8080/admmes.html    
    ip地址可以和域名綁定起來;
    
    在webapps中建立一個文件夾 , 就是一個應(yīng)用; serv-app/WEB-INF(必須有這個目錄)
    WEB-INF/web.xml(必須有這個文件,合法的xml文件)
    ISO-8859-1;
    xsd : 跟dtd作用一樣;    
    服務(wù)器要先關(guān)閉再啟動,應(yīng)用才會裝載進(jìn)來;
    應(yīng)用放在哪里: 應(yīng)用 (serv-app 或子目錄下)下,但是放到WEB-INF下,不能訪問;這是受服務(wù)器保護(hù)的文件;
    
    http://127.0.0.1:8080/serv-app/admmes.html       
    
    在應(yīng)用中再建其他文件夾:js/img/style/等;
    tomcat 根據(jù)環(huán)境變量找到安裝目錄,找到web-apps, 
    
    servlet 類 放到WEB-INF/classes 目錄下;
   
    看servlet文檔:
    tomcat-docs/servletapi/javax.servlet/javax.servlet.http 
    隨便買一本servlet書看看,越薄越好;  
 三, 第一個應(yīng)用:
    1, javascript 是在客戶端執(zhí)行的,顯示的時間是客戶端的; 
    2,System.out.println("<html>");發(fā)字符串過去;命令行輸出, js不認(rèn), 只認(rèn)方法;
        類要是有包的話必須將類放在目錄結(jié)構(gòu)下; 或者, javac  DynamicHtml.java -d .  ;放到當(dāng)前目錄下;
        然后在當(dāng)前目錄下  java  包名.DynamicHtml(類名)
    3,servlet 的api: servlet必須運(yùn)行在webserver中,可以接受來自客戶端的請求, 基于http協(xié)議;
       apache-tomcat-5.5.20\webapps\tomcat-docs\servletapi\index.html
       一個servlet必須有一個缺省構(gòu)造器, 系統(tǒng)會調(diào)用,init(),service(),destroy();
     
      在classpath上加上servlet-api.jar;
      或在eclipse上配置library;
      
      實(shí)現(xiàn)Servlet 接口,覆蓋service方法;
      {
        response.setContentType("text/html");
        PrintWriter  out=response.getWriter();
        out.println("<html>");
	out.println(new java.util.Date());
	out.println("<html>");
      }
     
    寫web.xml
      
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
        <servlet>
            <servlet-name>servlet的名字</servlet-name>          <time>
            <servlet-class>servlet類全名</servlet-class>           <com.tarena.serv.TimeServlet>
        </servlet>
        <servlet-mapping>
            <servlet-name>servlet的名字(要和servlet標(biāo)簽中的相同)</servlet-name>    <time>
            <url-pattern>指定servlet相對于應(yīng)用目錄的虛擬路徑名</url-pattern>             </basic/time>
        </servlet-mapping>
      </web-app>
    
Servlet的調(diào)用過程:

1,用戶通過瀏覽器向web服務(wù)器發(fā)送請求
   http://serverip:port/apppath
2,服務(wù)器為用戶定位資源
   靜態(tài)資源:/a.html  /a/b.html (這里的路徑是針對web應(yīng)用文件夾目錄)讀文件并把內(nèi)容發(fā)送到客戶端
   動態(tài)資源:解析web.xml定位Servlet類的名字
             裝載類(WEB-INF/classes|WEB-INF/lib/*.jar)
             創(chuàng)建該對象的實(shí)例
             Servlet ser=(Servlet)(Class.forName("servle的類名")).newInstance();
	     //我們寫的Servlet一定要實(shí)現(xiàn)Servlet接口或者繼承實(shí)現(xiàn)了Servlet接口的類
	     
    先構(gòu)造器,init(),service(), 
    內(nèi)存中同一時間只有一個servlet實(shí)例,只有一個被銷毀后再創(chuàng)建新的實(shí)例;
    servlet不是一個線程,而是工作在多線程中;
    銷毀時調(diào)用  destroy();
    
    getServletConfig()/getServletInfo() 服務(wù)器不會調(diào)這兩個方法;
             
 3, HttpServlet繼承了GenericServlet 
    繼承HttpServlet時,只需要實(shí)現(xiàn): 
        doGet()  服務(wù)于get請求;
        doPost() 服務(wù)于post請求;
        如果兩種請求都需要服務(wù)的話,都實(shí)現(xiàn)就行;
        
        也可以覆蓋service方法;
        再HttpServlet: doGet() , doPost() , service(HttpServletRequest,...) , service(ServletRequest,...)(這個是繼承的) 
        
        創(chuàng)建一個HttpServlet實(shí)例時, 調(diào)過init()方法后, 會調(diào)用哪個方法? 
        service(ServletRequest,..)調(diào)用service(HttpServletRequest,...) ; 再 根據(jù)請求類型調(diào)用doGet或doPost
        如果覆蓋了service方法,就會服務(wù)于所有類型的請求;自己調(diào)用doGet或doPost; 
        
 4, webserver: apache web server ; sunone web server
     支持java的都支持servlet ; 
     <url-pattern>/time(必須以/開頭)</url-pattern>
     
     今天對servlet有一個大概的理解就行,在以后的學(xué)習(xí)中逐漸理解和加深印象;
     
     練習(xí)作業(yè):
     <h1>1</h1>    
     <h2>2</h2>   
     <h3>3</h3>
     <h4>4</h4>
     <h5>5</h5>
     <h6>6</h6>
     
     繼承HttpServlet 就行;
     public class  HeadingServlet extends  HttpServlet{
            public void  doGet(HttpServletRequest, HttpServletResponse) throws IOException,ServletException{
                //子類不能比父類多拋異常,只能少拋;
                response.setContentType("text/html");
                PrinterWriter  out = response.getWriter();
                out.println("<html>");
                out.println("<head><title>heading</title></head>");
                out.println("<body>");
                for(int i=1;i<=6;i++){
                   // out.println("<h"+i+" align=\"center\"> " +i +"<h" + i +">");
                  
                    out.print("<h");
                    out.print(i);// h 和 i 之間不能換行;否則出不了效果
                    out.println(" align=\"center\"> ");
                    out.println(i);
                    out.print("<h");
                    out.print(i);
                    out.println(">");                    
                }
                
          }
     }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区在线看| 五月天一区二区三区| 国产精品性做久久久久久| 日韩免费观看高清完整版 | 中文字幕日韩av资源站| 国产乱子轮精品视频| 日韩精品中文字幕在线一区| 午夜精品福利在线| 欧美精品久久久久久久多人混战| 亚洲精品国产一区二区精华液 | 悠悠色在线精品| 91色在线porny| 亚洲青青青在线视频| 91免费国产视频网站| 亚洲精品中文字幕在线观看| 99久久精品免费精品国产| 中文字幕中文字幕中文字幕亚洲无线| 成人做爰69片免费看网站| 久久久91精品国产一区二区精品| 国产精品一二三在| 中文字幕+乱码+中文字幕一区| 岛国一区二区在线观看| 欧美国产日韩亚洲一区| av在线不卡电影| 一区二区三区免费网站| 欧美无砖砖区免费| 免费成人小视频| 精品噜噜噜噜久久久久久久久试看| 精品一区二区在线免费观看| 久久久天堂av| 99久久久无码国产精品| 亚洲一区二区三区四区中文字幕| 欧美日韩国产综合久久| 蜜桃视频一区二区| 久久色.com| av网站免费线看精品| 亚洲一区二区中文在线| 欧美肥妇毛茸茸| 精品一二线国产| 国产精品女同互慰在线看| 97精品国产97久久久久久久久久久久| 亚洲免费观看高清在线观看| 欧美另类变人与禽xxxxx| 久久精品噜噜噜成人88aⅴ | 欧美哺乳videos| 成人美女视频在线看| 一区二区三区四区在线免费观看 | 欧美大尺度电影在线| 国产成人在线视频免费播放| 亚洲日本护士毛茸茸| 91精品国产综合久久香蕉的特点| 狠狠狠色丁香婷婷综合久久五月| 国产精品久久久久久久久久久免费看| 在线视频一区二区三区| 久久99日本精品| 综合激情成人伊人| 日韩一区和二区| 高清国产一区二区| 亚洲电影在线免费观看| 久久亚洲综合色| 91视频在线观看免费| 青青草91视频| 国产精品国产三级国产aⅴ中文 | 五月婷婷久久综合| 欧美激情在线观看视频免费| 日本大香伊一区二区三区| 久久国产尿小便嘘嘘尿| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 亚洲国产综合视频在线观看| 精品国产乱码久久久久久久久| 99re热视频精品| 美国精品在线观看| 亚洲免费观看在线观看| 2014亚洲片线观看视频免费| 91成人国产精品| 国产精品1024久久| 日本欧美大码aⅴ在线播放| 国产精品不卡在线| 精品成人在线观看| 欧美色国产精品| 成人av在线看| 久久精品国产亚洲aⅴ| 亚洲免费观看高清完整版在线| 久久综合九色综合97婷婷女人 | 亚洲欧美日韩在线| 欧美精品一区二区三区一线天视频 | 国产在线精品免费av| 亚洲成人动漫一区| 国产精品网站导航| 精品美女被调教视频大全网站| 色婷婷久久一区二区三区麻豆| 国产精品69毛片高清亚洲| 青青草视频一区| 亚洲国产综合色| 亚洲婷婷综合久久一本伊一区| wwwwxxxxx欧美| 欧美一区二区美女| 日本道精品一区二区三区| 成人三级在线视频| 国产一区二区三区精品视频 | 椎名由奈av一区二区三区| 久久人人超碰精品| 日韩视频免费观看高清完整版在线观看| 一本色道久久综合精品竹菊| 成人一道本在线| 国产在线不卡一区| 蜜臀精品久久久久久蜜臀| 亚洲午夜激情网页| 国产精品不卡在线| 中文字幕国产精品一区二区| 26uuu精品一区二区| 日韩女同互慰一区二区| 91精品国产欧美一区二区18| 91久久国产最好的精华液| www.亚洲精品| 成人一道本在线| 韩国精品主播一区二区在线观看 | 欧美日韩国产在线播放网站| 色婷婷av一区二区| 色综合久久久久久久久久久| 成人aaaa免费全部观看| 粉嫩aⅴ一区二区三区四区| 国产盗摄一区二区| 国产成人精品免费在线| 国产麻豆91精品| 国产黄色精品网站| 精品国产一区二区三区久久影院 | 欧美久久久久久蜜桃| 欧美亚日韩国产aⅴ精品中极品| 色婷婷综合久久久中文字幕| 91看片淫黄大片一级在线观看| 成人av网站大全| 成人av在线一区二区三区| 成人18视频在线播放| 95精品视频在线| 色欧美乱欧美15图片| 在线看不卡av| 欧美男同性恋视频网站| 欧美人与禽zozo性伦| 91精品国产欧美一区二区| 日韩久久精品一区| 久久久久国产一区二区三区四区 | 日韩午夜精品视频| 日韩精品中午字幕| 国产午夜精品一区二区三区视频 | 欧美日韩亚洲国产综合| 欧美精品v国产精品v日韩精品| 欧美高清视频在线高清观看mv色露露十八 | www.视频一区| 97超碰欧美中文字幕| 欧美性高清videossexo| 欧美一区在线视频| 欧美成人乱码一区二区三区| 精品国产一区二区精华| 久久久不卡网国产精品一区| 国产精品久久久久一区| 亚洲黄色免费电影| 偷偷要91色婷婷| 久久99精品久久只有精品| 夫妻av一区二区| 99精品久久只有精品| 欧美日韩一级片在线观看| 日韩欧美成人激情| 国产精品色噜噜| 亚洲高清免费在线| 精品一区二区三区久久| 9i在线看片成人免费| 欧美日韩一区高清| 欧美mv和日韩mv国产网站| 国产精品色在线| 香蕉成人伊视频在线观看| 日韩一区二区三区免费观看| 久久久久久久免费视频了| 亚洲免费观看高清完整版在线| 日本免费在线视频不卡一不卡二 | 国产福利精品导航| 色噜噜久久综合| 日韩一级免费一区| 国产精品私人影院| 日韩精彩视频在线观看| 国产精品77777| 欧美日韩精品一区二区三区蜜桃 | 久久精品免费看| 99久久精品免费看| 日韩欧美123| 亚洲美女电影在线| 麻豆视频观看网址久久| 成人激情电影免费在线观看| 制服丝袜中文字幕一区| 国产精品免费视频网站| 日韩成人一级大片| 99视频一区二区三区| 日韩欧美一区二区不卡| 亚洲人快播电影网| 久久99久久99| 在线看日本不卡| 国产亚洲人成网站| 日本中文字幕一区二区视频| 成人黄页在线观看| 日韩欧美美女一区二区三区|