Java Web學習 一、搭建java web開發環境: (1)安裝jdk (2)安裝Tomcat伺服器(Apache的開源項目),安裝Tomcat並設置環境變數 (3)安裝EclipseEE(或者MyEclipse) 二、WEB-INF安全目錄介紹(只有伺服器可以訪問) (1)web.xml文件( ...
Java Web學習
一、搭建java web開發環境:
(1)安裝jdk
(2)安裝Tomcat伺服器(Apache的開源項目),安裝Tomcat並設置環境變數
(3)安裝EclipseEE(或者MyEclipse)
二、WEB-INF安全目錄介紹(只有伺服器可以訪問)
(1)web.xml文件(項目部署文件):
當我們去啟動一個WEB項目時,容器包括(JBoss、Tomcat等)首先會讀取項目web.xml配置文件里的配置,當這一步驟沒有出錯並且完成之後,項目才能正常地被啟動起來。
(2)classes文件,用於存放*.class文件,即編譯成功的位元組。
(3)lib文件夾,用於存放需要的jar包,如連接資料庫的JDBC等驅動。
三、在Eclipse(javaEE版)中配置JDK和Tomcat伺服器:
(1)Windows-Preferences-Server-Runtime Environments中加入下載的Tomcat 伺服器。
(2)修改項目虛擬路徑:項目右鍵-Properties-Web Project Setting-Context root設置。
(3)修改tomcat預設埠,在Servers目錄中找到server.xml文件,在文件中找到 Connector標簽,修改埠即可。
四、JSP基礎語法
(1)JSP簡介:Java Server Page,是servlet的簡潔版,跟servlet一樣在伺服器端運 行。
(2)page指令語法:<%@ page 屬性1=”屬性值” 屬性2=”屬性1,屬性2”%>
① Language:指定JSP使用的腳本語言,預設值為java。
② Import:引用腳本語言所用到的類庫。
③ contentType:定義JSP的編碼方式。
(3)Include指令:將一個外部文件嵌入到當前JSP文件中,同時解析該頁面的JSP 語句。
(4)taglib指令:使用標簽庫定新的自定義標簽。
(5)JSP聲明:<%! 可聲明變數及函數 %>,後面在<% %>腳本中可以調用。
(6)JSP三種註釋:
① HTML註釋:<!-- --> 客戶端可見
② JAVA腳本註釋:<% // 和 /* */ %> 不可見
③ JSP註釋:<%-- --%> 不可見
(7)JSP表達式:<%=name %> (name為聲明中的變數)
(8)JSP生命周期:客戶端請求-判斷是否為第一次-若是則將jsp轉化為一個 Servlet,並執行jspInit()(整個周期只執行一次),若不是則執行jspService() 方法,採用的是多線程。
(9)JSP常用的兩種跳轉:
① response.sendRedirect("login1.jsp");
② request.getRequestDispatcher("login1.jsp").forward(request,response)
(10)JSP九大內置對象(不需要new的對象):out,request,response,session, application,page(this),pageContext,exception,config。
① out對象方法:print(),flush()(將緩衝區內容導出),clear()(在flush()方法後使用會異常),clearBuffer()(不會異常)。
② request對象方法:getParameter(String name)返回name指定參數的參數值(即 獲取input標簽輸入的值)。getParameterValues(String name),得到多值數組。 (主要用於checkBox)setCharacterEncoding(“UTF-8”),可設置編碼格式。getAttribute(String name),返回指 定屬性的屬性值。setAttribute(“password”,”12345”),用於設置屬性。getServerName(), 返回請求的伺服器主機名。
③ session對象方法:session在所有當前頁面都關閉後才消失。getValueNames()返 回所有可用屬性值,getCreateTime(),返回session創建時間,setAttribute(String name,Object value),invalidate(),銷毀session.
④ application對象生命周期:伺服器重啟-伺服器關閉。
⑤ page對象:指向當前JSP頁面本身,相當於類中的this指針。
⑥ pageContext對象:提供了對JSP頁面內所有對象及名字空間的訪問。 forward(.jsp),重導到另一頁面。Include(.jsp),當前位置包含另一文件。
⑦ config對象:是servlet初始化時JSP傳遞信息用的,包含servlet初始化所要用 到的參數。
⑧ exception對象:是一個異常對象,當頁面運行過程發生了異常就會產生這個對 象。同時在頁面page中加入errorPage=”異常處理文件”。
五、JavaBean學習
<jsp:useBean id="myUser" class="ch1.User" scope="page"/> <jsp:setProperty name="myUser" property="*"/> <jsp:getProperty name="myUser" property="username" value=” ”/>
(1)JavaBean是類似於封裝的類,可以不通過傳統的代碼即request來獲取HTML 表單中輸入的如用戶名等的值,上述id="myUser"類似於自己實例化的類的名稱, class用於指定某個要實例化的類,scope用於指定javaBean的作用範圍,其有四個 屬性值:
① page:僅在當前頁面有效。
② request:可以通過HttpRequest.getAttribute()方法獲取JavaBean對象。
③ session:可以通過HttpSession.getAttribute()方法取得JavaBean對象。
④ application:可以通過application.getAttribute()方法取得JavaBean對象。
(2)setProperty和getProperty都有name屬性和property屬性(‘*’號指自動匹配name實例的成員名稱跟表單name一致的值,也可以直接寫某變數的名稱並用value賦值)和value屬性。
(3)session和cookie的區別:
① Session用戶信息保存在伺服器端,cookie保存在客戶端。
② Session保存的是Object類型,cookie保存的是String類型。
③ Session隨會話的結束而銷毀其存儲的數據,cookie可長期保存在客戶端。
④ Session保存重要的信息,cookie保存不重要的客戶信息。