日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

J2EE学习笔记

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 J2EE学习笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

中國企業培訓的人民銀行-J2EE

1.HTTP超文本傳輸協定。應用層協議。

HTTP是基于請求、響應模式的,無狀態的協議。

2.HTTP1.0通信過程:client發起連接->客戶發送請求->server響應請求->server關閉連接;須要不斷建立連接,開銷大。

3.HTTP1.1通信過程(默認使用持續連接):client發起連接->客戶發送請求->server響應請求->client繼續發送請求->服務端響應->server關閉連接。

4.HTTP組成:請求行、消息包頭、請求正文。

請求行:Method?Request-URI|HTTP-Version?CRLF(回車)

比如:GET?/test.html?HTTP/1.1?CRLF

Method包含GET/POST/HEAD等。當中HEAD僅僅返回響應消息包頭。

5.Tomcat中通過例如以下語句配置項目:

<Context?path=”/test”?docBase=”D:\test\WebRoot”?reloadable=true””/>

6.Servlet編程:寫類繼承自HttpServlet->重寫doGetdoPost->web.xml中注冊Servlet->編寫處理函數:

resp.setContentType(“text/html”);PrintWriter?out=resp.getWriter();

out.println(“<HTML>代碼”);

7.JSP編程:在JSP中使用<%%>包括Java代碼。

8.表單提交GET/POST差別。

A.處理方式不一樣。GET加入參數在地址欄,POST加入參數在HTTP請求體中。

B.處理方法不同。doGetdoPost。

9.JSP運行過程:請求某JSP->轉換成Servlet->返回響應。

10.JSP中聲明變量為<%!?int?a=0;%>與不加!的差別:聲明的變量為成員變量。

不適用。聲明的是局部變量。

11.JSP重點內置對象:request、response、sessionapplication。

12.JSP中的事務處理一般有JAVA?BEAN完畢。<jsp:useBean>

13.Java?Bean要求:公共的public類。含有無參構造和gettersetter。Java?Bean范圍:page、request、sessionapplication。

14.Servlet生命周期:

A.初始化:init。

三種情況裝載Servlet:①Servlet容器自己主動裝載某些ServletServlet容器啟動后??蛻羰状蜗?/span>Servlet發出請求③Servlet類文件更新后,又一次裝載ServletServlet裝載后,創建Servlet演示樣例并調用init方法初始化。整個Servlet周期中中,init僅僅調用一次。

B.請求響應階段:serviceService方法通過servletrequest獲取client請求信息、處理該請求并返回響應結果servletresponse。

C.終止階段:destroy。Web應用終止或servlet容器停止工作時,釋放占用的資源。

15.通常自己定義servlet直接集成HttpServlet就可以,這樣便不用事先service方法。Service參數為ServletRequestServletResponse。

16.Servlet對象創建時機:①Web客戶第一次請求servlet②設置<servlet>元素的<load-on-startup>。啟動Web應用時會依照指定順序創建servlet。

17.Servlet容器啟動Web應用時,為每一個Web應用創建一個ServletContext對象。ServletContext能夠存放共享數據:主要方法:setAttributegetAttribute。

18.Servlet是單例的,僅僅有一個對象。

并且Servlet是多線程運行的。因此,編寫時注意多線程問題。

因此。servlet中盡量不要定義成員變量。定義成員變量easy出現多線程問題。能夠通過定義局部變量解決(局部變量屬于單個線程、統一對象成員變量可被多個線程訪問)。解決多線程同步問題方法:

A.實現javax.servlet.SingleThreadMode。這樣servlet單線程執行。

B.去除成員變量,全是用局部變量

C.是用同步代碼塊:synchronized{...}

19.Cookie的使用(Cookie從server發出。存在于client硬盤上):

Cookie?ck?=?new?Cookie(“key”,”value”);response.addCookie(ck);

Cookie?c?=?request.getCookies();

20.在servlet中使用例如以下語句請求轉發:(還是當前頁面,setAttribute的數據可以在test.jsp中取得)

request.getRequestDispatcher(“/test.jsp”).forward(request,response);

使用例如以下語句重定向:(轉到新頁面。setAttibute數據在test.jsp中不能取得,client須要發送兩次請求)

Response.sendRedirect(“test.jsp”);

21.Web跟蹤client狀態方法:

