<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-4  評論-0  文章-0  trackbacks-0
      2009年9月25日

          從頭開始學jsp,對它有興趣是第一要事。以下幾個案例非常的簡單,不需要用到別的知識。用來先對jsp有所感知是個不錯的注意。
    案例1 :displace.jsp
    <%@   page   contentType="text/html;   charset=GB2312"   %>  
      <form   name="form1"   action="displace.jsp"   method="post">  
      <br><br>  
      <input   type="text"   name="Vals"><input   type="text"   name="Amount">  
      <input   type="submit"   name="Submit"   value="Submit">  
      </form>  
      <%  
      int   intLocal_Vals,   intLocal_Amount;  
      if(request.getParameter("Vals")!=null   &&   request.getParameter("Amount")!=null)  
      {  
          intLocal_Vals   =   Integer.parseInt(request.getParameter("Vals"));  
          intLocal_Amount   =   Integer.parseInt(request.getParameter("Amount"));  
          //下面進行位移操作  
        intLocal_Vals=intLocal_Vals>>intLocal_Amount;  
          out.print("<br>位移后的值為:"   +intLocal_Vals);  
      }else{  
          out.print("位移值或位移量不能為空!");  
      }  
      %>
    案例1的所有操作都在一個頁面內完成,一般不會出現什么問題,主要用來認識一下jsp頁面的組成結構。
    案例2 :準備工作:在d:盤建立一個名為count.txt的空文本文檔。
    <%@ page language="java" contentType="text/html; charset=gb2312"%>

    <html>
    <head>

    <title>文字計數器</title>
    </head>
    <body bgcolor="#ffffff">
    <%@page import="java.io.*" %>
    <%
    BufferedReader file;
    //BufferedReader 對象用于讀取文件數據
    String countFile="d:/count.txt";
    //標示文件的地址
    file=new BufferedReader(new FileReader(countFile));
    //將file(BufferedRead的對象)指向文件的地址
    String readStr=null;
    //來存取文件的內容
    int writeStr=1;
    //寫入文件的變量 如果文件中訪問是0 則寫入為1
    try
    {
        readStr=file.readLine();//讀取文件內容
        }
    catch(IOException e){
        System.out.println("read wrong");
        }
    if(readStr==null) readStr="no record";
    else {
        writeStr=Integer.parseInt(readStr)+1;//讀取的內容+1
        }
    try{
        PrintWriter pw;
        //PrintWriter用于寫文件的一個類
        pw=new PrintWriter(new FileOutputStream(countFile));
        //指定文件
        pw.println(writeStr);
        //寫入變量writeStr的值
        pw.close();
    }
    catch(IOException e){
        out.println(e.getMessage());
    }
    %>
    <p align="center">
    <h1>文字計數器</h1>
    <h3>你是本站第</h3>
    <font color="ff0000" size="7">
    <%=readStr%></font>
    <h3>個讀者</h3>
    </body>
    </html>
    案例2主要是和外部文件進行了簡單的通訊,用到的主要是java代碼。

    案例3:準備工作:安裝mysql;將mysql的JDBC驅動器拷貝到Tomcat\common\lib和Tomcat\shared\lib 下。
    <%@ page contentType="text/html;charset=GB2312" %>
    <%@ page language="java" import="java.sql.*"%>
    <%
    Connection conn = null; //連接
    Class.forName("org.gjt.mm.mysql.Driver"); //驅動
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db","root","8"); //建立連接
    if(conn==null){
    out.println("get Conn Error");
    }
    Statement stmt=conn.createStatement();
    ResultSet RS_result=null;
    %>
    <html>
    <head>
    <title>學習</title></head>
    <body>
    <%
    RS_result=stmt.executeQuery("select * from user");
    String Name,Password;
    while(RS_result.next())
    {
    Name=RS_result.getString("name");
    Password=RS_result.getString("password");
    %>
    <P><%=Name%>
    <%=Password%></p>
    <%
    }

    stmt.close();
    conn.close();
    %>
    </body>
    </html>
    案例3里其實只是用java實現了一個數據庫連接。
    案例4:
    login.jsp
    <%@   page   contentType="text/html;   charset=GB2312"   %>
    <html>
      <head>
       <title>login</title>
      </head>
     
      <body>
        <form name="Sayhi" method="post" action="Jsp2.jsp">
        <p>請輸入用戶信息:</p>
       <p>姓名 <input type="text" name="name" size="12"></p>
       <p>密碼 <input type="password" name="password" size="12"></p>
        <input type="submit" value="確認">
        <input type="reset" value="取消">
    </body>
    </html>
    handle.jsp
    <%@page import="java.sql.*" contentType="text/html;charset=gb2312"   %>  
      <html>  
      <head>
      <title>認證</title>  
      </head>  
      <body>  
      <%
      String   Name=request.getParameter("name");  
            String   Password=request.getParameter("password");  
            Class.forName("org.gjt.mm.mysql.Driver").newInstance();  
            String   url="jdbc:mysql://localhost:3306/db";  
            String   user="root";  
            String   password="8";  
            Connection   conn=DriverManager.getConnection(url,user,password);  
            Statement   stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  
            String   sql="select * from   user   where   name='"+Name+"'   and   password='"+Password+"'";  
            ResultSet   rs=stmt.executeQuery(sql);  
            if(rs.next()){  
            out.print("恭喜你,登陸成功!");  
            }  
            else{  
            out.print("抱歉!登陸不成功!");  
            }  
            rs.close();  
            stmt.close();  
            conn.close();  
            %>  
      </body>  
      </html>
    案例4是jsp最常用的功能,實現用戶登陸的問題。
    案例5:
    CountTest.java
    package Test;

    public class CountTest {
     private static int count = 0;
      
        public CountTest() {
     }
     
        public static int getCount() {
     count++;
     return count;
     }

      public static void setCount(int a) {
    count =a;
     }
    }
    counter.jsp
    <%@page import="Test.*"%>

    <HTML>
    <HEAD>
    <TITLE>
    counter
    </TITLE>
    </HEAD>
    <BODY>
    <H1>
    JBuilder Generated JSP
    </H1>
    <jsp:useBean id="bean0" scope="application" class="Test.CountTest" />
    <%
    out.println("The Counter is : " + bean0.getCount() + "<BR>");
    %>
    </BODY>
    </HTML>
    案例5是在java完成處理,在jsp里完成顯示的例子。

    posted @ 2009-09-25 09:07 達飛Plus 閱讀(149) | 評論 (0)編輯 收藏
    下個星期要考數據庫,現把基本知識稍做整理:
    sql的概念:
    SQL (Structured Query Language結構化查詢語言)是目前使用最廣的并且是標準的數據庫語言。

    sql語言的構成:
     SQL語言包括約30條語句,每條語句請求DBMS完成一個動作.
    每條SQL語句都以一個動詞開頭,這是描述該語句功能的關鍵字.接著是一個或幾個子句.
    子句指定該語句所作用的數據,或該語句行為的更詳細說明.
    每個子句都以一個關鍵字開頭.有包含表名和列名,有含有附加關鍵字,常數或表達式.

    sql的命名:
    數據庫中的對象都有一個唯一名字標識
    SQL語句中用名字標識該語句作用的數據庫對象.
    ANSI/ISO SQL標準規定的名字有表名(標識表),列名(標識列)和用戶名(標識數據庫的用戶)
    許多SQL實現支持附加命名對象
      sql的數據類型:
      定長字符串.(CHAR(LEN),CHARACTER(LEN)
    整數.(NUMBER(P,S) ,SMALLINT,INTEGER)
    小數.(NUMBER(P,S) ,DECIMAL(P,S))
    浮點數.(NUMBER(P,S),FLOAT(P),REAL)
    可變長字符串.(VARCHAR2(N),VARCHAR(N))
    金額.(NUMBER(P,S),MEONEY))
    日期和時間.(DATE,DATETIME,TIMESTAMP)
    長文字.(LONG,LONG VARCHAR)
    無結構字節流.(RAW,LONG RAW)
      sql的表達式
    SQL語言中,表達式用于計算從數據庫中檢索的值以及用于搜索數據庫的值.
    ANSI/ISO SQL標準規定表達式中可用四種算術運算:+,-,*,/.還可以用括號組成更復雜的表達式.
    ANSI/ISO標準還規定,在必要的時候整數可自動轉換成小數,小數可自動轉換為浮點數.
    有的產品還支持日期運算表達試.
    ORACLE中的字符連接運算使用|| 運算符
       sql的內部構造函數
    大多數SQL實現都包含一組有用的內部函數.
    ±數值處理函數.(ABS,ROUND,TRUNC,SQRT)
    ±字符處理函數.(SUBSTR,TRIM,UPPER)
    ±日期處理函數.(ADD_MONTHS,MONTHS_BETWEEN)
    ±轉換函數.(CONVERT,TO_DATE,TO_CHAR)
    ±其它函數.(NVL,USER,USERENV,UID)
    內部構造函數在SQL表達式中可用于相同數據類型的常數出現的任何地方.
      sql的無數據處理(NULL)
    SQL通過空值的概念來處理數據不存在,不確定或不能用的情.
    NULL不同于一般的實際數據,而是一個表示數據不存在或未知的標志.
    在許多情況下,NULL要求DBMS特殊處理.±例如在ORACLE中通過NVL內部構造函數來處理這種情況.
    posted @ 2009-09-25 09:02 達飛Plus 閱讀(159) | 評論 (0)編輯 收藏
      2009年9月24日
    様々な連結テーブルが作成できるが、良く使うものはビュー(create view) に
    しておくと効率が良い。各種各樣的連接表中,有的對視圖也起作用。
    結合は、テーブルとテーブル、ビューとビュー、テーブ ルとビューなど複雑にできる。(テーブル連結)連接可以在數據表和數據表之間,視圖和視圖之間,數據表和視圖之間復雜的進行。
    ■単純結合 簡單連接
    ?現実的に単純結合を使う機會はないだろう。實際上簡單結合沒有什么使用的機會。
    次の例では、受注m の各レコードに 品番m の全レコードが結合される。
    在下面的例子中,在受注m的各種記錄里,品番m的所有記錄都被結合了。
    受注m のレコード數 x 品番m のレコード數の結果が問い合わされる。
      受注m的記錄數*品番m的記錄數的結果被查詢出來。 select * from sak.受注m, sak.品番m; ■等価結合 等價連接 ?等価結合は、特定のキーで表を結合します。等價連接是用特定的鍵來進行表的結合的。
    條件のどちらかのデータが存在しない場合、結果セットには含まれません。
    如果有條件在數據表里不存在,在結果集里就沒有這一條記錄。
    現実的には外部結合が一番使いやすいと思います。在實際上,外部結合是最容易使用的。
    select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數 from sak.受注m, sak.品番m where 受注m.品番 = 品番m.品番 ; ?列の別名定義は、as を指定してもよい。列的別名指定,也可以用as來實現。
    結合テーブルに同じ項目名が存在する場合は、どちらのテーブル項目か指定するため、テーブル名で修飾する。(受注m.品番)
    在連接表中如果有相同的項目名存在,為了讓每一個項目都被指定,就用項目名來修飾。
    select 受注番號, 受注m.品番 as 品番, 品番m.入庫數 as 入庫數 from sak.受注m, sak.品番m where 受注m.品番 = 品番m.品番; ?inner join を使用して、等価結合することもできます。(インナージョイン)
    使用inner join,也可以進行等價連接。
    select 受注番號, 受注m.品番 as 品番, 品番m.入庫數 as 入庫數 from sak.受注m inner join sak.品番m on 受注m.品番 = 品番m.品番; ?3 つ以上の結合を inner join で指定するには、次のようにする。
    如果有三個以上要指定inner join 來進行連接的時候,可以像下面這樣做。
    select * from (sak.受注m inner join sak.品番m on 受注m.品番 = 品番m.品番) inner join sak.得意先m on 受注m.得意先CD = 得意先m.得意先CD; ■非等価結合 非等價連接 ?非常に時間のかかる結合ですが、必要な場面があるかもしれない。雖然很花時間,但有時候也要進行下面的檢索。
    なにがしかの範囲條件で結合する場合に使います。和檢索條件的一部分進行連接。
    select
    受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數 from sak.受注m, sak.品番m where 受注m.機種 like substr(品番m.機種, 1, 2);
    ■外部結合 外結合、行結合、行連結、テーブル結合、外部接合
    外部連接 外連接,行連接,表連接,外部連接
    ?外部結合は、一番よく使用します。外部連接是最經常使用的。
    一方の條件に対するデータが存在しなかった場合でも片方のデータを結果セ ットに含める指定ができます。
    對于一方的條件即使不存在,也可以使結果集包含一邊的數據。
    次の例では、品番m にない品番の受注m レコードも結果に含まれます。
    在下面的例子中,在品番m中沒有的品番受注m記錄的結果也包含了進來。
    この場合、入庫數などの 品番m 項目には NULL がセットされて問い合わさ れます。Oracle では、left join、right join を (+) で指定できます。
    這時候,入庫數等的品番m項目里被設定了NULL值。在oracle里,left join,right join 可以用(+)來指定。
    (左結合、右結合、複數テーブル問い合わせ、複數テーブル參照) (複數問い合わせ、複合テーブル參照、レフトジョイン、ライトジョイン)
    (左連接,右連接,多個表查詢,多個表參照,左連接,右連接)
    select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數 from sak.受注m, sak.品番m where 受注m.品番 = 品番m.品番 (+); select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數 from sak.受注m left join sak.品番m on 受注m.品番 = 品番m.品番; ?逆に受注m にない品番の品番m レコードを結果に含ませることもできます。 現実的には、こういう結合に意味はありませんが、逆の和もできると言うこ とです。
    ?相反不在受注m里的品番m記錄也可以在結果里包含。在實際中,雖然沒有這么用的,但是(+)也可以放在=之前。
    select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數 from sak.受注m, sak.品番m where 受注m.品番 (+) = 品番m.品番; select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數 from sak.受注m right join sak.品番m on 受注m.品番 = 品番m.品番; ?三つ以上の表を結合することもできます。(3 テーブル結合)
    ?也可以進行三個表以上的表連接。(三表連接)
    次の例では、品番に対する品番m.入庫數、得意先CD に対する得意先m.得意 先名を結合しています。(left join を使用しても良い。)
    在下面的例子中,對于品番的品番m.入庫數,對于得意先CD的得意先m.得意先名來進行連接。(也可以使用左連接)
    select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數, 受注m.得意先CD 得意先CD, 得意先m.得意先名 得意先 from sak.受注m, sak.品番m, sak.得意先m where 受注m.品番 = 品番m.品番 (+) and 受注m.得意先CD = 得意先m.得意先CD (+); select 受注番號, 受注m.品番 品番, 品番m.入庫數 入庫數, 受注m.得意先CD 得意先CD, 得意先m.得意先名 得意先 from (sak.受注m left join sak.品番m on 受注m.品番 = 品番m.品番) left join sak.得意先m on 受注m.得意先CD = 得意先m.得意先CD; ?複數の表を結合すると修飾が難解になりがちなので、テーブル別名を使うと 良いです。
    如果多個表進行連接,修飾會變得很復雜,也可以使用表別名。
    select 受注番號, a.品番 品番, b.入庫數 入庫數, a.得意先CD 得意先CD, c.得意先名 得意先 from sak.受注m a, sak.品番m b, sak.得意先m c where a.品番 = b.品番 (+) and a.得意先CD = c.得意先CD (+); ** 外部結合を明示するために left join を left outer join、right join を right outer join と書くこともできる。
    ** 為了明確外部連接,也可以把left join 寫成 left outer join, right join寫成right outer join。
    (アウタージョイン、レフトアウタージョイン、ライトアウタージョイン)
    (outer join, left outer join, right outer join)
    ■再帰結合(內部結合) 回歸連接(內部結合) ?再帰結合は、同じテーブルをテーブル別名を使用して結合します。
    ?回歸連接是相同的表來用別名來進行連接的。
    次の例では、得意先m に親得意先CD があるとして、その得意先名を自分自 身と結合しています。(自己結合)
    在下面的例子中,以得意先作為父得意先,然后用這個名字來進行自身連接。
    select a.得意先CD 得意先CD, a.得意先名 得意先, a.親得意先CD 親得意先CD, b.得意先名 得意先 from sak.得意先m a, sak.得意先m b where a.得意先CD = b.親得意先CD (+);
    posted @ 2009-09-24 14:42 達飛Plus 閱讀(150) | 評論 (0)編輯 收藏
    ****システム

      単體テスト迄ですので、OSなどは厳密に合わせる必要は
      ありませんので、その辺りは參考にして下さい。


     --------------------------------------------------------------

      APサーバ:WebOTX Application Server Web Edition V8.1
            Apache HTTP Server 2.0.x
            Tomcat 6.0.x、J2SE 5.0.x
            Windows Server 2008 Standard (EMT64)

      フレームワーク:R21開発基盤(Java/Strus)

      帳票:PDF操作(CoReports for java)
         EXCEL操作(Microsoft Office 2007)

     ?。模楼旦`バ:Oracle 11g/R1 (11.0.x)
           HP-UX 11iv3

     --------------------------------------------------------------


    posted @ 2009-09-24 14:30 達飛Plus 閱讀(144) | 評論 (0)編輯 收藏
    僅列出標題  
    主站蜘蛛池模板: 亚洲午夜在线播放| 337p日本欧洲亚洲大胆精品555588| 亚洲国产中文在线二区三区免| 你懂的免费在线观看网站| 国产亚洲人成网站在线观看| 色多多A级毛片免费看| 亚洲 小说区 图片区 都市| 高潮毛片无遮挡高清免费| 成人亚洲综合天堂| 一区二区视频免费观看| 老司机亚洲精品影视www| 99久久99这里只有免费的精品| 亚洲一级特黄无码片| 成人片黄网站色大片免费观看APP| 亚洲AV无码精品色午夜在线观看| 免费黄网站在线看| 国产成人亚洲合集青青草原精品| 国外成人免费高清激情视频| 亚洲av无一区二区三区| 亚洲日韩中文在线精品第一| 中文字幕无码日韩专区免费| 亚洲精品美女久久久久| 午夜成年女人毛片免费观看| 阿v视频免费在线观看| 亚洲国产精品成人久久| 美女视频黄的全免费视频| 无码日韩人妻AV一区免费l| 亚洲av无码成h人动漫无遮挡| ww4545四虎永久免费地址| 久久亚洲中文字幕无码| 精品久久久久久亚洲| 69式国产真人免费视频| 免费国产在线精品一区| 亚洲AV日韩AV天堂久久 | 亚洲精品中文字幕乱码| 在线看片无码永久免费aⅴ | 最好免费观看高清在线| 亚洲人片在线观看天堂无码| 久久精品国产亚洲7777| a毛片基地免费全部视频| 日本视频免费观看|