第一節(jié):集成開發(fā)環(huán)境
集成開放環(huán)境MyEclipse 集成開發(fā)環(huán)境 不用配任何的環(huán)境變量 myEclipse 是eclipse的插件漱挚。IBM的產(chǎn)品。收費(fèi)的。試用期大概是26天。
workspace 工作空間window --showView -----console 調(diào)出控制臺右鍵
new -- java Project, ? ? ? ?java工程創(chuàng)建完了自動把jDK拿過來了哮笆。集成環(huán)境開發(fā)(myEclipse)所有的開發(fā)環(huán)境都不用配置。但在開發(fā)環(huán)境里面配汰扭。
Project Name:這個是你的myEclipse這個工作區(qū)里面稠肘,你創(chuàng)建這個項目的名字。
J2EE Specification level 規(guī)范的版本號
Source folder:scr ? ? ? ? 源文件
Web root folder: web app 根目錄萝毛,
Context root URL:/jd ? ? ?(這個可以改)那我們部署到服務(wù)器的項目的名字是這個项阴。(選中項目--右鍵屬性 輸入web改)點完成
彈窗:你編譯器的版本是5.0,當(dāng)前工作區(qū)是6.0笆包,你想改嗎 NO另一個彈窗:你創(chuàng)建的項目是web項目环揽,但你用的布局方式是java的布局方式。NO
字體調(diào)整:preferences---general搜font重新配置
服務(wù)器步驟:打開Tomcat server -7.0x-JDK- add -找到我們自己的jdk路徑庵佣。這個過程其實是配置javaHome然后再點tomcat 7.0 配置凱特利納home 然后一定enable就配置完成了歉胶。然后配置完了小貓 里面沒有項目,添加項目到小貓里面巴粪,點add --選服務(wù)器-(就是把java項目部署到camcat服務(wù)器)
- Browse--瀏覽 ?redeploy重新部署 remove刪除項目然后啟動Tomcat服務(wù)器通今。
打開瀏覽器 項目名淘寶welcome完成鼠標(biāo)停在web.xml上按住control 出現(xiàn)下面的線則驗證包名類名寫入正確粥谬。
myEclipse XML Editor 打開。preferences--輸入 file as 文件關(guān)聯(lián) 選擇然后default點ok項目管理小箭頭--top level Elements--Working Sets--configure working sets也可以用項目管理tomcat服務(wù)器通過你點擊路徑搜索找到這個路徑所關(guān)聯(lián)的servlet完整的類名辫塌,拿到類名它通過反射機(jī)制給它創(chuàng)建出來漏策,它調(diào)用的是這個類的無參數(shù)構(gòu)造方法。
別從console那里直接關(guān)閉服務(wù)器臼氨,那里關(guān)閉服務(wù)器是強(qiáng)制關(guān)閉掺喻。可以從上面關(guān)閉
右鍵屬性 ?搜web 可以改一也。Design 設(shè)計 Source源碼巢寡。類名寫錯還是寫對喉脖,鼠標(biāo)放上看可以檢驗
快捷鍵 Control + shift + o 導(dǎo)入包
alt + / 提示control + shift +右箭頭選中一個單詞
ctrl + / ?增加或者去除注釋
alt +/ 代碼的提示或者補(bǔ)充功能椰苟。
快捷鍵可以修改 window--pref--keys,將默認(rèn)綁定鍵修改树叽。
ctrl + shift + o 提示類中所有的方法并且可以過濾
control+shift+o導(dǎo)入包舆蝴,去掉不用的包
ctrl+shift+T 查找類tab自動縮進(jìn)shift+tab
取消縮進(jìn)ctrl+1 糾正錯誤(把光標(biāo)停止到錯誤上面)
ctrl +alt + 向下箭頭(快速復(fù)制一行)// 這個配置文件我們寫web.xml 這個配置文件起到什么作用呢?
servlet作用:是用來將用戶的請求路徑和底層服務(wù)器端的小java程序綁定在一起题诵。
//tomcat有人寫洁仗,sun公司的接口也有,我們只負(fù)責(zé)寫一個類實現(xiàn)這個接口和實現(xiàn)這個方法性锭,把這個類和路徑寫到配置文件中
servlet:兩個英語單詞的合并赠潦,Serv表示服務(wù)器端,let表示小程序草冈。
是javaEE的規(guī)范之一
servlet是什么東西呢她奥?
servlet是sun公司制定的一套接口,這套接口是給誰制定的呢怎棱?
給java程序員和Web服務(wù)器制定的哩俭。
?關(guān)于servlet對象的生命周期。 ? ? ? ? ? ? ?1.什么是生命周期拳恋? ? ? ? ? ? ? ?生命周期表示一個java對象從最初創(chuàng)建到最終被銷毀凡资,經(jīng)歷的過程。 ? ? ? ? ? ? ?2.Servlet對象的生命周期是誰來管理的谬运?程序員可以干涉嗎隙赁? ? ? ? ? ? ? ?servlet對象的生命周期,javaweb程序員是無權(quán)干涉的梆暖,包括該servlet對象的相關(guān)方法的調(diào)用伞访,javaweb程序員 ? ? ? ? ? ? ?也是無權(quán)干涉的 ? ? ? ? ? ? ?Servlet對象從最初的創(chuàng)建,方法的調(diào)用式廷,以及最后對象的銷毀咐扭,整個過程,是由WEB容器來管理的。(即小貓來管理) ? ? ? ? ? ? ?Web ?Container管理Servlet對象的生命周期蝗肪。 ? ? ? ? ? ? ?3.“默認(rèn)情況下”袜爪,Servlet對象在Web服務(wù)器啟動階段不會被實例化,【若希望在web服務(wù)器啟動階段實例化Servlet對象薛闪,需要進(jìn)行特殊的設(shè)置】辛馆。 ? ? ? ? ? ? ? ? ? ? ? ? ? ?4.描述Servlet對象的生命周期 ? ? ? ? ? ? ?1)用戶在瀏覽器地址欄上輸入URL:http://localhot:8080/prj-servlet-03/testLifeCycle ? ? ? ? ? ? ?2)web容器截取請求路徑:/prj-servlet-03/textLifeCycle ? ? ? ? ? ? ?3)web容器在容器上下文中找請求路徑/prj-servlet-03/testLifeCycle對應(yīng)的Servlet對象 ? ? ? ? ? ? ?4)若沒有找到對應(yīng)的Servlet對象 ? ? ? ? ? ? ?4.1)通過web.xml文件相關(guān)的配置信息,得倒請求路徑/textLifeCycle對應(yīng)的Servlet完整類名 ? ? ? ? ? ? ?4.2)通過反射機(jī)制豁延,調(diào)用Servlet類的無參構(gòu)造方法完成Servlet對象的實例化昙篙。 ? ? ? ? ? ? ?4.3)web容器調(diào)用Servlet對象的init方法完成初始化操作。 ? ? ? ? ? ? ?4.4)web容器調(diào)用Servlet對象的service方法提供 ? ? ? ? ? ? ?5)若找到對應(yīng)的Servlet對象 ? ? ? ? ? ? ?5.1)web容器直接調(diào)用Servlet對象的service方法提供服務(wù) ? ? ? ? ? ? ?6.web容器關(guān)閉的時候/webapp重新部署的時候/該sevlet對象長時間沒有用戶再次訪問的時候诱咏,web容器將該Servlet對象 ? ? ? ? ? ? ?銷毀苔可,在銷毀該對象之前,web容器會調(diào)用Servlet對象的destroy方法袋狞,完成銷毀之前的準(zhǔn)備 ? ? ? ? ? ? ? ? ? ? ? ? ? ?5.總結(jié): ? ? ? ? ? ? ?5.1 servlet類的構(gòu)造方法只執(zhí)行一次 ? ? ? ? ? ? ?5.2 servlet對象的init方法只執(zhí)行一次 ? ? ? ? ? ? ?5.3 servlet對象的service方法焚辅,只要用戶請求一次,則執(zhí)行一次 ? ? ? ? ? ? ?5.4 Servlet對象的destroy方法只執(zhí)行一次 ? ? ? ? ? ? ?6.注意: ? ? ? ? ? ? ?init方法執(zhí)行的時候苟鸯,Servlet對象已經(jīng)創(chuàng)建好了 ? ? ? ? ? ? ?destroy方法執(zhí)行的時候同蜻,Servlet對象還沒有被銷毀,即將被銷毀 ? ? ? ? ? ? ?7.Servlet對象是單例早处,但是不符合單例模式湾蔓,只能稱為偽單例,真單例的構(gòu)造方法是私有化的砌梆,Tomcat服務(wù)器是支持多線程的默责。 ? ? ? ? ? ? ?所以Servlet對象在單實例多線程環(huán)境下運(yùn)行的,那么Servlet對象若有實例變量么库,并且實例變量涉及到修改操作傻丝,那么這個Servlet對象一定會 ? ? ? ? ? ? ?存在線程安全問題,不建議在Servlet對象中使用實例變量诉儒,盡量使用局部變量葡缰。 ? ? ? ? ? ? ?8.若希望在web服務(wù)器啟動階段實例化Servlet對象,需要在web.xml文件中進(jìn)行相關(guān)的配置:testLifeCyclecom.bjpowernode.javaweb.servlet.ServletLifeCycle1testLifeCycle/textLifeCycleswelcomeServletcom.bjpowernode.javaweb.servlet.welcome0welcomeServlet/welcome注意:1自然數(shù)越小優(yōu)先級越高忱反。 ? ? ? ? ? ? ? ? ? ?操作myEclipse的快捷鍵 ? ? ?Ctrl+shift+t 打開輸入要找的對象泛释,查看api ? ? ?ctrl + 0 找到對應(yīng)的方法 ? ? ? ? ? ?-------------------ServletConfig接口--------------------- ? ? ?研究javax.servlet.ServletConfig接口 ? ? ?1.javax.servlet.ServletConfig 是接口 ? ? ?2. Apache Tomcat服務(wù)器實現(xiàn)了Servlet規(guī)范,Tomcat服務(wù)器專門寫了一個ServletConfig接口的實現(xiàn)類温算。 ? ? ?實現(xiàn)類的完整類名:org.apache.catalina.core.StandarWrapperFacade[作為了解怜校,主要是思想] ? ? ?3.javaweb程序員在編程的時候,一直面向S