A.建立具有跟蹤數據的隱藏字段

B.重寫包括額外參數的URL

C.使用持續的Cookie

D.使用Servlet?API中的Session

Session位于servlet容器,cookie位于client硬盤上。會話cookie位于瀏覽器進程中。

22.HttpSession接口:getIdinvalidate()使當前session失效、setAttributegetAttribute、isNew、setMaxInactiveInterval設定session處于不活動狀態的最大間隔。

23.Listener監聽器用于發生一定動作時觸發操作。

比如,HttpSessionListener監聽HttpSession的操作。創建Session時,激發sessionCreated方法;銷毀Session時,激發sessionDestroy方法。HttpSessionAttributeListener監聽HttpSession屬性操作。

Session添加屬性,激發attributeAdded方法;Session刪除屬性時,激發attributeRemoved方法;Session屬性被又一次設置時,激發attributeReplaced方法。

Servlet也有對應的監聽器。

24.Filter過濾器對servlet容器的請求和響應對象進行檢查和過濾。

Filter而已過濾的對象能夠是Servlet、Jsp或者HTML。

Filter類方法:init(初始化,讀取web.xml中過濾器的初始化參數)->doFilter(運行過濾操作)->destroy(釋放過濾器資源)。

25.EL表達式語言,用于降低JSP中的腳本:${expr}。EL默認對象:pageContext、page/request/session/application/Scope、param(請求參數)、paramValues、header、headerValuescookie。

26.客戶化JSP標簽。使用tag標簽。降低JSP中代碼量。

創建標簽步驟:①創建標簽處理類②創建愛你標簽庫描寫敘述文件③在web.xml文件里聲明(servlet2.4以后不須要)④在JSP中引入標簽庫。

27.Struts2.1是基于請求響應模式的應用框架。主要包含:控制器、業務邏輯層和數據邏輯層。工作過程:客戶請求->過濾器->攔截器Interceptors->Action->JSP。?

28.Struts2使用過程:新建Web項目->增加structs2.0支持(commons-fileupload/commons-logging/ognl/struts2-core/xwork/freemarker.jar)->編寫處理類Action->編寫配置文件(src文件夾下structs.xml,在WEB-INFO/class中自己主動復制出一份)->web.xml中配置structFilter。工作過程:請求->web.xml過濾器到structs->structs.xml->請求action->處理類action->返回標志->跳轉

29.在Action中,成員變量名跟表單名字同樣并生成gettersetter方法,struct完畢表單變量傳遞。

30.Structs類型轉換:對于常見類型。structs2從client獲取后,嘗試性的自己主動轉換成Action中定義的類型。

假設轉換不成功。拋出異常,輸出字符串。對于自己定義類型。比如輸入坐標,我們須要進行類型轉換。

定義Point類,然后在PointAction中增加Point成員變量,生成gettersetter,然后寫配置文件:PointAction-conversion.properties(待處理類包中。里面設置待處理類和處理類(繼承自DefaultTypeConverter))。最后在處理類中實現類型轉換。處理類也可繼承自StrutsTypeConverter,完畢批量轉換從待處理類和String的相互轉換。對于多個坐標,處理Action中可使用list<Point>成員變量,完畢批量轉換。

31.上面為局部轉換。針對的是每一個action。全局轉換可針對所有action。屬性文件(src文件下。不帶包)為:xwork-conversion.properties。

32.Structs定義的狀態變量:SUCCESS/ERROR/INPUT/LOGIN/NONE.

33.Struts輸入校驗(服務端驗證)。分為編碼方式校驗和校驗框架兩部分。假設輸入信息不對,返回INPUT。

A.編碼方式:Action中重寫validate方法。Validate優先于executeaddActionError加入錯誤信息,JSP中使用<s:actionerror/>顯示錯誤。

Structs會自己主動生成field級別的校驗消息,使用<s:fielderror/>顯示。Action中新建RegisterAction.properties實現國際化。

使用structs標簽自帶錯誤輸出功能。

B.校驗框架方式:action包下定義配置文件:(Action-validation.xml)RegisterAction-validation.xml。校驗框架分為屬性優先(field)或者校驗器優先(validator)。

首先運行類型轉換,然后是相應的校驗框架,然后是特定方法的validate(比如formmethod屬性設置為test方法。action中方法為validateTest()),然后是validate方法。假設上述過程中出現錯誤,都不會運行execute方法,轉而頁面裝轉向struts.xmlinput相應的頁面。

