1. 程式人生 > >一些自己javaweb學習總結

一些自己javaweb學習總結

一、基礎:

URL:Uniform Resource Locator——統一資源定位

URI:Uniform Resource Identifier——統一資源標識

URN:Uniform Resource Name­——統一資源名稱

URL組成:1、協議 2、主機ip地址 (埠號) 3,相對路徑http://localhost:8080/news/dex.htm (https 安全)127.0.1 無狀態就是請求完,不儲存下次還的從新請求協議 主機地址 專案資源地址status狀態碼:  

200 : 請求正常

404 : 路徑錯或頁面沒寫;

5xx : 伺服器端錯誤;

servlet是一個java程式(java類),是在伺服器上執行以處理客戶端請求並作出響應的程式

Servlet是通過java程式碼實現頁面的輸出和邏輯的處理,JSP是通過HTML中填充java程式碼實現介面的輸出和邏輯的處理。因此 JSP 的本質是 Servlet;

JSP註釋 的格式為 <%– –%>,與 HTML註釋 的區別在於:JSP註釋不會輸出到客戶端、

二:JSP九大內建物件:

pageContext: 頁面上下文物件

request :請求物件

session: 會話物件

application :應用程式物件 

response :響應物件 

out :頁面輸出物件 

config: 配置物件 

exception :異常物件 

page :頁面物件 

page:範圍裡的變數無法從index.jsp傳遞到test.jsp,只要頁面跳轉了,它們就不見了;

request: 範圍裡的變數可以跨越forward的前後的兩頁,但是隻要重新整理頁面,它們就重新計算了;

session: 範圍裡的變數一直在累加,開始還看不出區別,但只要關閉瀏覽器,再次重啟瀏覽器訪問這個頁面,它們就重新計算了;

application: 範圍裡的變數一直在累加,除非你重啟tomcat,否則它們會一直變大。

(1) 如果我們把變數放到pageContext裡,就說明這個變數的作用域是page,它的有效範圍只在當前jsp頁面裡。也就是說,從把變數放到pageContext開始,到jsp頁面結束,你都可以使用這個變數。

(2) 如果把變數放到request裡,就說明這個變數的作用域是request,它的有效範圍是當前 請求週期所謂請求週期,就是指從http請求發起,到伺服器處理結束並返回響應的整個過程。在這個過程中可能使用forward的方式跳轉了多個jsp頁面,但由於仍然是同一個請求,因此在這些頁面裡,我們都可以使用這個變數。 
(3) 如果把變數放到session裡,就說明這個變數的作用域是session,它的有效範圍是 當前會話所謂當前會話,就是指從使用者開啟瀏覽器開始,到使用者關閉瀏覽器這中間的過程,這個過程可能包含多個請求和響應。也就是說,只要使用者不關瀏覽器,伺服器就有辦法知道這些請求是一個人發起的,整個過程被稱為一個會話(session),而放到會話中的變數,就可以在當前會話範圍內使用。
(4) 如果把變數放到application裡,就說明這個變數的作用域是application,它的有效範圍是 整個應用所謂整個應用是指從應用啟動,到應用結束。特別地,我們沒有說“從伺服器啟動,到伺服器關閉”,這是因為一個伺服器可以部署多個應用,只要你結束了當前應用,這個變數就失效了。

  • setAttribute(String Name, value)
  • getAttribute(String Name)
  • getParameter(String name)
  • getParameterValues(String name)
  • setCharacterEncoding("utf-8")
  • GET 方式的請求:直接在瀏覽器位址列輸入訪問地址所傳送的請求或提交表單的預設請求引數傳送方式;
  • POST 方式的請求:以 post 方式提交表單,傳送請求引數。該種方式一般將請求引數放在HTML HEADER 中傳輸,因此使用者不能在位址列看到請求引數值,安全性較高
  • 轉發與重定向:
  • 轉發帶資料,重定向不帶資料,轉發位址列不變,重定向位址列變
  • response.sendRedirect(request.getContextPath() + "/page/pub.jsp");(重定向)
  • request.getRequestDispatcher("/page/on.jsp").forward(request, response);(轉發)
  • session與cookie:
  • Cookie 與 Session的最大不同在於:session會隨著瀏覽器的關閉而失效,但Cookie會一直存放在客戶端的機器上,除非超出Cookie的生命週期。
  • Cookie 1、cookie是由伺服器生成,通過response將cookie寫回瀏覽器(set-cookie),         保留在瀏覽器上, 下一次訪問,瀏覽器根據一定的規則攜帶不同的cookie         (通過request的頭 cookie),我們伺服器就可以接受cookie 2、cookie的api: new Cookie(String key,String value) 寫回瀏覽器: response.addCookie(Cookie c) 獲取cookie: Cookie[] request.getCookies() cookie的常用方法: getName():獲取cookie的key(名稱) getValue:獲取指定cookie的值 setMaxAge(int 秒):設定cookie在瀏覽器端存活時間  以秒為單位 若設定成 0:刪除該cookie(前提必須路徑一致)

三、servlet的生命週期:

