《普開(kāi)數(shù)據(jù)大數(shù)據(jù)課程培訓(xùn)學(xué)習(xí)心得:重點(diǎn)分享、交流經(jīng)驗(yàn).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《普開(kāi)數(shù)據(jù)大數(shù)據(jù)課程培訓(xùn)學(xué)習(xí)心得:重點(diǎn)分享、交流經(jīng)驗(yàn).doc(6頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
普開(kāi)數(shù)據(jù)大數(shù)據(jù)課程培訓(xùn)學(xué)習(xí)心得:重點(diǎn)分享、交流經(jīng)驗(yàn)
大家好!很高興給大家分享一些大數(shù)據(jù)知識(shí),同時(shí)感謝普開(kāi)數(shù)據(jù)能提供這么一個(gè)好的機(jī)會(huì)。謝謝!你們的好評(píng)是對(duì)我的鼓勵(lì),請(qǐng)大家多多支持我,我會(huì)拿出自己的最大的精力來(lái)與大家分享我所學(xué)的。
J2EE本身是一個(gè)標(biāo)準(zhǔn),一個(gè)為企業(yè)分布式應(yīng)用的開(kāi)發(fā)提供的標(biāo)準(zhǔn)平臺(tái)。J2EE也是一個(gè)框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技術(shù)。
java EE 的體系結(jié)構(gòu):
1、表示層(HTML、JavaScript、Ajax)
2、中間層(JSP、Servlet、JSTL、JavaBean)(Struts)
3、數(shù)據(jù)層(JDBC)(Hibernate)
三層體系結(jié)構(gòu)的優(yōu)點(diǎn)
1、耦合性低 2、擴(kuò)展性好 3、復(fù)用性好 4、便于分工
j2ee常用的設(shè)計(jì)模式:
Java中的23種設(shè)計(jì)模式:
Factory(工廠模式), Builder(建造模式), Factory Method(工廠方法模式),
Prototype(原始模型模式),Singleton(單例模式), Facade(門面模式),
Adapter(適配器模式), Bridge(橋梁模式), Composite(合成模式),
Decorator(裝飾模式), Flyweight(享元模式), Proxy(代理模式),
Command(命令模式), Interpreter(解釋器模式), Visitor(訪問(wèn)者模式),
Iterator(迭代子模式), Mediator(調(diào)停者模式), Memento(備忘錄模式),
Observer(觀察者模式), State(狀態(tài)模式), Strategy(策略模式),
Template Method(模板方法模式), Chain Of Responsibility(責(zé)任鏈模式)
工廠模式:工廠模式是一種經(jīng)常被使用到的模式,根據(jù)工廠模式實(shí)現(xiàn)的類可以根據(jù)提供的數(shù)據(jù)生成一組類中某一個(gè)類的實(shí)例,通常這一組類有一個(gè)公共的抽象父類并且實(shí)現(xiàn)了相同的方法,但是這些方法針對(duì)不同的數(shù)據(jù)進(jìn)行了不同的操作。首先需要定義一個(gè)基類,該類的子類通過(guò)不同的方法實(shí)現(xiàn)了基類中的方法。然后需要定義一個(gè)工廠類,工廠類可以根據(jù)條件生成不同的子類實(shí)例。當(dāng)?shù)玫阶宇惖膶?shí)例后,開(kāi)發(fā)人員可以調(diào)用基類中的方法而不必考慮到底返回的是哪一個(gè)子類的實(shí)例。
HTTP協(xié)議的提交方式:
1、GET——用URL傳遞數(shù)據(jù)
2、POST——用流的方式傳遞數(shù)據(jù)
Servlet是一個(gè)java程序,是在服務(wù)器端運(yùn)行的以處理客戶端請(qǐng)求并做出響應(yīng)的程序。
Servlet類一定要繼承HttpServlet,Servlet必須和Servlet容器配合運(yùn)行,Servlet要嵌入容器才能運(yùn)行。
Web應(yīng)用程序的結(jié)構(gòu):
tomcat—webapps—appName:
http://ip:port/appName/index.jsp
1、頁(yè)面和圖片(可以自己組織結(jié)構(gòu),可以從客戶端直接訪問(wèn),jsp、html、js、jpg.....)
2、WEB-INF 目錄(必須有的 其中的東西不能從客戶端直接訪問(wèn) )
a、web.xml (必須有 Web程序的總體配置,是一個(gè)核心)
b、classes文件夾(必須的 Servlet和JavaBean編譯成Class后存放于該文件夾)
c、lib文件夾(存放該程序用的類庫(kù)jar包)
Web .xml中要對(duì)Servlet進(jìn)行一些配置
test
org.owl.servlets.TestServlet
test
/test
JSP在運(yùn)行時(shí)需要翻譯成一個(gè)Servlet程序,然后再編譯成Class文件,然后才可以運(yùn)行。
Servlet的生命周期由Servlet容器來(lái)管理
Servlet的聲明周期:
1、加載和實(shí)例化(構(gòu)造方法): 在Web容器中查找用戶請(qǐng)求的Servlet,如果沒(méi)有找到,則實(shí)例化,如果找到,則加載。
2、初始化(init):在實(shí)例化后調(diào)用的方法,可以初始化一些資源。
3、服務(wù)(service): 接受請(qǐng)求并做出響應(yīng)。根據(jù)請(qǐng)求的方式不同,調(diào)用doXXX方法。
4、銷毀(destory): 主要用來(lái)銷毀初始化時(shí)創(chuàng)建的資源,在destory方法中我們標(biāo)識(shí)哪些資源可以回收,并不能馬上回收。
如何獲得請(qǐng)求參數(shù)?
1. request。getParameter(“name”);
2. 如果一個(gè)請(qǐng)求參數(shù)有多個(gè)值,需要返回一個(gè)數(shù)組!
String []size=request.getParameter(“name”);
For(int i=0;i
dbinit
strutsfinalcase.db.util.DBInit
driverClass
org.gjt.mm.mysql.Driver
解釋:容器初始化一個(gè)servlet時(shí),會(huì)為這個(gè)servlet創(chuàng)建一個(gè)唯一的ServletConfig, 容器從DD讀出servlet初始化參數(shù),交給ServletConfig然后轉(zhuǎn)遞給servlet的init()方法
在servlet 代碼中獲得初始化參數(shù)的值:
getServletConfig(),getInitParameter(“param-name”);
上下文初始化參數(shù)
name
John
在servlet 代碼中獲得上下文初始化參數(shù)的值:
getServletContext().getInitParameter(“name”);
ServletContext
用于在Web應(yīng)用范圍內(nèi)存取共享數(shù)據(jù)的方法。
注:web應(yīng)用范圍具有以下兩層含義:
(1) 表示有web應(yīng)用的生命周期構(gòu)成的時(shí)間段.
(2) 表示在web應(yīng)用的生命周期內(nèi)所有web組件的集合。
* setAttribute(String name,java.lang.Object object):把一個(gè)java對(duì)象和一個(gè)屬性名綁定,并存放到ServletContext中,參數(shù)name指定屬性名,參數(shù)Object表示共享數(shù)據(jù)。
* getAttribute(String name):根據(jù)參數(shù)給定的屬性名,返回一個(gè)Object類型的對(duì)象。
* getAttributeNames():返回一個(gè)Enumeration對(duì)象,該對(duì)象包含了所有存放在ServletContext中的屬性名。
* removeAttribute(String name):根據(jù)參數(shù)指定的屬性名,從servletContext對(duì)象中刪除匹配的屬性。
訪問(wèn)當(dāng)前Web應(yīng)用的資源
* getContextpath():返回當(dāng)前web應(yīng)用的URL入口。
* getInitParameter(String name):返回web應(yīng)用方位內(nèi)的匹配的初始化參數(shù)值。在web.xml中元素中元素表示應(yīng)用范圍內(nèi)的初始化參數(shù)。
* getInitParameterNames():返回一個(gè)Enumeration對(duì)象。
* getServletContextName():返回web應(yīng)用的名字。即元素中元素的值。
* getRequestDispatcher(String path):返回一個(gè)用于向其他web組件轉(zhuǎn)發(fā)請(qǐng)求的RequestDispatcher對(duì)象。
web.xml文件
web.xml文件是用來(lái)初始化配置信息:比如Welcome頁(yè)面、servlet、servlet-mapping、filter、listener、啟動(dòng)加載級(jí)別等
1、指定歡迎頁(yè)面,例如:
index.jsp
index1.jsp
PS:指定了2個(gè)歡迎頁(yè)面,顯示時(shí)按順序從第一個(gè)找起,如果第一個(gè)存在,就顯示第一個(gè),后面的不起作用。如果第一個(gè)不存在,就找第二個(gè),以此類推。
2、命名與定制URL。我們可以為Servlet和JSP文件命名并定制URL,其中定制URL是依賴命名的,命名必須在定制URL前。下面拿serlet來(lái)舉例:
(1)、為Servlet命名:
servlet1
org.whatisjava.TestServlet
(2)、為Servlet定制URL、
servlet1
*.do
3、定制初始化參數(shù):可以定制servlet、JSP、Context的初始化參數(shù),然后可以再servlet、JSP、Context中獲取這些參數(shù)值。
下面用servlet來(lái)舉例:
servlet1
org.whatisjava.TestServlet
userName
Daniel
E-mail
125485762@qq.com
經(jīng)過(guò)上面的配置,在servlet中能夠調(diào)用getServletConfig().getInitParameter("param1")獲得參數(shù)名對(duì)應(yīng)的值。
4、指定錯(cuò)誤處理頁(yè)面,可以通過(guò)“異常類型”或“錯(cuò)誤碼”來(lái)指定錯(cuò)誤處理頁(yè)面。
404
/error404.jsp
-----------------------------
java.lang.Exception
/exception.jsp
5、設(shè)置過(guò)濾器:比如設(shè)置一個(gè)編碼過(guò)濾器,過(guò)濾所有資源
XXXCharaSetFilter
net.test.CharSetFilter
XXXCharaSetFilter
/*
6、設(shè)置監(jiān)聽(tīng)器:
net.test.XXXLisenet
7、設(shè)置會(huì)話(Session)過(guò)期時(shí)間,其中時(shí)間以分鐘為單位,假如設(shè)置60分鐘超時(shí):
60
8.設(shè)置上下文初始化參數(shù)(對(duì)于整個(gè)web應(yīng)用都適用)
foo
bar
在servlet中獲取上下文參數(shù)初始化
String s=getContex().getInitParameter("foo");
3.重定向和請(qǐng)求分派的比較
<1>請(qǐng)求分派只能將請(qǐng)求轉(zhuǎn)發(fā)給同一個(gè)web應(yīng)用中的其他組件,而重定向不僅可以定向到當(dāng)前應(yīng)用程序中的其他資源,也可重定向到其他站點(diǎn)的資源上
<2>重定向的訪問(wèn)過(guò)程結(jié)束后,瀏覽器的地址欄顯示的URL會(huì)發(fā)生改變,變成重定向的目標(biāo)URL,而請(qǐng)求分派的瀏覽器地址欄保持初始的URL
<3>請(qǐng)求分派的發(fā)起者和被調(diào)者之間共享相同的request實(shí)例和response實(shí)例,屬于同一個(gè)“請(qǐng)求/響應(yīng)”而重定向的發(fā)起者和被調(diào)用者使用各自的request實(shí)例和response實(shí)例,各自屬于獨(dú)立的“請(qǐng)求/響應(yīng)”過(guò)程。
請(qǐng)求轉(zhuǎn)發(fā) RequestDispatcher dis=request.getRequestDispatcher("Servlet2");
dis.forward(request, response);
重定向 response.sendRedirect("Servlet2"); //重定向到指定路徑的資源
get 和post 比較
1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
2. get是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),在URL中可以看到。post是通過(guò)HTTP post機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個(gè)過(guò)程。
3. 對(duì)于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對(duì)于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
4. get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。但是執(zhí)行效率卻比Post方法好。
Tomcat服務(wù)器
運(yùn)行Java Web程序必須有相應(yīng)Web容器支持,所有的動(dòng)態(tài)程序代碼都在Web容器中執(zhí)行,Tomcat是一個(gè)web容器;
靜態(tài)請(qǐng)求的所有代碼操作都是固定的,動(dòng)態(tài)請(qǐng)求操作的所有代碼都是拼湊的;
Tomcat是有Apache軟件基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,有Apache、sun和其他一些公司及個(gè)人共同開(kāi)發(fā)而成;
使用Tomcat必須有JDK的支持
Tomcat中主要文件夾:bin/conf/lib/logs/webapps/work
任何服務(wù)器都是依靠端口號(hào)進(jìn)行監(jiān)聽(tīng)的
服務(wù)器配置
(1)修改端口號(hào)——conf/server.xml
(2)配置虛擬目錄——磁盤下建立文件夾、建立WEB-INF文件、復(fù)制web.xml文件,服務(wù)器端配置
修改conf/web.xml文件listings中false為true,重啟Apache服務(wù)
(3)配置首頁(yè)——index.xxx;main.htm
鏈接地址:http://www.820124.com/p-10005560.html