JavaWeb核心知識點


一:HTTP協議

    一、概述

       1. 概念:超文本傳輸協議

        2. 作用:規范了客戶端(瀏覽器)和服務器的數據交互格式

        3. 特點

            1. 簡單快速:客戶端向服務器請求服務時,僅通過鍵值對來傳輸請求方法和路徑

            2. 靈活:允許傳輸任意類型的數據對象,正在傳輸的類型由Content-Type標記(例如圖片,文本)

            3. 持續連接:處理完客戶端的一個請求時候,服務器不立馬關閉,而是在指定的時間之后才關閉

            4. 無狀態:如果第二次請求中需要用到第一次請求的數據,那么必須在請求第一次的數據

 

    二、交互流程

       1. 連接:客戶端和服務器端建立連接

        2. 請求:客戶端發送請求數據到服務器端

        3. 響應:服務器端接收到請求后進行處理,將處理結果返回響應客戶端

        4. 關閉:關閉客戶端和服務器端連接(HTTP1.1版本之后不會立即關閉)

 

    三、請求

       1. 請求格式

            1. 請求行:請求方式、請求地址和HTTP協議版本

            2. 請求頭:消息報頭,附加信息,不包括核心數據

            3. 空行:請求頭和請求實體之間的必須有空行

            4. 請求實體:核心數據,非必須

 

        2. 請求方式

            1. GET請求(沒有請求實體):請求數據以?的形式拼接在請求頭中,URL中有具體的請求數據,不安全,由於瀏覽器對URL的長度有限制,所以適合數據量小的傳輸           

            2. POST請求:請求數據字請求實體中發送,URL中沒有具體的請求數據,安全,適合數據量大的傳輸

                post請求格式

    四、響應

        1. 響應格式

            1. 響應行:HTTP版本、狀態碼和狀態消息

            2. 響應頭:消息報頭,附加信息

            3. 空行:響應頭和響應實體之間必須存在空行

            4. 響應實體:服務器返回給客戶端的數據

 

        2. 狀態碼

             1. 200:客戶端請求成功

             2. 400:客戶端請求有語法錯誤,不能被服務器所理解

             3. 403:服務器收到請求,但是拒絕服務

             4. 404:請求資源不存在(URL錯誤)

             5. 500:服務器發生不可預期的錯誤

             6. 503:服務器不能處理當前客戶端的請求,一段時間后恢復正常

 

二:Tomcat服務器

    一、概述

       1. 概念:Tomcat 服務器是一個免費的開源的輕量級Web 應用服務器(Java編寫的),是開發和調試JSP 程序的首選。

        2. 作用:能夠根據客戶端的請求來啟動並運行我們編寫的數據邏輯代碼。

 

    二、安裝

       1. 下載

            1. Tomcat官網

                 

            2. 點擊左側Download下對應的版本

                 

 

            3. 下載壓縮包(zip)

                

              4. 解壓即可

 

        2. 目錄介紹

            1. bin:存放tomcat的命令,以.sh結尾的(linux命令),以.bat結尾的(windows命令)

                1. startup:啟動Tomcat

                2. shutdown:關閉Tomcat

 

            2. conf:存放tomcat的一些配置文件

                1. server.xml:設置端口、域名或IP、默認加載的項目及請求編碼

                2. web.xml:文件類型設置

                3. context.xml:配置數據源

                4. tomcat-users.xml:管理tomcat的用戶與權限

 

            3. lib:存放tomcat運行需要加載的jar包

            4. log:存放tomcat在運行過程中產生的日志文件

            5. webapps:存放應用程序,當tomcat啟動時會去加載webapps目錄下的應用程序

            6. work:存放tomcat在運行時的編譯后文件

 

    三、檢測安裝

       1. 雙擊bin目錄下的startup文件,不要關閉

        2. 在瀏覽器URL中輸入:localhost:8080

        3. 如果跳轉到tomcat推薦頁面則安裝成功

 

