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