1、初始化:web容器載入servlet,呼叫init()方法
2、處理請求:當請求到達,執行servlet()方法,中包含doget(),dopost()方法
3、銷燬:服務結束時,web容器會呼叫distory()方法銷燬servlet
1、mvc設計模式:(面試)    模型-----model 由javaBean充當    檢視-----view    控制器--controller Model:由 JavaBean 充當,所有的業務邏輯、資料庫訪問都在Model中實現; View:由 JSP 充當,負責收集使用者請求引數並將應用處理結果、狀態資料呈現給使用者; Controller:由 Servlet 充當,作用類似於排程員,即所有使用者請求都發送給 Servlet,Servlet 呼叫 Model 來處理使用者請求,並根據處理結果呼叫 JSP 來呈現結果;或者Servlet直接呼叫JSP將應用處理結果展現給使用者。 2、JavaBean開發要求 1.JavaBean本身就是一個類,屬於Java的面向物件程式設計。 2.在JSP中如果要應用JSP提供的Javabean的標籤來操作簡單類的話,則此類必須滿足如下的開發要求: (1)所有的類必須放在一個包中,在WEB中沒有包的是不存在的; (2)所有的類必須宣告為public class,這樣才能夠被外部所訪問; (3)類中所有的屬性都必須封裝,即:使用private宣告; (4)封裝的屬性如果需要被外部所操作,則必須編寫對應的setter、getter方法; (5)一個JavaBean中至少存在一個無參構造方法,此為JSP中的標籤所使用。 四。EL表示式:
二、JSTL
  1.獲取的值
       <c:set var="example"  value="${100+1 } "></c:set>
   	<c:out value="${example }"></c:out><br>
   2.刪除
       <c:remove var="example"/><br>
   3.輸出
    <c:out value="${example }"></c:out><br>
    4.if
   	<c:if test="${10>50 }"> 10>50</c:if><br>
		
二、迭代標籤
語法:<c:forEach items=“collection” var=“name” varStatus=“status” begin=“int“ 
end=”int” step=“int” >
           //迴圈體
           </c:forEach>

 1、遍歷輸出數字1--10
   <c:forEach begin="1" end="10" var="i">
     ${i }
   </c:forEach><br>

   2、頁面輸出1--20之間奇數
   <c:forEach begin="1" end="20" step="2" var="i">
        ${i }  
   </c:forEach><br>
   //定義一個數組
   List<Integer>list=new ArrayList<Integer>();
      list.add(1);
      list.add(3);
      list.add(4);
      session.setAttribute("list", list);  

   3、list的陣列遍歷
   <c:forEach items="${list }" var="li">
     ${li }   
   </c:forEach><br>

   4、map的遍歷
   <%
   Map<String ,String>map=new HashMap<String,String>();
      map.put("n", "x");
      map.put("a", "xi");
      map.put("m", "xia");
      map.put("e", "xiao");
      session.setAttribute("_map", map);     
    %>
   <c:forEach items="${_map }" var="ll"> 
      ${ll}<br>
      ${ll.value}
   </c:forEach>

   5、list中儲存user遍歷
    <%
    List<User> _user=new ArrayList<User>();
    User user=new User();
    user.setName("rr");
    user.setPwd("qq");
    _user.add(user);
    session.setAttribute("user", _user);     
     %>
    
   <c:forEach items="${user }" var="uu">
       姓名: ${uu.name }密碼:${uu.pwd }
   </c:forEach><br>

   6、i1頁面
   <jsp:forward page="index.jsp"></jsp:forward>


相關推薦

一些自己javaweb學習總結

一、基礎: URL:Uniform Resource Locator——統一資源定位 URI:Uniform Resource Identifier——統一資源標識 URN:Uniform Resou

javaweb學習總結(十一)——使用Cookie進行會話管理(轉)

緩存 利用 iter() 自然 web har oca main end 一、會話的概念   會話可簡單理解為:用戶開一個瀏覽器,點擊多個超鏈接,訪問服務器多個web資源,然後關閉瀏覽器,整個過程稱之為一個會話。  有狀態會話:一個同學來過教室,下次再來教室,我們會知道這個

JavaWeb學習總結(十三)——使用Session防止表單重復提交(轉)

Coding etc pub submit exce sdf patch 傳輸 alt  在平時開發中,如果網速比較慢的情況下,用戶提交表單後,發現服務器半天都沒有響應,那麽用戶可能會以為是自己沒有提交表單,就會再點擊提交按鈕重復提交表單,我們在開發中必須防止表單重復提交。

javaweb學習總結(十五)——JSP基礎語法(轉)

troy 嚴格 too cal service alt 隱式 情況 當前系統時間  任何語言都有自己的語法,JAVA中有,JSP雖然是在JAVA上的一種應用,但是依然有其自己擴充的語法,而且在JSP中,所有的JAVA語句都可以使用。 一、JSP模版元素   JSP頁面中的H

javaweb學習總結—Apache的DBUtils框架學習

運行時 轉載 general n) create tdi 代碼 print varchar 註明: 本文轉載自http://www.cnblogs.com/xdp-gacl/p/4007225.html一、commons-dbutils簡介    commons-dbut

javaweb學習總結(四) - - http協議

