1課程復習
會話管理
1)會話管理:管理瀏覽器和服務器之間會話期間生成的會話數(shù)據(jù)
2)cookie技術:會話數(shù)據(jù)存儲在瀏覽器客戶端。
Cookie核心的API:
2.1 在服務器端創(chuàng)建Cookie對象
Cookeie cookie = new Cookie("name","value");
2.2 把cookie發(fā)送給瀏覽器端(通過響應頭:set-cookie)
re(cookie);
2.3 瀏覽器帶著cookie信息訪問服務器(通過請求頭:cookie),服務器得到cookie信息
Cookie[] cookies = reque();
局限:
1)只能保存字符串類型,不能保存中文
2)一個cookie不能超過4kb
3)Session技術:會話數(shù)據(jù)保存在服務器端。(內存)
Session核心的API:
3.1 創(chuàng)建或得到session對象
HttpSession session = reque(); //創(chuàng)建或得到session對象
reque(false); //得到session對象
3.2 會話數(shù)據(jù)保存session對象中,和得到會話數(shù)據(jù)
("name",Object); 保存數(shù)據(jù)
("name") 得到數(shù)據(jù)
注意:
1)(時間); 設置session過期時間
2)() 手動銷毀session對象
2 Session案例
用戶登錄場景
3 編程實戰(zhàn)
通訊錄程序
軟件的生命周期
3.1 需求分析(需求分析師)
功能分析:
1)添加聯(lián)系人
2)修改聯(lián)系人
3)刪除聯(lián)系人
4)查詢所有聯(lián)系人
功能流轉
美工設計: 設計軟件的靜態(tài)原型
3.2 需求設計(系統(tǒng)分析師/架構師/資深開發(fā)人員)
1)設計實體(抽象實體)
聯(lián)系人實體:
class Contact{ private String id; private String name; private String gender; private int age; private String phone; private String email; private String qq; }
2)設計"數(shù)據(jù)庫",(xml代替"數(shù)據(jù)庫")
con <contactList> <contact id="1"> <name>張三</name> <gender>男</gender> <age>20</age> <phone></phone> <email>zs@qq.com</email> <qq>43222222<qq> </contact> </contactList>
3)設計涉及的接口
DAO接口(數(shù)據(jù)訪問對象):實體對象的CRUD方法。
項目原則: 通常一個實體對象就會對應一個DAO接口和一個DAO實現(xiàn)類
interface ContactDao{ public void addContact(Contact contact);//添加聯(lián)系人 public void updateContact(Contact contact);//修改聯(lián)系人 public void deleteContact(String id);//刪除聯(lián)系人 public List<Contact> findAll(); //查詢所有聯(lián)系人 public Contact findById(String id);//根據(jù)編號查詢聯(lián)系人 }
4)設計項目的目錄結構
項目名稱: contactSys_web
目錄結構:
|- contactSys_web |-src : 存放實體對象 : 存放dao的接口 .impl: 存放dao的實現(xiàn)類 : 存放servlet的類 : 存放單元測試類 : 存放工具類 : 存放自定義異常類 |-WebRoot |-html文件 |-images:目錄。存放圖片資源 |-css:目錄。存放css資源 |-js:目錄。存放js資源
3.3 編碼實現(xiàn)(軟件開發(fā)工程師/攻城獅)
開發(fā)順序:
設計數(shù)據(jù)庫-> 實體 -> DAO接口,DAO實現(xiàn)-> Servlet+html頁面
3.4 功能測試(測試攻城獅)
3.5 性能測試(測試攻城獅)
3.6 部署上線(實施攻城獅)
3.7 維護階段(實施攻城獅)
4 Jsp基礎
4.1 Jsp引入
Servlet的作用: 用java語言開發(fā)動態(tài)資源的技術?。。?/p>
Jsp的作用:用java語言(+html語言)開發(fā)動態(tài)資源的技術?。?!
Jsp就是servlet!??!
4.2 Jsp的特點
1)jsp的運行必須交給tomcat服務器!?。?!
tomcat的work目錄: tomcat服務器存放jsp運行時的臨時文件
2)jsp頁面既可以寫html代碼,也可以寫java代碼。
(html頁面不能寫java代碼 。而jsp頁面可以寫java代碼)
4.3 體驗jsp頁面作用
需求:顯示當前時間到瀏覽器上
可以把jsp頁面當做html頁面在tomcat中訪問?。?!
4.4 Jsp的執(zhí)行過程
問題: 訪問http://localhost:8080/day12 如何顯示效果?
1)訪問到01.頁面,tomcat掃描到jsp文件,在%tomcat%/work把jsp文件翻譯成java源文件
(01. -> _01_) (翻譯)
2)tomcat服務器把java源文件編譯成class字節(jié)碼文件 (編譯)
(_01_ -> _01_)
3)tomcat服務器構造_01_hello_jsp類對象
4)tomcat服務器調用_01_hello_jsp類里面方法,返回內容顯示到瀏覽器。
第一次訪問jsp:
走(1)(2)(3)(4)
第n次訪問jsp:
走(4)
注意:
1)jsp文件修改了或jsp的臨時文件被刪除了,要重新走翻譯(1)和編譯(2)的過程
4.5 疑問
問題: 為什么Jsp就是servlet?。。?/p>
jsp翻譯的java文件:
public final class _01_hello_jsp extends org.a implements org.a {
HttpJspBase類:
public abstract class org.a extends javax. implements javax. {
結論: Jsp就是一個servlet程序?。?!
servlet的技術可以用在jsp程序中
jsp的技術并不是全部適用于servlet程序!
Servlet的生命周期:
1)構造方法(第1次訪問)
2)init方法(第1次訪問)
3)service方法
4)destroy方法
Jsp的生命周期
1)翻譯: jsp->java文件
2)編譯: java文件->class文件(servlet程序)
3)構造方法(第1次訪問)
4)init方法(第1次訪問):_jspInit()
5)service方法:_jspService()
6)destroy方法:_jspDestroy()
5 Jsp語法
5.1 Jsp模板
jsp頁面中的html代碼就是jsp的模板
5.2 Jsp表達式
語法:<%=變量或表達式%>
作用: 向瀏覽器輸出變量的值或表達式計算的結果
注意:
1)表達式的原理就是翻譯成out.print("變量" );通過該方法向瀏覽器寫出內容
2)表達式后面不需要帶分號結束。
5.3 Jsp的腳本
語法:<%java代碼 %>
作用: 執(zhí)行java代碼
注意:
1)原理把腳本中java代碼原封不動拷貝到_jspService方法中執(zhí)行。
5.4 Jsp的聲明
語法:<%! 變量或方法 %>
作用: 聲明jsp的變量或方法
注意:
1)變量翻譯成成員變量,方法翻譯成成員方法。
5.5 Jsp的注釋
語法: <%!-- jsp注釋 --%>
注意;
1)html的注釋會被翻譯和執(zhí)行。而jsp的注釋不能被翻譯和執(zhí)行。
6 Jsp的三大指令
6.1 include指令
作用: 在當前頁面用于包含其他頁面
語法: <%@include file="common;%>
注意:
1)原理是把被包含的頁面()的內容翻譯到包含頁面)中,合并成翻譯成一個java源文件,再編譯運行??!,這種包含叫靜態(tài)包含(源碼包含)
2)如果使用靜態(tài)包含,被包含頁面中不需要出現(xiàn)全局的html標簽了!?。。ㄈ鏷tml、head、body)
6.2 page指令
作用: 告訴tomcat服務器如何翻譯jsp文件
<%@ page language="java" --告訴服務器使用什么動態(tài)語言來翻譯jsp文件 import="java.util.*" --告訴服務器java文件使用什么包導入包,多個包之間用逗號分割 pageEncoding="utf-8" --告訴服務器使用什么編碼翻譯jsp文件(成java文件) contentType="text/html; charset=utf-8" 服務器發(fā)送瀏覽器的數(shù)據(jù)類型和內容編碼 注意:在開發(fā)工具中,以后只需要設置pageEncoding即可解決中文亂碼問題 errorPage="error.jsp" isErrorPage="false" buffer="8kb" session="true" isELIgnored="false" %>
6.3 taglib指令
總結:
1)編碼實戰(zhàn):
1.1 servlet應用
1.2 初步了解軟件開發(fā)流程
2)Jsp基礎
2.1 Jsp的執(zhí)行原理(翻譯-》編譯-》servlet的生命周期)
2.2 語法(jsp表達式,jsp腳本)
2.3 指令
include指令
page指令
1.《jsp入門教程專題之web編程教程-jsp入門學習的筆記》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《jsp入門教程專題之web編程教程-jsp入門學習的筆記》僅供讀者參考,本網(wǎng)站未對該內容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內容來源地址,http://f99ss.com/gl/2486075.html