34.國際化。

命名方式:文件名稱_國家代碼_properties。位于src目錄下。

35.攔截器Interceptor:類似于過濾器。

Interceptorstructs2的核心。

須要實現方法:initintercept(在請求前或處理后處理)、destroy方法。

定義攔截器類須要實現Interceptor接口->structs.xml中進行配置(interceptors)->structs.xmlaction引用攔截器。注意:使用自己定義攔截器后。默認攔截器不再起作用。須要加上默認的攔截器。且自己定義攔截器位于默認攔截器之上。使用攔截器<param>能夠傳值。Interceptor接口要求必須實現initinterceptdestroy方法,能夠使用AbstractInterceptor。攔截器、過濾器運行過程:interceptor1.invoke->interceptor2.invoke->validate->interceptor2返回并結束->interceptor1返回并結束。

36.Struts2提供支持文件上傳<s:form?action=”upload”?enctype=”multipart/form-data”>。

Uploadaction繼承ActionSupportStruts默認是運行請求轉發,刷新一次就運行一次。能夠改為重定向:<result?type=”redirect”>

37.JAVA訪問數據庫方式:

A.JDBC-ODBC橋加ODBC驅動程序。ODBC驅動提供JDBC訪問。

B.本地API:部分用Java編寫的驅動程序。

C.JDBC網絡純Java驅動。將驅動轉換為與DBMS無關的網絡協議。

D.本地協議純Java驅動程序。

DBMS有關的網絡協議。

數據庫連接的一般過程:

加載JDBC驅動程序->定義連接URL->建立連接->創建Statement_>運行查詢或者更新->結果處理->關閉連接。

Class.forname(“oracle.jdbc.driver.OracleDriver”);//加載驅動

DriverManagergetConnection用于建立連接

Connection類的close方法用于關閉數據庫連接

ConnectioncreateStatement發送SQL語句。使用Statement對象{statement、preparestatement、CallableStatement},經常用法executeQuery、executeUpdateclose

Preparestatement能夠用?預留參數;callablestatement提供存儲過程支持。

38.應用程序的分層:四層{表述層structs、業務邏輯層、持久化層Hibernate、數據庫層}spring能夠管理前三層。

39.數據庫知識:

A.主鍵。代理主鍵機制,代理主鍵不代表業務。不會被改變。

B.表與表之間的參照完整性連接表表示多對多。一對多用外鍵。

40.ORM模式:對象-關系映射。在單個組件中負責全部實體域對象的映射。類與表相應,演示樣例與表中記錄相應。MVC模式;DAO模式:Data?Access?Object。

41.使用Hibernate步驟:創建Hibernate配置文件->創建持久化類->創建對象-關系映射文件->通過HibernateAPI編寫數據庫訪問代碼

42.MyEclipse加入Hibernate功能時,須要更改默認選項,加入jar文件到WEB-INF/lib下。hibernate.cfg.xml配置:

<session-factory>

<property?name=”connection.url”>jdbc:mysql://localhost:3306/hibernate?/>

<property?name=”connection.username”>root?/>

<property?name=”connection.password”>root?/>

<property?name=”connection.driver_class”>com.mysql.jdbc.Driver?/>

<property?name=”connection.dialect”>org.hibernate.dialect.MySQLDialect?/>

</session-factory>

數據庫建表person->針對這張表新建持久化類com.hibernate.model.Person{1.須要gettersetter.2.須要id屬性,稱之為OID(對象標示符).3.提供默認構造}->編寫映射文件Person.hbm.xml,放到src下而不是包下:(hib內置的編輯器打開)

<class?name=”com.hibernate.model.Person”?table=”person”>

<id?name=”id”column=”id”?type=”int”>

????<generator?class=”increment”/>//主鍵id的生成方式

</id>

<property?name=”username”?column=”username”?type=”string”

...

</class>

在主配置文件hibernate.cfg.xml中配置:<mapping?resource=”Person.hbm.xml”/>

43.Hibernate提供的SQL操作類:

A.Configuration:配置數據庫。

B.SessionFactory:創建session。一個SessionFactory相應于一個數據庫存儲源,它是線程安全的(可被多個線程訪問),重量級的。能夠理解為一個SessionFactory相應于一個數據庫。