三:Servlet

    一、概述

       1. 概念:Servlet是指任何實現了這個Servlet接口的類,Servlet運行於支持Java的應用服務器中,Servlet只用來擴展基於HTTP協議的Web服務器。

        2. 作用 :交互式地瀏覽和修改數據,動態生成網頁。

        2. 使用

            1. 創建普通的Java類繼承HttpServlet

            2. 覆寫service方法

            3. 在service方法中書寫邏輯代碼

            4. 在webRoot下的WEB-INF文件夾下的web.xml文件中配置servlet的別名

 

    二、訪問流程和生命周期

       1. 訪問流程

            1. 客戶端輸入URL(服務器地址:端口號/虛擬項目名/servlet的別名)發起請求到服務器

            2. 服務器解析請求URL地址中的URI信息(虛擬項目名/servlet的別名)

            3. 按照虛擬項目名在webapps目錄下找到對應的項目文件

            4. 按照servlet的別名(url-pattern)在項目下的web.xml中檢索對應的servlet

            5. 運行servlet-class中的所對應的servlet

 

        2. 生命周期

            1. 從第一次加載進內存(調用)到服務器關閉

            2. 在web.xml中配置了load-on-startup,生命周期為從服務器的啟動到服務器的關閉

 

        3. doGet、doPost、service方法的區別

            1. service方法:可以處理get/post方式的請求,如果servlet中有service方法,會優先調用service方法對請求進行處理。如果service方法中調用了父類的service方法,那么在此service執行完成之后會再次執行對應請求的處理方法,如果不存在會報405錯誤,一般情況下不會調用。

            2. doGet方法:只能處理get方式的請求

            3. doPos方法: 只能處理post的請求方式

 

    三、request對象

       1. 概述

           1. 概念: 封裝了所有請求信息,由服務器創建並作為實參傳遞給處理請求的servlet的service方法。

           2. 作用:解決了一次請求內的數據共享問題

           3. 作用域:一次請求內

 

       2. 獲取請求行數據

           1. 獲取請求方式:String method = req.getMethod();

           2. 獲取請求URL:String url = req.getRequestURl();

           3. 獲取請求URI: String uri = req.getRequestURI();

           4. 獲取請求協議:String scheme = req.getScheme();

 

       3. 獲取請求頭數據

           1. 獲取指定的請求頭數據:String header = req.getHeader("鍵名");

           2. 獲取所有請求頭鍵的枚舉

               Enumeration e = req.getHeaderNames();
               while(e.hasMoreElements) {
                   String name = (String) e.nextElement();
                   String value = req.getHeader(name);
                   System.out.println(name + ":" + value);
               }

 

       4. 獲取用戶數據

           1. 獲取指定的用戶數據:String name = req.getParameter("鍵名");

           2. 獲取同鍵不同值的用戶數據(多選):  String[]  values = req.getParameterValues("鍵名");

       5. 設置請求編碼格式:req.setCharacterEncoding("")

 

       6. 請求轉發

           1. 作用:多個servlet聯動操作處理請求。

           2. 特點:一次請求(只有一個request對象),地址欄信息不改變。

           3. 使用: req.getRequestDispatcher("jsp路徑").forward(req, resp);

                           return;

 

       7. 數據的存儲和獲取(存儲優先於獲取

           1. 存儲:req.setAttribute(Object name, Object value);

           2. 獲取:req.getAttribute(Object obj);

 

    四、response對象

        1. 概述

             1. 概念:封裝了所有響應信息,由服務器創建並作為實參傳遞給要處理請求的servlet的service方法

             2. 作用:將服務器的信息響應給瀏覽器

 

         2. 設置響應編碼格式:resp.setContentType("text/html;charset=utf-8");

         3. 設置響應狀態碼:sendError(int sc, String msg);

         4. 設置響應頭

             1. 同鍵會覆蓋:setHeader(“鍵名”, “鍵值”);

             2. 同鍵不覆蓋:addHeader(“鍵名”, “鍵值”);

 

         5. 設置響應實體

             1. 響應字符串或HTML頁面:resp.getWrite().write("");

             2. 請求重定向:resp.sendRedirect("uri");

 

         6. 請求重定向

             1. 作用:解決表單重復提交並將不能處理的請求交給其他servlet處理。

             2. 特點:多次請求(多個request對象),地址欄信息改變。

             3. 使用:resp.sendRedirect("uri");

 

    五、cookie對象

       1. 概述

           1. 概念:瀏覽器端的存儲技術

           2. 作用:解決發送的不同請求數據共享問題

           3. 特點
               1. cookie對象由服務器創建,存儲在客戶端
               2. 臨時存儲:存儲在瀏覽器的運行內存中,瀏覽器關閉即失效
               3. 定時存儲:存儲在硬盤中,在有效期內符合有效路徑要求的請求都會附帶該信息

 

       2. 存儲

           1. 創建cookie對象(一個對象只能存儲一條信息):Cookie c = new Cookie(String name, String value);

           2. 設置cookie信息(非必須)

               1. 設置有效期:c.setMaxAge(int seconds);    
               2. 設置有效路徑:c.setPath(Strign uri);

           3. 響應cookie信息:resp.addCookie(cookie對象);

 

       3. 獲取

           1. 獲取cookie對象數組: Cookie[] cks = req.getCookie();

           2. 遍歷cookie信息:判斷是否為null后使用for循環遍歷

               1. 獲取鍵:c.getName();

               2. 獲取值:c.getName();

 

    六、session對象

       1. 概述

            1. 概念:用戶第一次訪問服務器,服務器會創建一個session對象給此用戶,並將該session對象的JSESSIONID使用cookie技術存儲到瀏覽器中,保證該用戶的其它請求能夠獲得同一個session對象。

            2. 作用:解決了一個用戶不同請求的數據共享問題。

            3. 作用域:一次會話(從訪問到瀏覽器關閉)

            4. 特點

                1. session對象由服務器創建,存儲在服務器端

                2. session依賴Cookie技術,JESSIONID存儲在Cookie的臨時存儲空間中,瀏覽器關閉失效

 

       2. 獲取session對象: HttpSession hs = req.getSession();

           1. 如果請求中擁有session的標識符(JSESSIONID),則返回其session對象

           2. 如果請求中沒有session的標識符(JSESSIONID),則創建session對象

           3. 如果session對象是失效的,則創建session對象

 

       3. 設置session信息

           1. 設置有效期(默認30分鍾):hs.setMaxInactiveInterval(int seconds);

           2. 設置強制失效:hs.invalidate();

 

       4. 數據的存儲和獲取

           1. 存儲:hs.setAttribute(String name, Object value);

           2. 獲取:hs.getAttribute(String nam)

              

    七、ServletContext對象

       1. 概述

            1. 概念:ServletContext對象內部封裝了該web應用(項目)的信息。

            2. 作用:解決了不同用戶的數據共享問題。

            3. 作用域:從服務器啟動到服務器關閉

            4. 特點

                1. ServletContext對象由服務器創建,存儲在服務器端

                2. 用戶共享,一個項目只有一個

 

       2. 獲取ServletContext對象

           1. ServletContext sc = this.getServletContext();

           2. ServletContext sc = this.getServletConfig().getServletContext();

           3. ServletContext sc = req.getSession().getServletContext();

 

       3. 獲取項目中web.xml文件中的全局配置數據:String name = sc.getInitParameter(String name);

       4. 獲取webroot下資源的絕對路徑:String path = sc.getRealPath("/文件夾/文件名");

       5. 獲取webroot下資源的流對象:InputStream is = sc.getResourceAsStream("/文件夾/文件名");

 

       6. 數據的存儲和獲取

           1. 存儲:hs.setAttribute(String name, Object value);

           2. 獲取:hs.getAttribute(String nam)

 

    八、ServletConfig對象

       1. 概述

            1. 概念:ServletConfig對象是Servlet的專屬對象,每個Servlet都單獨擁有一個ServletCinfig對象。

            2. 作用:ServletConfig對象用來獲取每一個Servlet在web.xml文件中的配置信息。 

        2. 獲取ServletConfig對象:ServletConfig sc = this.getServletConfig();

        3. 獲取web.xml中的配置數據:String name = sc.getInitParameter(String name);

 

    九、過濾器(Filter)

       1. 概述

            1. 概念:它們通過攔截請求和響應,以便查看、提取或以某種方式操作客戶端和服務器之間交換的數據。

            2. 作用:攔截傳入的請求和傳出的響應,保護Servlet

            3. 原理:客戶端瀏覽器在訪問web服務器的某個具體資源的時候,經過過濾器相關處理之后,才將request請求傳遞給下一個要執行的Servlet

 

        2. 使用

            1. 創建普通類實現Filter接口

            2. 覆寫接口方法

            3. 在web.xml或此類中配置過濾器(url-pattern)

            4. 在doFilter方法中完成對請求或響應的過濾

                1.  /*:攔截所有請求

                2.  *.do:攔截所有以.do結尾的請求,一般進行模塊化處理

                3. /虛擬項目名.do:攔截指定url的請求,針對某個servlet的請求進行攔截,保護servlet

            5. 調用FilterChain接口對象的doFilter方法放行

 

    十、監聽器(Listener)

       1. 概述

            1. 概念:監聽器就是一個實現特定接口的普通java類,用來監聽另一個類對象的方法或屬相改變時所要作出的響應

            2. 作用:監聽作用域對象request、session、application的創建、銷毀和內容的變更

 

        2. 使用

            1. 監聽request

                1. 創建和銷毀(實現ServletRequestListener接口

                    1. 創建:requestInitialized(ServletRequestEvent sre)

                    2. 銷毀:requestDestroyed(ServletRequestEvent sre)

                2. 內容變更(實現ServletRequestAttributeListener接口)

                    1. 添加:attributeAdded(ServletRequestAttributeEvent srae)

                    2. 刪除:attributeRemoved(ServletRequestAttributeEvent srae)

                    3. 修改:attributeReplaced(ServletRequestAttributeEvent srae)

                3. 使用

                    1. 獲取request對象: sre.getServletRequest()

                    2. 獲取監聽數據的鍵:srae.getName()

                    3. 獲取監聽數據的值:srae.getValue()

 

            2. 監聽session

                1. 創建和銷毀(實現HttpSessionListener接口)

                    1. 創建:sessionCreated(HttpSessionEvent se)

                    2. 銷毀:sessionDestroyed(HttpSessionEvent se)

                2. 內容變更(實現HttpSessionAttributeListener接口)

                    1. 添加:attributeAdded(HttpSessionBindingEvent event)

                    2. 刪除:attributeRemoved(HttpSessionBindingEvent event)

                    3. 修改:attributeReplaced(HttpSessionBindingEvent event)

                3. 使用

                    1. 獲取session對象: se.getSession()

                    2. 獲取監聽數據的鍵:event.getName()  

                    3. 獲取監聽數據的值:event.getValue()

 

            3. 監聽application

                1. 創建和銷毀(實現ServletContextListener接口)

                    1. 創建:contextInitialized(ServletContextEvent sce)

                    2. 銷毀:contextDestroyed(ServletContextEvent sce)

                2. 內容變更(實現ServletContextAttributeListener接口)

                    1. 添加:ttributeAdded(ServletContextAttributeEvent event)

                    2. 刪除:attributeRemoved(ServletContextAttributeEvent event)

                    3. 修改:attributeReplaced(ServletContextAttributeEvent event)

                3. 使用

                    1. 獲取application對象: sce.getApplication()   

                    2. 獲取監聽數據的鍵:event.getName()

                    3. 獲取監聽數據的值:event.getValue()

 

       3. 在web.xml中配置監聽器

            <listener>
                <listener-class>全限定路徑</listener-class>
            </listener>

 

    十一、web.xml

        1. 全局配置參數

            <context-param>
               <param-name>name</param-name>
               <param-value>value</param-value>
            </context-param>

 

        2. Servlet配置               

             <init-param>
                <param-name>name</param-name>
                <param-value>value</param-value>
             </init-param>

 

        3. 過濾器配置

             <filter>
                 <filter-name>filterName</filter-name>
                 <filter-class>監聽器的全限定路徑</filter-class>
             </filter>
             <filter-mapping>
                 <filter-name>filterName</filter-name>
                 <url-pattern>作用范圍</url-pattern>
             </filter-mapping>

 

        4. 監聽器配置

            <listener>
                <listener-class>監聽器的全限定路徑</listener-class>
            </listener>

        5. 加載時機:服務器啟動

        6. 加載順序:全局配置-->監聽器-->過濾器-->Servlet配置

 

四:JSP

    一、概述

       1. 概念:JSP(全稱Java Server Pages)是由sun公司主導創建的一種動態網頁技術標准

       2. 作用:將Java代碼和特定變動內容嵌入到靜態的頁面中,實現以靜態頁面為模板,動態生成其中的部分內容。

       3. 本質:Servlet

       4. 原理:當請求訪問JSP文件時,JSP文件會被JspServlet轉義成對應的Servlet同時執行轉義好的Servlet。

 

    二、三個指令

       1. page指令:<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

           1. 作用:配置jsp文件的轉譯相關的參數

           2. 屬性

              

 

       2. include指令(靜態引入):<% include file="要引入的jsp文件的相對路徑" %>

           1. 作用:在當前jsp文件中引入其他jsp文件

           2. 特點

               1. 會將當前和引入的jsp文件合並成一個servlet(不會單獨轉義)然后顯示

               2. 當前和引入的jsp文件中不能使用Java代碼塊聲明的同名變量(合並成一個servlet)

 

       3. taglib指令

           1. 作用:聲明jstl標簽庫

           2. 指令:<%@taglib  uri="標簽庫" prefix="c"  %>

 

    三、六個動作

       1. 動態引入:<jsp:include >

           1. 使用:<jsp:include page="path"></jsp:include>

           2. 作用:在當前jsp文件中引入其他jsp文件

           3. 特點

               1. 將引入的jsp文件單獨轉譯,然后在當前servlet(當前jsp文件)中調用轉義引入的servlet並顯示

               2. 允許含有同名變量

 

       2. 請求轉發:<jsp:forward>

           1. 使用:<jsp:forward page="path">< /jsp:forward>

           2. 作用:請求轉發

           3. 特點:標簽中間只能寫<jsp:param>子標簽,其他的任意字符都會報錯

 

       3. 設置請求參數:<jsp:param>

           1. 使用

               <jsp:forward page="path">

                   <jsp:param name="名" value="值" />

               < /jsp:forward>

           2. 作用: 將額外的請求信息保存到request對象中

           3. 特點:一個標簽只能保存一個信息

 

       4. 創建對象:<jsp:useBean>

           1. 使用:<jsp:useBean id="對象名" class="className" scope="作用域">

           2. 作用:實例化一個類對象

           3. 特點:一個標簽只能實例化一個對象

 

       5. 給指定的對象屬性賦值:<jsp:setProperty>

           1. 使用:<jsp:setProperty name="beanName" property="propertyName" value=" propertyValue" />

               1. 在<jsp:useBean>外:立即執行

               2. 在<jsp:useBean>內:只有對象被實例化時才會執行

           2. 作用:給指定對象屬性賦值

 

       6. 取出指定對象的屬性值:<jsp:getProperty>

           1. 使用:<jsp:getProperty name="beanName" property="propertyName" />

           2. 作用:取出指定對象的屬性值

           3. 特點:先實例化對象才能取對應屬性的值

 

    四、九大內置對象

       九大內置對象

 

       1. pageContext對象

            1. 作用:管理當前JSP的運行及其他內置對象

            2. 使用

                1. 獲取其他內置對象:pageContext.getXxx();

                2. 獲取指定作用域中的數據:pageContext.getAttribute(String name,int Scope)

                3. 向指定作用域中存儲數據:pageContext.setAttribute(String name,Object o,int Scope);

                4. 刪除指定作用域中的數據:removeAttribute(String name,int Scope);

                5. 作用域常量

                    1. page: PageContext.PAGE_SCOPE

                    2. request:PageContext.REQUEST_SCOPE

                    3. session:PageContext.SESSION_SCOPE

                    4. application:PageContext.APPLICATION_SCOPE

                6. 自動從page request session application中獲取數據:findAttribute(String name);

                   

    五、四大作用域

       1. pageContext

           1. 作用:解決了當前頁面內數據共享問題

           2. 作用域:當前頁面

           3. 數據流轉方式:獲取其他內置對象

 

       2. request

           1. 作用:解決了一次請求內的servlet的數據共享問題

           2. 作用域:一次請求內

           3. 數據流轉方式:請求轉發,將數據流轉給下一個servlet

 

       3. session

           1. 作用:解決了同一用戶的不同請求的數據共享問題

           2. 作用域:一次回話

           3. 數據流轉方式:將數據從一次請求流轉給其他請求

 

       4. application

           1. 作用:解決不同用戶的數據共享問題

           2. 作用域:項目內

           3. 數據流轉方式:將數據從一個用戶流轉給其他用戶

 

五:EI表達式

    一、概述

       1. 概念:EL(全稱Expression Language) 是為了使JSP寫起來更加簡單。

        2. 作用:獲取四個作用域中的數據

        3. 使用:${表達式}

 

    二、獲取作用域數據

       1. 獲取請求頭數據(了解)

           1. 獲取所有請求頭信息:${header}

           2. 獲取指定鍵對應的值:${header["鍵名"]}

           3. 獲取同鍵不同值的所有值:${headerValues["鍵名"]}

 

       2. 獲取cookie數據(了解)

           1. 獲取所有cookie對象的map集合:${cookie}

           2. 獲取指定cookie對象: ${cookie.鍵名}

           3. 獲取指定cookie對象的存儲數據的鍵:${cookie.鍵名.name}

           4. 獲取指定cookie對象的存儲數據的值:${cookie.鍵名.value}

 

       3. 獲取請求數據(掌握)

           1. 獲取唯一鍵的值:param.鍵名

           2. 獲取同鍵不同值:paramValues.鍵名

 

       4. 獲取自定義數據(掌握)

           1. 獲取普通字符串: ${鍵名}

           2. 獲取普通對象

               1. 屬性是普通類型:${鍵名.屬性名}

               2. 屬性是對象類型:${鍵名.屬性名(對象屬性).屬性名(對象屬性的屬性)...}

           3. 獲取集合對象

               1. list集合:${ 鍵名[角標].屬性名(如果有) }

               2. map集合:${ 鍵名.map集合存儲的鍵名.屬性名(如果鍵名是對象)}

 

    三、作用域查找順序

       1. 默認:pageContext-->request-->session-->application

        2. 自定義:${pageScope.鍵名}----${requestScope.鍵名}----${sessionScope.鍵名}----${applicationScope.鍵名}

 

    四、運算

       1. 算數運算:${變量1 算數表達式(+ - * /)  變量2}

        2. 邏輯運算:${變量1 邏輯表達式(&& || !) 變量2}

        3. 關系運算:${變量1 關系表達式(> < == >= !=)  變量2}

        4. 空值判斷:${empty 鍵名}

 

六:JSTL

    一、概述

       1. 概念:JSTL(Java server pages standarded tag library,即JSP標准標簽庫)是由JCP(Java community Proces)所制定的標准規范。

       2. 作用:提高jsp中的編寫邏輯代碼的效率

 

    二、核心標簽庫

       1. 基本標簽:操作作用域中的數據

            1. 輸出數據給瀏覽器:<c:out value="可以是常量值也可以是EL表達式"   default="默認值"></c:out>

            2. 添加數據到指定作用域中:<c:set var="鍵名" value="數據"  scope="作用域對象"></c:set>

            3. 刪除指定作用域中的數據:<c:remove var="鍵名" scope="作用域對象"/> 

 

        2. 邏輯標簽

            1. 單分支判斷:<c:if test="${表達式}">前端代碼</c:if>

            2. 多分支判斷

                <c:choose>
                     <c:when test="">前端代碼</c:when>
                     <c:when test="">前端代碼</c:when>
                     ......
                     <c:otherwise>前端代碼</c:otherwise>
                </c:choose>        

 

        3. 循環標簽

            1. 常量循環

                 <c:forEach begin="起始位" end="結束位" step="步長" varStatus="記錄每次循環的數據(如索引)">
                     循環體
                  </c:forEach>

 

            2. 動態循環

                 <c:forEach items="${對象}" var="每次循環的結果(對象中的數據)">
                        ${s}
                        ${s.屬性}                   
                  </c:forEach>

 

    三、格式化標簽庫

       1. 格式化日期

           1. yyyyMMdd 上午HHmmss秒格式<fmt:formatDate  type="both"  dateStyle="long"  timeStyle="long"  value="${日期對象}" />

           2. yyyy-MM-dd HH:mm:ss格式 :<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${日期對象}" />

 

       2. 格式化數字

           1. 000,000.00格式<fmt:formatNumber type="number"  value="${數值對象}" />

           2. 000,000.000格式:<fmt:formatNumber type="number" maxFractionDigits="整數型最大位數" value="${數值對象}" />

           3. $120,000.23格式:<fmt:formatNumber value="${貨幣對象}" type="currency"/></p>

 

    四、SQL標簽庫

       1. 數據庫連接:<sql:setDataSource var="對象名" driver="驅動" url="連接地址" user="用戶名" password="密碼"/>

       2. 查詢語句

           <sql:query dataSource="${對象名}"  var="結果集變量"> 

               SQL查詢語句

           </sql:query>

 

       3. 更新語句

           <sql:update dataSource="${對象名}"  var="受影響行數變量">

              SQL增刪改語句

           </sql:update>

       4. 給占位符賦值(嵌套在查詢和更新語句中):<sql:param value="${empId}" />

 


免責聲明!

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



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