java:Review(J2ee)

1.oracle:
    1.1 增:insert into 
        刪:delete from 
        改:update tablename set
        查:select * from 
    1.2 聚合函數
        max,min,avg,ceil,floor,round
    1.3 order by:必需要寫在sql語句的最後(where以後)
        group by:若是使用group by,在select後就必需要有該字段,並且group by不能和where連用,只能和having連用
    1.4 多表聯查
        left join:以左表爲基準,關聯右表 select * from table1 t1 left join table2 t2 on t1.id = t2.t1_id;
        right join:以右表爲基準,關聯左右 select * from tabl:e1 t1 right join table2 t2 on t1.id = t2.t1_id;
        *inner join:只有兩表關聯都有值的狀況下,才能查詢出數據 select * from tabl:e1 t1 (inner) join table2 t2 on t1.id = t2.t1_id;
        select * from table1 t1 full join table2 t2
        int[] a = {1,2,3};
        int[] b = {4,5,6};
        笛卡爾積:列出a和b的全部排列順序14,15,16,24,25,26,34,35,36...


    1.5 視圖
        create or replace view 視圖名 (select * from table1);
        在建立視圖時若是已經有這個視圖了,oracle就會報錯
        加上or replace,在建立的時候若是沒有就直接建立,若是有就替換(覆蓋)
    1.6 索引
        B樹索引:當列被創建的時候就默認自帶B樹索引
        位圖索引

2.HTML
    2.1 table表格
        <table>
            <thead>
                <tr>
                    <th></th>
                </tr>
            </thead>

            <tbody>
                <tr>
                    <td></td>
                </tr>
            </tbody>
        </table>
    2.2 ul(無序的),ol(有序的)列表
        <ul>
            <li></li>
        </ul>
        <ol>
            <li></li>
        </ol>
    2.3 form表單
        method="get/post"
            get:以地址欄的形式傳遞參數(在地址欄中顯示參數內容)
            post:把所須要傳遞的參數封裝地址中一塊兒傳遞(不顯示參數內容)
        action=""
            當點擊提交的時候,跳轉的地址

        input
            type="text":默認爲text
                  password:密碼
                  radio:單選:以name的值分組,只有name相同的時候,才能實現單選
                  checkbox:多選
                  file:文件上傳:若是是文件上傳,form表單必需要有一個屬性encType="multipart/form-data",並且請求方式必定是post
                  textarea:文本域,能夠隨意拉動,並且也能默認設置行數和列數(cols,rows)
        select:下拉列表
            <select>
                <option value="傳遞到後臺內容">在頁面顯示的內容</option>
            </select>
            使用selected = "selected";默認選中某一個option
        input
            type="button":當設置type爲button的時候,就會成爲一個按鈕,點擊按鈕form表單並不會跳轉
            爲了和js連用,綁定某些事件
            type="submit":當點擊type="submit"的時候,form表單會跳轉到指定地址
        frameset:
            在html5已經廢棄
                是html的框架:
                    <frameset rows="100, *">
                        <frame src="top.jsp" name="top"></frame>
                        <frameset cols="100, *">
                            <frame src="left.jsp" name="left"></frame>
                            <frame src="right.jsp" name="right"></frame>
                        </frameset>
                    </frameset>
                若是想點擊左側的內容讓右側發生改變
                <a href="" target="frame的name值">點擊</a>
3.css
    3.1 css的幾種寫法
        3.1.1<a style=""></a>:行內樣式

        3.1.2在html頁面的head標籤中
            <style type="text/css">
                寫css代碼


            </style>:內部樣式
        3.1.3在html頁面的head標籤中
            <link type="text/css" href="theme.css" rel="stylesheet"></link>
    3.2 css的選擇器
        3.2.1 id選擇器:<a id=""></a>
        3.2.2 類選擇器:<a class=""></a>
        3.2.3 標籤選擇器:<a></a>
        id選擇器:#id的值
        類選擇器:.class的值
        標籤選擇器:a
    3.3 須要掌握的css的樣式
        color:red,blue,yellow,black,#e0e0e0...(255,255,255)...
        border
        background
        center
        margin
        padding

