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

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

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

    posts - 8,  comments - 11,  trackbacks - 0
      2007年10月6日

     

    ,做一個(gè)最簡單的Applet:

    1,編譯JAVA類:

        {TOMCAT_HOME} = D:\tomcat6

        假設(shè)在D:\tomcat6\webapps\testweb\test目錄中新建hello目錄,在hello目錄中新建javaHelloWorld.java:

     

    package hello;

    import java.awt.*;

    import java.applet.*;

    //必須繼承Appelet

    public class HelloWorld extends Applet {

     public void paint(Graphics g )

     {

      //向外輸出的字符串

      g.drawString("Hello HelloWorldd!",5,35);

     }

    }

     

    CMD命令行中編譯該類:

        C:\Documents and Settings\Administrator>d:       

        D:>cd D:\tomcat6\webapps\testweb\test

        D:>javac hello\HelloWorld.java

     

    2,在網(wǎng)頁中嵌入Applet:

    D:\tomcat6\webapps\testweb\test目錄中新建testHello.html文件:

     

    <HTML>

    <TITLE>HelloWorld! Applet</TITLE>

    <APPLET

    codebase="."

    CODE="hello.HelloWorld.class"

    name="HelloWorld"

    WIDTH=200

    HEIGHT=100

    ALIGN = middle

    > 

    </APPLET>

    </HTML>

     

     

    3,運(yùn)行查看Applet:

    appletviewer是一個(gè)專門用來運(yùn)行查看applet的工具,直接在命令行上敲打就可以

    CMD命令行中

        >d:       

        >cd D:\tomcat6\webapps\testweb\test

        >appletviewer testHello.html

    如果啟動了TOMCAT,也可以在瀏覽器中瀏覽,不過有些瀏覽器不支持,需要JAVA插件才可以看到效果,比如遨游,我是在IE6.0中運(yùn)行可以看到。

     

     

    二,Applet進(jìn)一步處理:

    如果想把網(wǎng)頁中的Applet標(biāo)簽轉(zhuǎn)換成<Object>或者<Embed>形式,需要做以下工作,

    4,將hello目錄打包:

        >d:       

        >cd D:\tomcat6\webapps\testweb\test

        >jar -cvf hello.jar ./hello

     

    5,使用htmlconverter工具來轉(zhuǎn)換:

        1)下載htmlconverter==>http://java.sun.com/products/plugin/1.3/docs/html_converter.html

        2)下載后是一個(gè)壓縮文件,解壓縮后成為一個(gè)jar包,假設(shè)該jar包在D:\tomcat6\webapps\testweb\test

       

        >d:       

        >cd D:\tomcat6\webapps\testweb\test   

        >java -jar htmlconv1_3.jar helloworld.jsp        (注:不清楚htmlconverter怎么用的,可以敲命令查看幫助:java -jar htmlconv1_3.jar -help)

        此時(shí)helloworld.jsp中的代碼將被轉(zhuǎn)換成如下樣式:

     

    <HTML>

    <TITLE>HelloWorld! Applet</TITLE>

    <!--"CONVERTED_APPLET"-->

    <!-- HTML CONVERTER -->

    <OBJECT classid="clsid:E19F9331-3110-11d4-991C-005004D3B3DB"

    WIDTH = 200 HEIGHT = 100 NAME = "HelloWorld" ALIGN = middle  codebase="http://java.sun.com/products/plugin/1.3.0_02/jinstall-130_02-win32.cab#Version=1,3,0,2">

    <PARAM NAME = CODE VALUE = "hello.HelloWorld.class" >

    <PARAM NAME = CODEBASE VALUE = "." >

    <PARAM NAME = ARCHIVE VALUE = "HelloWorld.jar" >

    <PARAM NAME = NAME VALUE = "HelloWorld" >

     

    <PARAM NAME="type" VALUE="application/x-java-applet;jpi-version=1.3.0_02">

    <PARAM NAME="scriptable" VALUE="false">

    <COMMENT>

    <EMBED type="application/x-java-applet;jpi-version=1.3.0_02"  CODE = "hello.HelloWorld.class" CODEBASE = "." ARCHIVE = "HelloWorld.jar" NAME = "HelloWorld" WIDTH = 200 HEIGHT = 100 ALIGN = middle  scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3.0_02/plugin-install.html"><NOEMBED>

     

    </NOEMBED>

    </EMBED>

    </COMMENT>

    </OBJECT>

     

    <!--

    <APPLET CODE = "hello.HelloWorld.class" CODEBASE = "." ARCHIVE = "HelloWorld.jar" WIDTH = 200 HEIGHT = 100 NAME = "HelloWorld" ALIGN = middle>

     

     

    </APPLET>

    -->

     

     

    <!--"END_CONVERTED_APPLET"-->

     

    </HTML>

     

    這樣轉(zhuǎn)換就已經(jīng)完成,此時(shí)再用appletviewer去查看,效果和前面一致

     

     

     

     

    posted @ 2007-12-12 13:19 詩語江南 閱讀(4710) | 評論 (0)編輯 收藏
    本文轉(zhuǎn)自BeanSoft: http://m.tkk7.com/beansoft/archive/2007/10/09/151368.html

    常見的 Tomcat 5 表單編碼提交后亂碼的解決方案有很多, 有改 Tomcat Connector 屬性的, 有加過濾器的. 但是 Tomcat 自帶的那個(gè)過濾器只解決了 POST 方式的亂碼卻不能處理 GET 方式的亂碼.  在這里那我就給出一個(gè)不需要修改任何 Tomcat 配置文件的完美解決中文問題的過濾器的代碼:

    首先是我們的測試頁面:

    GET 方式: POST 方式:

    index.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
        <head>
        <title>表單測試頁面</title>
        </head>
        <body>
        <form action="action.jsp">
        GET 方式: <input type=text name="name" value="GET 中文">
        <input type=submit>
        </form>
        <form action="action.jsp" method="POST">
        POST 方式: <input type=text name="name" value="POST 中文">
        <input type=submit>
        </form>
        </body>
        </html>
        

    和普通的表單沒有任何區(qū)別.

    然后就是表單提交頁面 action.jsp:

    <%@ page language="java" pageEncoding="GBK"%>
        <html>
        <body>
        參數(shù): <%=request.getParameter("name") %> <br>
        </body>
        </html>

    接著是過濾器的配置文件 web.xml (用 2.5 版本也可以):

    <?xml version="1.0" encoding="UTF-8"?>
        <web-app version="2.4"
        xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <filter>
        <filter-name>TomcatFormFilter</filter-name>
        <filter-class>filters.TomcatFormFilter</filter-class>
        </filter>
        <filter-mapping>
        <filter-name>TomcatFormFilter</filter-name>
        <url-pattern>*.jsp</url-pattern>
        </filter-mapping>
        <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
        </web-app>

    最后最關(guān)鍵的就是我們的過濾器代碼了, 對 GET 方式使用請求包裝器, 而 POST 方式則用 setCharacterEncoding():

    package filters;
        import java.io.IOException;
        import javax.servlet.Filter;
        import javax.servlet.FilterChain;
        import javax.servlet.FilterConfig;
        import javax.servlet.ServletException;
        import javax.servlet.ServletRequest;
        import javax.servlet.ServletResponse;
        import javax.servlet.ServletException;
        import  javax.servlet.http.HttpServlet;
        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.http.HttpServletRequestWrapper;
        import javax.servlet.http.HttpServletResponse;
        public class TomcatFormFilter implements Filter {
        /**
              * Request.java
              * 對 HttpServletRequestWrapper 進(jìn)行擴(kuò)充, 不影響原來的功能并能提供所有的 HttpServletRequest
              * 接口中的功能. 它可以統(tǒng)一的對 Tomcat 默認(rèn)設(shè)置下的中文問題進(jìn)行解決而只需要用新的 Request 對象替換頁面中的
              * request 對象即可.
              */
        class Request extends HttpServletRequestWrapper
        {
        public Request(HttpServletRequest request) {
        super(request);
        }
        /**
                 * 轉(zhuǎn)換由表單讀取的數(shù)據(jù)的內(nèi)碼.
                 * 從 ISO 字符轉(zhuǎn)到 GBK.
                 */
        public String toChi(String input) {
        try {
        byte[] bytes = input.getBytes("ISO8859-1");
        return new String(bytes, "GBK");
        }
        catch (Exception ex) {
        }
        return null;
        }
        /**
                 * Return the HttpServletRequest holded by this object.
                 */
        private HttpServletRequest getHttpServletRequest()
        {
        return (HttpServletRequest)super.getRequest();
        }
        /**
                 * 讀取參數(shù) -- 修正了中文問題.
                 */
        public String getParameter(String name)
        {
        return toChi(getHttpServletRequest().getParameter(name));
        }
        /**
                 * 讀取參數(shù)列表 - 修正了中文問題.
                 */
        public String[] getParameterValues(String name)
        {
        String values[] = getHttpServletRequest().getParameterValues(name);
        if (values != null) {
        for (int i = 0; i < values.length; i++) {
        values[i] = toChi(values[i]);
        }
        }
        return values;
        }
        }
        public void destroy() {
        }
        public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
        HttpServletRequest httpreq = (HttpServletRequest)request;
        if(httpreq.getMethod().equals("POST")) {
        request.setCharacterEncoding("GBK");
        } else {
        request = new Request(httpreq);
        }
        chain.doFilter(request, response);
        }
        public void init(FilterConfig filterConfig) throws ServletException {
        }
        }
        

    怎么樣, 是不是很簡單也很方便呢?


    posted @ 2007-10-14 22:16 詩語江南 閱讀(441) | 評論 (0)編輯 收藏
    我是在尋找一個(gè)家園
    背著東風(fēng)
    在異鄉(xiāng)的土壤生根
    花兒開出了四季
    被高大的城墻包圍
    銀色的記憶刻在年輪上
    像水上的迷宮
    找不到出口
    那棵十年前種下的榕樹
    倒影在水面上
    現(xiàn)出了家的輪廓
    我用一片樹葉將它畫下
    在我經(jīng)過的每一個(gè)城市
    都將留下一片炊煙
    那是兒時(shí)的烽火
    指引著我歸來的方向
    風(fēng)從石頭的縫隙里鉆出來
    把我的手臂蕩開
    風(fēng)兒啊,你將帶我去往何方
    這里的樓房像沙丘一樣的多
    橋梁中間架著堅(jiān)硬的絲網(wǎng)
    那個(gè)地方是不是
    住著貪睡的貓頭鷹
    長滿白色的蘆葦和水仙
    會不會看見黃牛賣弄舌頭
    蜜蜂和牽?;☉賽?br /> 風(fēng)兒啊,你是不是要在那里安家
    把我所有的幻想和渴望
    都種在那片土地上
    等待春天的檢閱
    ... ...

    花兒繼續(xù)開著
    而在到達(dá)之前
    我仍將背著東風(fēng)
    獨(dú)自萌芽
    posted @ 2007-10-06 23:22 詩語江南 閱讀(224) | 評論 (0)編輯 收藏
    <2007年10月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    友情連接

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲噜噜噜噜噜影院在线播放| 看亚洲a级一级毛片| 久久精品国产精品亚洲蜜月 | 99re在线这里只有精品免费| 亚洲免费黄色网址| 亚洲A∨午夜成人片精品网站| 亚洲国产精品综合一区在线| 国产男女猛烈无遮挡免费视频 | 最近中文字幕mv免费高清在线 | 美女羞羞视频免费网站| 亚洲成av人片天堂网| 免费无码av片在线观看| 亚洲无mate20pro麻豆| 在线观看亚洲av每日更新| 毛片免费视频播放| 亚洲人成网站18禁止久久影院 | 国产亚洲精品资源在线26u| 久久久久久99av无码免费网站 | 亚洲精品第一综合99久久| 妻子5免费完整高清电视| 亚洲AV一二三区成人影片| 中国亚洲女人69内射少妇 | 亚洲精品动漫在线| 一个人免费观看www视频在线| caoporn国产精品免费| 亚洲精品乱码久久久久久久久久久久| 一二三四免费观看在线电影| 热99RE久久精品这里都是精品免费| 亚洲愉拍一区二区三区| 免费在线观看a级毛片| 两性刺激生活片免费视频| 野花香在线视频免费观看大全 | 国产精品极品美女免费观看 | 国产偷窥女洗浴在线观看亚洲| 99久久这里只精品国产免费| 野花香在线视频免费观看大全 | 亚洲无线一二三四区| 亚洲av无码一区二区乱子伦as| 免费国产成人高清视频网站| 成人午夜免费福利| 青青青免费国产在线视频小草|