C.Session:相當于以此數據庫操作過程。Session不是線程安全的。輕量級的。可理解為一次數據庫sql運行過程。

session非彼session!經常用法:savaupdatedelete、get

D.Transation:事務處理。

44.可編寫HibernateUtil類完畢對session的操作(靜態SessionFactory、靜態代碼塊處理sessionFactory)。

45.編寫DBPerson處理數據庫和Person對象。Hql針對的是類對象而言(select?*?form?PersonPerson是類不是表 ),sql針對的是數據庫。

46.數據庫中的blob類型用于存二進制文件。Hibernatexml中用binary轉換,持久化類用byte[]轉換。

?

47.1對多關系雙向關聯關系(就2個),多的通過外鍵參照1的那一方。使用key元素設置外鍵。Cascade的理解:1的那份保存,然后依照外鍵所有保存多的。

48.1對多雙向自身關聯關系(樹形結構,子類11父類,子類1n孫類),比如Category{private?Long?id;private?String?name;private?Category?parentCategory;//父?private?Set?childCategories;//子類別}。數據庫表中使用有三個字段:id、nameparentID(外鍵,指向本身的ID)。

版權聲明:本文博客原創文章,博客,未經同意,不得轉載。

轉載于:https://www.cnblogs.com/gcczhongduan/p/4644456.html

總結

以上是生活随笔為你收集整理的J2EE学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇高潮视频 | 最新黄色av网址 | av福利在线 | 日韩欧美精品在线视频 | 激情毛片视频 | 日本国产一区 | 99精品网站 | 极品探花在线 | 97色吧| 国产亚洲精品码 | 精品影视一区二区 | 日日夜夜一区二区 | 无码人妻精品一区二区三 | 日本熟妇一区二区 | 九九精品在线观看 | 中国少妇做爰全过程毛片 | 99re这里只有精品在线 | 91大神福利视频 | 99久久久久无码国产精品 | 国产又粗又硬又黄的视频 | 免费国产 | 五号特工组之偷天换月 | 成人精品一区二区三区视频 | 99国产在线| 欧美乱论 | 日韩欧美中文字幕在线视频 | 夜夜爽www | 小宵虎南在线观看 | 欧美精品一区二 | 亚洲三级av | 白浆在线| 青青草超碰在线 | 男女网站在线观看 | 日本高清www | 日本精品一区二区 | 88av网 | 日韩精品一区二区三区电影 | 女人舌吻男人茎视频 | 日韩经典av | 亚洲三级在线看 | 激情插插插 | 禁漫天堂下载18 | 欧美日韩综合网 | 亚洲国产日韩在线一区 | a级全黄 | 大尺度摸揉捏胸床戏视频 | 91伊人| 中文字幕乱码无码人妻系列蜜桃 | 久久疯狂做爰流白浆xx | 日韩在线精品 | 中文字幕在线观 | 国产美女一级片 | 精品成人18 | 男人的天堂黄色 | 比利时xxxx性hd极品 | 深夜精品视频 | 亚洲天堂2024 | 在线天堂1 | 美女污软件 | 成人av电影免费观看 | 亚洲自拍色图 | 免费日韩视频 | 国产免费黄色录像 | 亚洲少妇30p | 97精品熟女少妇一区二区三区 | 国产精品久久一区 | 日本中文字幕影院 | 欧美一区,二区 | 在线播放无码后入内射少妇 | 国产视频99| 欧美在线免费播放 | 久久久久久电影 | 强行挺进皇后紧窄湿润小说 | 亚洲男人网站 | 亚洲一片 | 国产精品二区视频 | 国产视频精品在线 | 麻豆网站入口 | 国模小丫大尺度啪啪人体 | 成人h动漫精品一区 | 国产精品成人无码专区 | 欧美国产一二三区 | 蜜桃久久精品 | 99国产精品白浆在线观看免费 | 91精品久久香蕉国产线看观看 | 亚洲欧美色视频 | 依人综合网 | 五月天激情婷婷 | 98久久久| 500福利视频导航 | 嫩草在线视频 | 日韩精品毛片 | 伊人88 | 女同亚洲精品一区二区三 | 中国美女洗澡免费看网站 | av网页在线观看 | 国产玖玖在线 | 狠狠操狠狠插 | 一区二区三区日 |