4.js
    4.1 經過id選中某個標籤
        document.getElementById("id");
    4.2 經過class選中某個標籤
        document.getElementsByClassName("class");
    4.3 經過標籤直接選擇
        document.gteElementsByTagName("tagName");
    4.4 經過name屬性來選擇標籤
        document.getElementsByName("name");
    4.5 事件
        onclick單擊
        ondbClick雙擊
        onfocus:聚焦
        onblur:失去焦點
        onkeyup:鍵盤彈起
        onkeydown:鍵盤按下
        onmouseover:鼠標移過(懸浮)
        onmouseup:鼠標鬆開
        onmousedown:鼠標按下
        onchange:當改變的時候觸發
        onsubmit:寫在form表單中,onsubmit="return check(this);"
                 還能夠綁定到type="submit"的提交按鈕
    4.6 聲明方式
        4.6.1在html的head標籤中
        <script type="text/javascript">
            function check() {

            }
        </script>
        4.6.2在html的head標籤中
        <script type="text/javascript" src="xxx.js"></script>
    4.7 操做css
        document.getElementById("").style.color="red";

    4.8 正則表達式
        var reg = /^$/;聲明一個正則表達式
        if(reg.test(username)) { 驗證用戶名是否遵循正則

        }

5.jquery
    5.1 導入js的文件(jquery-3.2.1.min.js)
        jqeury代碼必定要寫在導入文件下面
    5.2 jquery聲明方式
        $(function(){

        });
        $(document).ready(function(){

        });
        當頁面加載完成後就會直接觸發jQuery代碼
    5.3 事件
        和js惟一的區別:js帶on,jQuery不帶on,eg: js:onclick jquery:click
        $("a").click(function(){

        });
        $("a").on("click", functionb(){
            使用on函數能夠替換隨意的事件
        });
    5.4 操做css
        $("a").css();

    5.5 prop,attr
        prop:表單自帶的屬性,使用prop獲取或者修改
        attr:自定義的屬性,使用attr獲取或者修改
        <a></a>
        $("a").prop("href","http://www.bjsxt.com");
        <a name="bjsxt"></a>
        var name = $("a").attr("name");
    5.6 表單驗證
        $("form").submit(function({
            進行表單驗證
        }));

    5.7 jQuery的特效
        hide()
        show()
        toggle()
        slideUp()
        slideDown()
        slideToggle()
        ...
    5.8 ajax
        $.get("須要跳轉的地址","須要攜帶的參數",function(data){
            // 服務器響應回來的數據(json格式(字符串))
        });
        服務器向客戶端響應ajax數據的時候:
            response.getWriter().print(""/int/Object);
        $.post(...)post請求方式
        若是客戶端向服務器端響應的爲json格式的對象
        $.getJSON(...)
        $.postJSON(...)-->被廢棄
        若是使用json對象進行傳遞值:
            導入gson.jar
            response.getWriter().print(new Gson().toJson(""/int/Object));
        $.ajax({
            async:true/false, 是否異步,默認爲true
            method : get/post
            data : 須要傳遞的數據
            success: function(data){
                服務端向客戶端返回的數據
            }
            url : 發送的地址
        });

6.jsp
    jsp也是一個servlet,由於間接的繼承了HttpServlet
    6.1 jsp的做用域(從小到大)
            pageContext:只做用於當前頁面
            reuqest:一次請求,和請求轉發的全部servlet
            session:一次會話,當瀏覽器關閉或者服務器關閉就結束
            application:做用全局的項目,當tomcat啓動的時候就會被建立,服務器關閉的時候被銷燬(全部用戶都共享同一個application對象)
    6.2 內置對象(內鍵對象)
        不須要建立,直接可使用的對象
        response
        page
        pageConfig
        out
        exception
        輸出:out,response
        打醬油:exception,pageConfig,page
        做用域:pageContext,request,session,application
    6.3 jstl
        <%@ taglib uri="" prefix="c" /%>
        <c:forEach>
        <c:if>
        <c:choose>
            <c:when test="">
            <c:otherwise>
        </c:choose>
        <c:remove scope="" />
    6.4 EL表達式
        EL表達式是用於jsp頁面展現值
        通常和jstl連用
        <c:forEach items="${list}" var="object" varStatus="vars">
            ${object.id}
            ${vars.count}--第幾個被打印
            ${vars.index}--索引
            ${vars.first}--是否爲第一個被打印
            ${vars.last}--是否爲最後一個被打印
        </c:forEach>
    6.5 指令
        <%@ page import pageEncoding language isErrorPage="true" errorPage="指定一個錯誤頁面,只能保護運行時異常,不能保護檢查時異常" session="true"
        <jsp:include page="">動態導入
        <%@ include file="" %>靜態導入
        靜態導入:
            會把兩個頁面合成一個頁面,tomcat會把jsp編譯成一個class文件
        動態導入:
            tomcat會分別編譯兩個jsp頁面-->編譯成兩個class文件

