Date: 12/20
/================================================/
DAO(Data Access Object)資料存取物件
主要的功能是資料操作,屬於資料層的操作
client → JSP/Servlet → BO → DAO → Database
客戶層 顯示層 業務層 資料層 資源層
client → B/S開發架構,大都以Browser進行存取
顯示層 → 以JSP/Servlet進行頁面效果的顯示
Business Object→ 將多個最小的DAO進行組合變成一個業務邏輯--> BO
DAO→ 提拱多個最小性的DAO操作,例如新增刪除、修改
/================================================/
DAO → 由以下幾個部分組成:
Database Connection → 負責資料庫的開啟與關閉 (xxx.dbc.DatabaseConnection)
VO → 主要是屬性,setter、getter方法組成,與欄位相對應,每一個VO的組成都對應到一條記錄 (like JavaBean)
DAO → 定義操作的介面,新增、刪除、修改、按ID查詢等 (xxx.dao.ImplDAO)
Impl → DAO介面的真實實歸類別,完成實際的資料庫操作不負責開啟和關閉(xxx.dao.xxxImplDAO)
Proxy → 代理實現類別,完成資料庫的開啟和關閉 (xxx.dao.xxxDAOProxy)
Factory → 工廠類別,透過他取得一個DAO產生的實體物件 (xxx.factor.DAOFactory)
/================================================/
組成: 註冊系統 --> 將資料存到架設好的mySQL建表
1. index.jsp、emp_list.jsp、insert_success.jsp
2. com.demo => DatabaseConnection.java、Emp.java、IEmpDAO.java、IEmpDAOImpl.java、EmpDAOProxy.java、DAOFactory.java
3. com.dome.dbc => DatabaseConnection.java、MySQLDatabaseConnection.java
lifelong learning and ongoing creation
2015年12月21日 星期一
2015年12月17日 星期四
JAVA SL-314_12/13
JAVA SL-314_12/13
Date: 12/13
/======================================================/
<jsp:useBean>
與 import 功能相同
<jsp:useBean id=”產生的實體物件” scope="儲存範圍" class=”套件.class name” />
※ scope => 表示這個物件的儲存範圍,一共有四個屬性: page, request, session, application
/======================================================/
<jsp: setProerty>
可以透過 * 的形式完成屬性的自動設定
一其有4種方法
自動比對: <jsp: setProperty name=”實體的名稱(id)” property=”*” />
指定屬性: <jsp: setProperty name=”實體的名稱(id)” property=”屬性明稱” />
指定參數: <jsp: setProperty name=”實體的名稱(id)” property=”屬性明稱” param=”參數名稱” />
指定內容: <jsp: setProperty name=”實體的名稱(id)” property=”屬性明稱” value=”內容” />
/======================================================/
Date: 12/13
/======================================================/
<jsp:useBean>
與 import 功能相同
<jsp:useBean id=”產生的實體物件” scope="儲存範圍" class=”套件.class name” />
※ scope => 表示這個物件的儲存範圍,一共有四個屬性: page, request, session, application
/======================================================/
<jsp: setProerty>
可以透過 * 的形式完成屬性的自動設定
一其有4種方法
自動比對: <jsp: setProperty name=”實體的名稱(id)” property=”*” />
指定屬性: <jsp: setProperty name=”實體的名稱(id)” property=”屬性明稱” />
指定參數: <jsp: setProperty name=”實體的名稱(id)” property=”屬性明稱” param=”參數名稱” />
指定內容: <jsp: setProperty name=”實體的名稱(id)” property=”屬性明稱” value=”內容” />
/======================================================/
2015年12月6日 星期日
JAVA SL-314_12/06
Date: 12/06
/========================================================/
session物件
session的用處就是完成使用者的login logout
等常見功能,每一個session都表示不同的存取
使用者,其為javax.servlet.http.HttpSesion介面
所產生的實體物件
HttpSession介面中存在以下4種屬性操作方法:
1. 設定屬性 public void patValue(String name, Object value)
2. 取得屬性 public Object getValue(String name)
3. 刪除屬性 public void removeValue(String name)
4. 取得全部性屬性名稱 public String[ ] getValueNames()
/========================================================/
※ 作業系統伺服器+web伺服器(mysql+tomcat)
web伺服器是用來解譯web程式語言
※ JSP是一個很嚴謹的程式語言,因此相對的比較不容易被駭客入侵。
/========================================================/
/========================================================/
session物件
session的用處就是完成使用者的login logout
等常見功能,每一個session都表示不同的存取
使用者,其為javax.servlet.http.HttpSesion介面
所產生的實體物件
HttpSession介面中存在以下4種屬性操作方法:
1. 設定屬性 public void patValue(String name, Object value)
2. 取得屬性 public Object getValue(String name)
3. 刪除屬性 public void removeValue(String name)
4. 取得全部性屬性名稱 public String[ ] getValueNames()
/========================================================/
※ 作業系統伺服器+web伺服器(mysql+tomcat)
web伺服器是用來解譯web程式語言
※ JSP是一個很嚴謹的程式語言,因此相對的比較不容易被駭客入侵。
/========================================================/
2015年11月29日 星期日
JAVA SL-314_11/29
Date: 11/29
在JSP中為了簡化使用者開發JSP內建
9種物件供開發者使用
pageContext 頁面內容容器
request 請求者資訊
response 用戶端回應資料
session 儲存使用者資訊
application 使用者共同資訊
config 初始化參數伺服器設定
out 輸出
page
exception
page → 跳躍無效,一個頁面
request → 一次請求,跳躍然有效
session → 一次階段範圍中儲存 新開browser無效
application →整個 伺服器上儲存 all user使用
/===============================================/
在JSP中為了簡化使用者開發JSP內建
9種物件供開發者使用
pageContext 頁面內容容器
request 請求者資訊
response 用戶端回應資料
session 儲存使用者資訊
application 使用者共同資訊
config 初始化參數伺服器設定
out 輸出
page
exception
page → 跳躍無效,一個頁面
request → 一次請求,跳躍然有效
session → 一次階段範圍中儲存 新開browser無效
application →整個 伺服器上儲存 all user使用
/===============================================/
2015年11月23日 星期一
JAVA SL-314_11/22
JAVA SL-314
Date: 11/22
/*
<%!
public static final String INFO="www.google.com";
int x=0;
%>
<%
out.println("<h2>x="+x+++"</h2>"); //敘述
%>
<%!
public int add(int x, int y){
return x+y;
}
%>
<%!
class Person {
private String name;
private int age;
Person(String name, int age){
this.name=name;
this.age=age;
}
public String toString(){
return "name="+this.name+"; age="+this.age;
}
}
%>
<%!
out.println("<h3>INFO"+INFO+"</h3>");
out.println("<h3>3+5="+add(3,5)+"</h3>");
out.println("<h3>"+new Person("name",18)+"</h3>");
%>
*/
/====================================================/
想要在自己的 NB 上架 Drupal 及 Wordpress 等 Open Source 免費架站軟體的開發測試
環境,以前都是從 Apache 、PHP 、 MySQL 、phpMyAdmin 一個一個的安裝設定,
還蠻麻煩的,而且也容易出問題,現在直接用 AppServ 四合一包還蠻方便,安裝快速
又容易,很快就可以準備好自己的開發測試環境了 !
1. 先下載appserv-win32-2.5.10.exe:
https://drive.google.com/file/d/0B8Dfp4n5Q35CVjY0SjV3QmljTDQ/view?usp=sharing
2. 執行安裝 ---> 以系統管理員執行
appserv-win32-2.5.10.exe
3. 點按next
4. 點按I agree
5. 依照下列指示安裝下一步
6. 安裝完成後,可以查看工作管理員--->服務--->Apache2.2、mysql
7. 服務都起來後,執行google輸入localhost,就會看見以下畫面,再點選指示
8. 輸入root,及密碼
9. AppServ 2.5.10 安裝測試成功
/====================================================/
Page指令
1. contemt Type ---> 定義JSP字元的編號和頁面MIME的回應型態。
2. import ---> 要載入那些套件。
3. pageEncoding ---> JSP頁面的字元編碼。
3. info ---> 資訊。
4. language ---> 指令碼語言。
5. is ErrorPage ---> 此頁面是否為出錯的處裡頁true處理,false則無法處理。
/====================================================/
include指令 => @
可分為動態包含及靜態包含:
1. 靜態包含---> 就是包含一個文字或JSP檔案,過程是靜態的,
例如: JSP檔案、html檔案、文字檔。
2. 動態包含---> 是使用<jsp: include>可以將靜態及動態頁面一
起包含進來,分別處裡,先處理靜態頁面結果。
ex:
<h3>靜態包含操作</h3>
<%@ include file = "info.html"% >
<%@ include file = "info.inc"%>
※page,include => %後都要加@
/====================================================/
receive_param.jsp
/*
<html>
<head>
</head>
<body>
<h1>參數一:
<%= request.getParameter("name") %></h1>
<h2>參數二:
<%= request.getParameter("info") %></h2>
</body>
</html>
Date: 11/22
/*
<%!
public static final String INFO="www.google.com";
int x=0;
%>
<%
out.println("<h2>x="+x+++"</h2>"); //敘述
%>
<%!
public int add(int x, int y){
return x+y;
}
%>
<%!
class Person {
private String name;
private int age;
Person(String name, int age){
this.name=name;
this.age=age;
}
public String toString(){
return "name="+this.name+"; age="+this.age;
}
}
%>
<%!
out.println("<h3>INFO"+INFO+"</h3>");
out.println("<h3>3+5="+add(3,5)+"</h3>");
out.println("<h3>"+new Person("name",18)+"</h3>");
%>
*/
/====================================================/
想要在自己的 NB 上架 Drupal 及 Wordpress 等 Open Source 免費架站軟體的開發測試
環境,以前都是從 Apache 、PHP 、 MySQL 、phpMyAdmin 一個一個的安裝設定,
還蠻麻煩的,而且也容易出問題,現在直接用 AppServ 四合一包還蠻方便,安裝快速
又容易,很快就可以準備好自己的開發測試環境了 !
1. 先下載appserv-win32-2.5.10.exe:
https://drive.google.com/file/d/0B8Dfp4n5Q35CVjY0SjV3QmljTDQ/view?usp=sharing
2. 執行安裝 ---> 以系統管理員執行
appserv-win32-2.5.10.exe
3. 點按next
6. 安裝完成後,可以查看工作管理員--->服務--->Apache2.2、mysql
7. 服務都起來後,執行google輸入localhost,就會看見以下畫面,再點選指示
/====================================================/
Page指令
1. contemt Type ---> 定義JSP字元的編號和頁面MIME的回應型態。
2. import ---> 要載入那些套件。
3. pageEncoding ---> JSP頁面的字元編碼。
3. info ---> 資訊。
4. language ---> 指令碼語言。
5. is ErrorPage ---> 此頁面是否為出錯的處裡頁true處理,false則無法處理。
/====================================================/
include指令 => @
可分為動態包含及靜態包含:
1. 靜態包含---> 就是包含一個文字或JSP檔案,過程是靜態的,
例如: JSP檔案、html檔案、文字檔。
2. 動態包含---> 是使用<jsp: include>可以將靜態及動態頁面一
起包含進來,分別處裡,先處理靜態頁面結果。
ex:
<h3>靜態包含操作</h3>
<%@ include file = "info.html"% >
<%@ include file = "info.inc"%>
※page,include => %後都要加@
/====================================================/
//include.jsp<br />
<%@ page language="java" import="java.util.*" pageEncoding="BIG5"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<%
int x=10;
%>
<h1>include.jsp--x<%=x%></h1>
</body>
</html>
/====================================================/receive_param.jsp
/*
<html>
<head>
</head>
<body>
<h1>參數一:
<%= request.getParameter("name") %></h1>
<h2>參數二:
<%= request.getParameter("info") %></h2>
</body>
</html>
*/
/====================================================/
App2.jsp (動態)
/*
<html>
<head>
</head>
<body>
<h1>動態包含操作</h1>
<%
String name="Google";
%>
<jsp:include page="receive_param.jsp">
<jsp:param name="name" value="<%= name %>"/>
<jsp:param name="info" value="www.google.com"/>
</jsp:include>
<%
int x=100;//變數
%>
<h1>App2.jsp...x<%=x %></h1>
<jsp:include.page="include.jsp"/>
</body>
</html>
*/
/====================================================/
App2.jsp (靜態)
/*
<html>
<head>
</head>
<body>
<h1>靜態包含操作</h1>
<%
int x=100;//變數
%>
<h1>include.jsp...x</h1>
<include.page="include.jsp"/>
</body>
</html>
*/
/====================================================/
靜態 ---> 全部包含再處理。
動態 ---> 先處理,再把結果包含進去。
/====================================================/
跳轉指令語法
不傳遞參數
<jsp:forward page="要跳轉的檔案or運算式"/>
要傳遞參數
<jsp: forward page="要跳轉的檔案or運算式"/>
<jsp: param name="參數名稱" value="參數名稱" value="參數內容"/>
</jsp: forword>
/====================================================/
2015年11月15日 星期日
JAVA SL-314_11/15
JAVA SL-314
Date: 11/15
※ HTTP/FTP/HTTPS
基於請求/回應模型
沒有狀態的通訊協定
| HTTP| 請求URL| 請求的資源 | HTTP版本
http:// /download.do?file… /HTTP 1.1
---> 向伺服器取得指定的資源
1. 可以請求的參數有限 (依brower的版本而有不同)
2. 不適合大量的資料
※ POST
請求發佈(POST)資訊給伺服器
1. 大量的資料發送都會使用POST
2. 請求資訊移到主體,網址列不會出現請求參數
3. 一般即使請求資料不多也大都會採用POST
※GET(等冪) or POST(非等冪)
1. 過長的請求參數 ---> POST
2. 較敏感的參數資料 ---> POST
3. 希望可以讓使用者設定書籤,以便日後瀏覽 ---> GET
4. 考慮Browser會cache資料問題 ---> GET
※採用MVC架構來設計軟體系統會比較好維護,擴充及除錯。
web---> 實體server → http伺服器 → web容器 ---> servlert
Java → JVM
Servlert / JSP --->web容器 ----> my eclipse
php容器---> apahe
ASP.NET容器 ---> IIS
/========================================================/
註解
1. // 單行
2. /*...*/ 多行
3. <!--xoo-->
/========================================================/
Script
<% %>
定義區域變數,敘述
2. <%!%>
定義全域變數,方法,類別
3. <%=%>
定異常數或運算式
/========================================================/
/========================================================/
使用MyEclipse
版本: MyEclipse 8.5
接下來讓我來lab吧!
首先開啟MyEclipse,接著在WebRoot建立新的html
/========================================================/
再到google輸入 ---> http://aaronhuang:8080/DEMO/MyHtml.html
再輸入123
Date: 11/15
※ HTTP/FTP/HTTPS
基於請求/回應模型
沒有狀態的通訊協定
| HTTP| 請求URL| 請求的資源 | HTTP版本
http:// /download.do?file… /HTTP 1.1
---> 向伺服器取得指定的資源
1. 可以請求的參數有限 (依brower的版本而有不同)
2. 不適合大量的資料
※ POST
請求發佈(POST)資訊給伺服器
1. 大量的資料發送都會使用POST
2. 請求資訊移到主體,網址列不會出現請求參數
3. 一般即使請求資料不多也大都會採用POST
※GET(等冪) or POST(非等冪)
1. 過長的請求參數 ---> POST
2. 較敏感的參數資料 ---> POST
3. 希望可以讓使用者設定書籤,以便日後瀏覽 ---> GET
4. 考慮Browser會cache資料問題 ---> GET
※採用MVC架構來設計軟體系統會比較好維護,擴充及除錯。
web---> 實體server → http伺服器 → web容器 ---> servlert
Java → JVM
Servlert / JSP --->web容器 ----> my eclipse
php容器---> apahe
ASP.NET容器 ---> IIS
/========================================================/
註解
1. // 單行
2. /*...*/ 多行
3. <!--xoo-->
/========================================================/
Script
<% %>
定義區域變數,敘述
2. <%!%>
定義全域變數,方法,類別
3. <%=%>
定異常數或運算式
/========================================================/
使用MyEclipse
版本: MyEclipse 8.5
接下來讓我來lab吧!
首先開啟MyEclipse,接著在WebRoot建立新的html
//MyHtml.html
<html>
<head>
<title>HTML_Javascript</title>
<script language="javascript"><!--Javasript-->
function show(){ //定義函數
var show = document.myform.name.value; //取得輸入內容
alert("輸入的內容是:"+show);
}
</script>
</head>
<body>
<form action="" method="post" name="myform">
請輸入內容:<input name="name" type="text" />
<input onclick="show()" type="button" value="顯示" />
</form>
</body>
</html>
/========================================================/
再到google輸入 ---> http://aaronhuang:8080/DEMO/MyHtml.html
再輸入123
訂閱:
文章 (Atom)




