posts - 7,comments - 5,trackbacks - 0

          http://www.aygfsteel.com/deng947/archive/2006/04/14/41139.html
          HTML Basic

          Image 標簽 <IMG src="../images/03.gif" border="0"> 所有屬性包括

          Basic 屬性包括

           alt

                 Class

                 Id

                 Long

                 Longdesc

                 Name

                 Src

                 Title

                 Usemap

          Display 屬性包括

                 Align

                 Border

                 Dir

                 Height

                 Hspace

                 Ismap

                 Mapfile

                 Style

                 Vspace

                 Width

          Events 屬性包括

                 Onclick

          Ondbclick

          Onhelp

          Onkeydown

          Onkeypress

          Onkeyup

          Onmounsedown

          Onmousemove

          Onmouseout

          Onmouseover

          Onmouseup

          二、 HTML-Form

           Image Button<INPUT type="image" src="../images/03.gif" />

          Basic 屬性包括

           Accept

           Accesskey

           Alt

          Checked

                 Class

                 Disabled

                 Id

                 Long

                 Maxlength

                 Name

                 readonly

                 Src

                 Tabindex

                 Title

                 Type

                 Usemap

                 Value

          Display 屬性包括

                 Align

                 Border

                 Dir

                 Height

                 Ismap

          Isstyle

          Size

                 Style

                 Width

          Events 屬性包括

                 Onblur

                 Onchange

          Onclick

          Ondbclick

          Onfocus

          Onhelp

          Onkeydown

          Onkeypress

          Onkeyup

          Onmounsedown

          Onmousemove

          Onmouseout

          Onmouseover

          Onmouseup

                 Onselect

          三、 Struts Basic

          Image <html:img page="/images/03.gif" border="0" />

          Basic 屬性包括

           Action

          Alt

           AltKey

           Bundle

           imageName

           locale

           lowsrc

                 Name

                 Page

          PageKey

          Paramname

          Paramproperty

          Paramscope

                 Src

                 SrcKey

                 Title

                 titleKey

                 Usemap

          Display 屬性包括

                 Align

                 Border

                 Height

                 Hsapce

                 Ismap

                 Style

                 StyleClass

                 StyleId

                 Vsapce

                 Width

          Events 屬性包括

          Onclick

          Ondbclick

          Onkeydown

          Onkeypress

          Onkeyup

          Onmounsedown

          Onmousemove

          Onmouseout

          Onmouseover

          Onmouseup

          Other 屬性包括

                 contextRealtive

                 module

                 paramId

                 useLocalEncoding

          四、 Struts-Form

          Image Button <html:image page="/images/03.gif" />

          Basic 屬性包括

          Accesskey

           Alt

           altKey

          bundle

                  Disabled

                 Indexed

                 Locale

                 Page

          pageKey

          property

                 Src

                 SrcKey

                 Tabindex

                 Title

                 titleKey

                 Value

          Display 屬性包括

                 Align

                 Border

                 Style

                 styleClass

                 styleId

          Events 屬性包括

                 Onblur

                 Onchange

          Onclick

          Ondbclick

          Onfocus

          Onkeydown

          Onkeypress

          Onkeyup

          Onmounsedown

          Onmousemove

          Onmouseout

          Onmouseover

          Onmouseup

            Struts 必須使用 Struts Basic 下的 Image 標簽 Struts-Form 下的 Image Button 按鈕。其中可以使用 servlet 隨機生成的圖片,或者 jsp 文件。 JSP 下的彩色驗證碼的解決:

          隨機驗證圖片的生成文件

          <%@ page contentType="image/jpeg" import="java.awt.*,java.awt.image.*,java.util.*,javax.imageio.*" %>

          <%!

          Color getRandColor(int fc,int bc){// 給定范圍獲得隨機顏色

                  Random random = new Random();

                  if(fc>255) fc=255;

                  if(bc>255) bc=255;

                  int r=fc+random.nextInt(bc-fc);

                  int g=fc+random.nextInt(bc-fc);

                  int b=fc+random.nextInt(bc-fc);

                  return new Color(r,g,b);

                  }

          %>

          <%

          // 設置頁面不緩存

          response.setHeader("Pragma","No-cache");

          response.setHeader("Cache-Control","no-cache");

          response.setDateHeader("Expires", 0);

          // 在內存中創建圖象

          int width=60, height=20;

          BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

          // 獲取圖形上下文

          Graphics g = image.getGraphics();

          // 生成隨機類

          Random random = new Random();

          // 設定背景色

          g.setColor(getRandColor(200,250));

          g.fillRect(0, 0, width, height);

          // 設定字體

          g.setFont(new Font("Times New Roman",Font.PLAIN,18));

          // 畫邊框

          //g.setColor(new Color());

          //g.drawRect(0,0,width-1,height-1);

          // 隨機產生 155 條干擾線,使圖象中的認證碼不易被其它程序探測到

          g.setColor(getRandColor(160,200));

          for (int i=0;i<155;i++)

          {

                  int x = random.nextInt(width);

                  int y = random.nextInt(height);

                  int xl = random.nextInt(12);

                  int yl = random.nextInt(12);

                  g.drawLine(x,y,x+xl,y+yl);

          }

          // 取隨機產生的認證碼 (4 位數字 )

          String sRand="";

          for (int i=0;i<4;i++){

              String rand=String.valueOf(random.nextInt(10));

              sRand+=rand;

              // 將認證碼顯示到圖象中

              g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));// 調用函數出來的顏色相同,可能是因為種子太接近,所以只能直接生成

              g.drawString(rand,13*i+6,16);

          }

          // 將認證碼存入 SESSION

          session.setAttribute("rand",sRand);

          // 圖象生效

          g.dispose();

          // 輸出圖象到頁面

          ImageIO.write(image, "JPEG", response.getOutputStream());

          %>

          使用頁面:

          <%@ page contentType="text/html;charset=gb2312" %>

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

          <html>

          <head>

          <title> 認證碼輸入頁面 </title>

          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">

          <META HTTP-EQUIV="Pragma" CONTENT="no-cache">

          <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">

          <META HTTP-EQUIV="Expires" CONTENT="0">

          </head>

          <body>

          <form method=post action="check.jsp">

          <table>

          <tr>

          <td align=left> 系統產生的認證碼: </td>

          <td><img border=0 src="image.jsp"></td>

          </tr>

          <tr>

          <td align=left> 輸入上面的認證碼: </td>

          <td><input type=text name=rand maxlength=4 value=""></td>

          </tr>

          <tr>

          <td colspan=2 align=center><input type=submit value=" 提交檢測 "></td>

          </tr>
          </table>

          </form>

          posted @ 2009-04-23 19:58 心路 閱讀(847) | 評論 (0)編輯 收藏
          unsupported major.minor version 解決方法

                  一直以來都是用jdk1.5,這次重返電信由于其系統是在jdk1.4上編譯的,編譯的時候出現了unsupported major.minor version49.0的錯誤,上網查看了一下還是一個很普遍的錯誤,搗鼓了兩天終于搗鼓出一些東西,現分享給大家。

               何謂 major.minor,且又居身于何處呢?先感性認識并找到 major.minor 來。順便寫一段 代碼,然后用 JDK 1.5 的編譯器編譯成class,用UltraEdit或者其他能打開非十進制文件的軟件打開此class,見下圖:        

           

                 從上圖中我們看出來了什么是 major.minor version 了,它相當于一個軟件的主次版本號,只是在這里是標識的一個 Java Class 的主版本號和次版本號,同時我們看到 minor_version 為 0x0000,major_version 為 0x0031,轉換為十制數分別為0 和 49,即 major.minor 就是 49.0 了。

                現在不妨從 JDK 1.1 到 JDK 1.7 編譯器編譯出的 class 的默認 minor.major version 吧。(又走到 Sun 的網站上翻騰出我從來都沒用過的古董來)
               

          JDK 編譯器版本 target 參數 十六進制 minor.major 十進制 minor.major
          jdk1.1.8 不能帶 target 參數 00 03 00 2D 45.3
          jdk1.2.2 不帶(默認為 -target 1.1) 00 03 00 2D 45.3
          jdk1.2.2 -target 1.2 00 00   00 2E 46.0
          jdk1.3.1_19 不帶(默認為 -target 1.1) 00 03 00 2D 45.3
          jdk1.3.1_19 -target 1.3 00 00   00 2F 47.0
          j2sdk1.4.2_10 不帶(默認為 -target 1.2) 00 00   00 2E 46.0
          j2sdk1.4.2_10 -target 1.4 00 00   00 30 48.0
          jdk1.5.0_11 不帶(默認為 -target 1.5) 00 00   00 31 49.0
          jdk1.5.0_11 -target 1.4 -source 1.4 00 00   00 30 48.0
          jdk1.6.0_01 不帶(默認為 -target 1.6) 00 00   00 32 50.0
          jdk1.6.0_01 -target 1.5 00 00   00 31 49.0
          jdk1.6.0_01 -target 1.4 -source 1.4 00 00   00 30 48.0
          jdk1.7.0 不帶(默認為 -target 1.6) 00 00   00 32 50.0
          jdk1.7.0 -target 1.7 00 00   00 33 51.0
          jdk1.7.0 -target 1.4 -source 1.4 00 00   00 30 48.0
          Apache Harmony 5.0M3 不帶(默認為 -target 1.2) 00 00   00 2E 46.0
          Apache Harmony 5.0M3 -target 1.4 00 00   00 30 48.0

           

                 當然你也可以用其他方法查看版本號,比如javap -verbose XXXX(class名)。

                  那么現在如果碰到這種問題該知道如何解決了吧,還會像我所見到有些兄弟那樣,去找個 1.4 的 JDK 下載安裝,然后用其重新編譯所有的代碼嗎?且不說這種方法的繁瑣,而且web應用程序還不一定能成功,其實大可不必如此費神,我們一定還記得 javac 還有個 -target 參數,對啦,可以繼續使用 1.5 JDK,編譯時帶上參數 -target 1.4 -source 1.4 就 OK 啦,不過你一定要對哪些 API 是 1.5 JDK 加入進來的了如指掌,不能你的 class 文件拿到 JVM 1.4 下就會 method not found。目標 JVM 是 1.3 的話,編譯選項就用 -target 1.3 -source 1.3 了。

                相應的如果使用 ant ,它的 javac 任務也可對應的選擇 target 和 source

          <javac target="1.4" source="1.4" ............................/>

          如果是在開發中,可以肯定的是現在真正算得上是 JAVA IDE 對于工程也都有編譯選項設置目標代碼的。例如 Eclipse 的項目屬性中的 Java Compiler 設置,如圖:

                  

                  其實理解 major.minor 就像是我們可以這么想像,同樣是微軟件的程序,32 位的應用程序不能拿到 16 位系統中執行那樣。

          如果我們發布前了解到目標 JVM 版本,知道怎么從 java class 文件中看出 major.minor 版本來,就不用等到服務器報出異常才著手去解決,也就能預知到可能發生的問題。

          其他時候遇到這個問題應具體解決,總之問題的根由是低版本的 JVM 無法加載高版本的 class 文件造成的,找到高版本的 class 文件處理一下就行了。

          posted @ 2009-04-23 11:31 心路 閱讀(68609) | 評論 (5)編輯 收藏
          主站蜘蛛池模板: 临沂市| 鹤庆县| 应城市| 商南县| 米易县| 岳普湖县| 开江县| 西宁市| 陇西县| 阿拉尔市| 泰来县| 龙井市| 浙江省| 阿拉善盟| 吉林省| 田阳县| 晋江市| 特克斯县| 汉寿县| 旌德县| 陵川县| 曲麻莱县| 赤壁市| 贺兰县| 上栗县| 那坡县| 徐水县| 华安县| 鄂州市| 高尔夫| 阿克苏市| 昌平区| 泗阳县| 仪征市| 荣昌县| 资源县| 重庆市| 大余县| 永康市| 鄯善县| 息烽县|