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使用

/===============================================/

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 => %後都要加@

/====================================================/
//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

//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