7.servlet
    7.1 什麼是servlet
        servlet就是一個class,這個class是爲了處理客戶端的請求而生
        若是要成爲一個servlet就必需要繼承HttpServlet
        重寫service方法(HttpServletRequest, HttpServletResponse)
        在web.xml進行配置
            <servlet>
                <servlet-name>給servlet取一個名字</servlet-name>
                <servlet-class>編寫的servlet的全限定名</servlet-class>
            </servlet>
            <servlet-mapping>
                <servlet-name>給servlet取一個名字</servlet-name>
                <url-pattern>/*</url-pattern>
                <url-pattern>*.aa</url-pattern>
                <url-pattern>/aa/</url-pattern>
                <url-pattern>xxx.xxx</url-pattern>
            </servlet-mapping>
            servlet-mapping中name必需要servlet中的name徹底相同

8.filter
    8.1 當客戶端發送的請求到服務器時,過濾器就要先過濾一遍
    8.2 聲明一個過濾器
        實現Filter接口(javax.servlet.Filter)
        重寫三個方法
            init初始化
            destroy銷燬
            doFilter(ServletRequest, ServletResponse, ServletChain)
            ServletChain.doFilter(request, response);做用:放行
    8.3 filter配置順序:(登陸過濾,上傳過濾(.txt,.zip,.jpg,.jepg,.png..),編碼集的過濾(UTF-8))
        web.xml中配置的前後順序來執行
            同一個路徑配置了兩個過濾器,正着進,倒着出
        在web.xml中配置filter
            <filter>
                <filter-name>給過濾器起一個名字</filter-name>
                <filter-class>編寫的class的全限定名</filter-class>
            </filter>
            <filter-mapping>
                <filter-name>給過濾器起一個名字</filter-name>
                <url-pattern></url-pattern>和servlet中url-pattern命名規則一直
                <servlet-name>須要提早過濾的servlet的name值</servlet-name>
            </filter-mapping>
            filter-mapping中name必需要filter中的name徹底相同

9.listener
    9.1 什麼是監聽器?
        監視器,通常狀況下監視整個項目中很重要的內容或者對象
        監聽器通常只監聽做用域
            pageContext不被監聽,由於沒有必要

            request
                HttpServletRequstListener(監聽生命週期)
                    init初始化
                    destroy銷燬
                HttpServletRequstAttributeListener(監聽request的值)
                    add當添加的時候調用
                    remove當移除的時候調用
                    replace當替換的時候調用
            session

            application

10.session:通常狀況下保存是用戶的信息(當用戶登陸成功之後)
    10.1 session是一次會話
        當客戶端第一次訪問服務器端的時候,session會在服務器端被建立,由cookie傳遞到客戶端(JSessionID)
        會保存在瀏覽器上,只要不關閉瀏覽器或者不關閉服務器,JSessionID一直會存在,當客戶端第二次向服務器端發送請求的時候,攜帶着sessionID,在服務器端進行尋找,若是找到了就說明來過,若是沒有找過服務器端會從新建立一個sessionID發送給客戶端
        session.setAttribute()
        session.getAttribute()
        session.removeAttribute()

11.cookie:(免登錄功能,記住用戶名和密碼功能,購物車功能)
    11.1 首先cookie會在服務器被建立response.addCookie();<---Cookie cookie = new Cookie("",Object);
        不設置cookie的失效時間,cookie會保存在瀏覽器內存中,當瀏覽器關閉的時候cookie就會消失 cookie.setMaxAge(60*60*24*30);單位是秒 一旦設置的cookie最大存活時間,cookie就會被保存在客戶端的硬盤中 cookie.path("localhost:8080/zzsxt/admin.sxt?type=login");
        一旦設置了cookie的地址,就只有訪問這個路徑的時候才能拿到cookie
        request.getCookies:返回的是一個cookie數組
        遍歷cookie for(Cookie cookie : cookies) for(int i = 0; i < cookies.length; i++)

12.pagination
    oracle:
    select t2.* from (select t1.*, rownum as rn1 from (select * from table1) t1 where rownum >= 1) t2 where t1.rn1 <= 5;
  mysql: select * from table1 limit 0,5; 0:從第一條數據開始(數據的下標),5:每一頁顯示5條 13.MVC 13.1 什麼是MVC: mvc是一種模式,分層開發 好處:若是某一個須要變動或者更新,其餘的代碼不受任何影響 13.2 MVC: M:model entity,dao,service dao查詢出的數據會封裝到entity中,因此能夠把entity當作dao的一部分 V:view jsp C:controller servlet(action)(controller) 13.3 MVC的實現過程 客戶端發送一次請求(jsp)-->服務器端(servlet)-->服務器端接收到請求後開始指揮-->service(處理業務邏輯的一層)-->dao(處理數據)-->database(從數據庫中進行處理(sql))(不管找到與否都會返回)-->dao(dao把拿到的數據封裝到entity中)-->service(拿到dao傳輸的數據,挑挑揀揀(空值斷定,驗證是否經過...))-->controller(servlet)-->最終servlet把結果響應給客戶端(jsp)-->客戶看到了頁面
相關文章
相關標籤/搜索