<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月14日

     

    ,做一個(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)編輯 收藏
    <2007年10月>
    30123456
    78910111213
    14151617181920
    21222324252627
    28293031123
    45678910

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    友情連接

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成年女人毛片免费播放视频m| 久久久久国产成人精品亚洲午夜| 国产精品亚洲综合天堂夜夜| MM131亚洲国产美女久久| 日韩免费在线视频| 亚洲精品国产高清在线观看| 国产亚洲精AA在线观看SEE| 成人免费在线观看网站| 久久www免费人成精品香蕉| 亚洲福利一区二区| 亚洲成人影院在线观看| 1000部禁片黄的免费看| 性生大片视频免费观看一级| 亚洲熟妇无码久久精品| 亚洲男人的天堂一区二区| 国产精品久久久久久久久免费| 西西人体大胆免费视频| 亚洲人成777在线播放| 自拍偷自拍亚洲精品第1页| 成年人免费网站在线观看| a级毛片毛片免费观看久潮喷| 亚洲sm另类一区二区三区| 亚洲国产精品免费视频| 亚洲精品456播放| 午夜一级毛片免费视频| 99精品免费观看| 一级做受视频免费是看美女| 亚洲成人激情小说| 久久亚洲AV无码精品色午夜麻豆| 亚洲一区二区高清| 免费无码又爽又刺激毛片| 999国内精品永久免费视频| 免费萌白酱国产一区二区三区| 美女露隐私全部免费直播| 亚洲一区二区三区亚瑟| 久久夜色精品国产亚洲AV动态图 | 亚洲春色在线观看| 亚洲精品成人网站在线观看| 亚洲成av人片天堂网老年人| 韩国免费三片在线视频| 67194熟妇在线永久免费观看 |