upn pen nsh exc ttf 請求 tls spi ttl 一、什麽是HTTP協議   HTTP是hypertext transfer protocol(超文本傳輸協議)的簡寫,它是TCP/IP協議的一個應用層協議,用於定義WEB瀏覽器與WEB服務器之間交換數據的

javaweb學習總結(五) - - Servlet開發(二)

patch pass end ESS 就是 .com string final getattr 一、ServletConfig講解 1.1、配置Servlet初始化參數   在Servlet的配置文件web.xml中,可以使用一個或多個<init-param>標

javaweb學習總結——Servlet開發(二)

一、ServletConfig講解 1.1、配置Servlet初始化引數   在Servlet的配置檔案web.xml中,可以使用一個或多個<init-param>標籤為servlet配置一些初始化引數。 例如: 1 <ser

javaweb學習總結——Servlet開發(一)

一、Servlet簡介   Servlet是sun公司提供的一門用於開發動態web資源的技術。   Sun公司在其API中提供了一個servlet介面,使用者若想用發一個動態web資源(即開發一個Java程式向瀏覽器輸出資料),需要完成以下2個步驟:   1、編寫一個Java類,實現serv

JavaWeb學習總結(一)---httpservletrequest物件(一)

javaweb學習總結(十)——HttpServletRequest物件(一) 一、HttpServletRequest介紹   HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,HTTP請求頭中的所有資訊都封裝在這個物件中,通過這個物件提供的方

JavaWeb學習總結(二)——Tomcat伺服器學習和使用(一)

JavaWeb學習總結系列: 一、Tomcat伺服器埠的配置   Tomcat的所有配置都放在conf資料夾之中,裡面的server.xml檔案是配置的核心檔案。   如果想修改Tomcat伺服器的啟動埠,則可以在server.xml配置檔案中的Connector節

javaweb學習總結—使用JDBC處理MySQL大資料

只為成功找方法,不為失敗找藉口! 一、基本概念   大資料也稱之為LOB(Large Objects),LOB又分為:clob和blob,clob用於儲存大文字,blob用於儲存二進位制資料,例如影象、聲音、二進位制文等。   在實際開發中,有時是需要用程式把大文字或二

JavaWeb學習總結(二)——瀏覽器與伺服器的互動

疑問:學習web開發,為什麼必須要先裝一個WEB伺服器? 1、不管什麼web資源,想被遠端計算機訪問,都必須有一個與之對應的網路通訊程式,當用戶來訪問時,這個網路通訊程式讀取web資源資料,並把資料傳送給來訪者。2、WEB伺服器就是這樣一個程式,它用於完成底層網路通迅。使用

JavaWeb學習總結(五)——HttpServletRequest物件

一、HttpServletRequest介紹   HttpServletRequest物件代表客戶端的請求,當客戶端通過HTTP協議訪問伺服器時,HTTP請求頭中的所有資訊都封裝在這個物件中,通過這個物件提供的方法,可以獲得客戶端請求的所有資訊。 二、Request常用方

javaweb學習總結(七)——HttpServletResponse物件(一)

    Web伺服器收到客戶端的http請求,會針對每一次請求,分別建立一個用於代表請求的request物件、和代表響應的response物件。request和response物件即然代表請求和響應,那我們要獲取客戶機提交過來的資料,只需要找request物件就行了。要向客戶

javaweb學習總結(八)——GET和POST的區別

原理性上的區別      HTTP定義了與伺服器互動的不同方法,最基本的方法有4種,分別是GET、POST、PUT、DELETE。URL全稱是資源描述符,我們可以這麼認為:一個URL地址,它用於描述網路上的一個資源,而HTTP的GET、POST、PUT、DELETE就對應著

javaweb學習總結(十)——TCP三次握手 四次握手

     在談及TCP建立連線和釋放連線過程,先來簡單認識一下TCP報文段首部格式的的幾個名詞       序列號seq:佔4個位元組,用來標記資料段的順序,TCP把連線中傳送的所有資料位元組都編上一個序號,第一個位元組的編號由本地隨機產生;給位元組編上序號後,就給每一

JavaWeb學習總結(十三)——Session

一、Session簡單介紹      在WEB開發中,伺服器可以為每個使用者瀏覽器建立一個會話物件(session物件),注意:一個瀏覽器獨佔一個session物件(預設情況下)。因此,在需要儲存使用者資料時,伺服器程式可以把使用者資料寫到使用者瀏覽器獨佔的session中

JavaWeb學習總結——EL表示式與JSTL標籤

uJSP標準標籤庫(JSTL)是一個JSP標籤集合,它封裝了JSP應用的通用核心功能。 uJSTL支援通用的、結構化的任務,比如迭代,條件判斷,XML文件操作,國際化標籤,SQL標籤。 除了這些,它還提供了一個框架來使用整合JSTL的自定義標籤。 u核心標籤是最常用的

javaweb學習總結(十六)——Filter(過濾器)常見應用

一、統一全站字元編碼   通過配置引數charset指明使用何種字元編碼,以處理Html Form請求引數的中文問題 package me.gacl.web.filter; import java.io.IOException; import javax.servlet