0servlet
什麼是servlet
解決什麼問題 接收http請求 產生乙個http響應
怎麼寫乙個servlet
建立乙個類 繼承httpservlet
重寫兩個方法 doget dopost(httpservletrequest httpservletresponse)
怎麼能訪問到servlet
①通過web.xml
② servlet3.0之後 可以通過加註解 @webservlet("/")
專案名字/servlet路徑
①構造 init();
② service 首先獲取請求的方式 get post trace delete put head option
③伺服器關閉 就會銷毀 但是 如果是正常關閉的情況會走 destroy();
*.do *.action
form action="/專案名字/servlet路徑"
http://專案名字/aaa/bbb/test.html
servletconfig
servletcontext
request response
①服務端 utf-8
②客戶端 utf-8
response
①設定輸出流使用的碼表 utf-8
② 通知瀏覽器 當前碼表是utf-8
setcontenttype(「text/html;charset=utf-8」)
mime audio/***; video/mp4; 父型別/子型別;
request
getpost 請求體提交引數 request.setcharacterencoding()
1 網頁原始碼檢視器
自帶模擬器的localhost
用到聯網的api httpurlconnection 通過這個類可以傳送和接受網路資料,處理的是http協議的資料
傳送或接受資料之前 可以不用知道資料的型別和長度, 處理的方式 是通過流的方式
避免anr異常 要把耗時的操作放到子執行緒去做
4.0之後聯網必須要在子執行緒中否則會丟擲異常
android.os.networkonmainthreadexception
聯網必須在子執行緒中操作
子執行緒不能修改ui 修改ui必須在主線程進行 主線程又叫ui執行緒
2 訊息機制的寫法☆☆☆☆☆
①在主線程中建立乙個handler物件 並且重寫handlemessage方法
②在子執行緒需要更新ui的地方 通過handler傳送訊息
2.1建立乙個message
2.2如果有資料需要攜帶 通過message.obj攜帶資料
2.3通過handler的sendmessage方法 傳送訊息
③在handlermessage方法中 接受訊息 更新介面
3 handler原理
android程式入口 activitythread main
premainlooper()->建立乙個looper 並且把這個looper跟當前的執行緒繫結在一起 又建立了乙個訊息佇列(messagequeue) 訊息佇列對應乙個looper
looper.loop();
①looper 輪詢器 訊息幫浦 用來取出訊息 取出訊息就呼叫handler的handlemessage方法 處理訊息
② messagequeue 訊息佇列 用來管理訊息 對訊息進行排序 排序的順序是按訊息要執行的先後時間進行排序
③handler sendmessage發訊息 sendmessageattime(message msg,long time)->通過messagequeue 對訊息進行排序
handlermessage 處理訊息
④message 訊息 可以使用message.obtain方法 來獲取訊息 可以利用系統設計的訊息池
message obj可以攜帶引數
4 檢視器
5 handler 兩種作用
①執行緒間通訊 子執行緒向主線程發訊息
②在未來的某個事件執行乙個訊息
sendmessagedelayed(message msg, long time);
sendemptymessagedelayed(int what, long time);
6 runonuithread寫法
activity的乙個api 這個方法可以讓其中的runnable物件的run方法執行在ui執行緒
如果當前執行緒是主線程 立即執行run方法
如果當前執行緒不是主線程就會把runnable丟到訊息佇列 最終在主線程中執行
如果在子執行緒想跟新ui 業務邏輯比較簡單就可以使用runonuithread方法
1.runonuithread(new runnable()
7.});
7 新聞客戶端☆☆☆☆☆
①需求分析 專案負責人 產品經理 美工
② 產品經理 跳轉的流程 產品的原型
③開發人員 服務端 客戶端
④ 測試人員 jira wiki
運維 linux mysql調優 網路調優
大資料工程師 程式設計師
大資料分析師 收集的資料進行分析
bd 商務
新聞發布系統
8 smartimageview開源專案介紹
使用 把smartimageview src下**copy到專案中
使用的時候在xml布局檔案需要寫smartimageview的全路徑
9 smartimageview原理介紹
繼承imageview 重寫構造 給imageview新增功能
①聯網開執行緒
②子執行緒不能更新ui
③聯網要需要internet許可權
④子執行緒更新ui 訊息機制
runonuithread(runnable物件)
新聞客戶端
0 服務端準備資料
①聯網獲取xml檔案 (開執行緒)
②解析xml轉化成arraylist
③通過listview展示資料(獲取資料在子執行緒 要通過handler或者runonuithread更新listview)
④使用開源專案展示 (smartimageview 使用的時候 xml布局檔案 宣告節點要使用全路徑)
day08 資料結構
泛型就是使用表示乙個不確定的資料型別,根據泛型使用在類上 方法上 介面上來確定具體的資料型別。在類上寫乙個,表示在整個類中有乙個不確定的資料型別。表示在整個類中有乙個不確定的資料型別。public class generic public class demo1 在方法上寫乙個,表示在這個方法中有乙...
08 網路爬蟲
原理 httprequest 新聞伺服器 dom 文件 爬蟲應用 dom 解析 資料庫 網路爬蟲之dom解析 document element elements jsoup html 解析器 匯入jsoup 1.6.3.jar 網路爬蟲的步驟 1 網路請求 請求url 2 得到dom文件 docum...
day08資料型別 回顧
一 整型int 1.作用 記錄年齡,月份等 2.定義 age 18 底層實際上是執行了age int 18 3.型別轉換 純數字的字串能轉換成int,float型別能轉換成整型int 例 x 1.1 print type int x msg 1234 res int msg print type r...