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)-->客戶看到了頁面