亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Servlet傳送對象給Applet使用

2019-11-18 11:56:39
字體:
來源:轉載
供稿:網友

  需求是這樣的:他想通過頁面上一個Applet呼叫一個服務器Servlet,而從Servlet產生
  一個java對象再傳給另外一個Applet,怎么樣讓Servlet實時地把對象傳給Applet這是一個問題,有一個方
  案是采用JMS(JavaMessageService),在我以后的文章中會有敘述的.這里我給大家展示一個簡單的實現,那
  就是讓Applet主動訪問Servlet,讓Servlet返回Java對象.下面給出全部代碼和配置,其中Applet部分涵蓋
  了javascript與Applet的互相調用,對于該部分不感愛好的朋友可以復略.
  <pre>
  第一步,編寫需要傳遞的對象類
  /**
  * Class Person just a demo for translate this class to client
  * @author: rookie
  * @datetime: 2002-7-26
  */
  package exapplet;
  import java.io.*;
  
  public class Person implements Serializable {//必須實現Serializable接口才能序列化
  PRivate String m_Name;
  private int m_Age;
  
  public Person() {
   this("",0);
  }
  public Person(String name,int age) {
   this.m_Name = name;
   this.m_Age = age;
  }
  public String getName() {
   return m_Name;
  }
  public int getAge() {
   return m_Age;
  }
  
  //Serializable接口中聲明的方法
  private void writeObject(java.io.ObjectOutputStream out)
    throws IOException {
   out.defaultWriteObject();
  }
  
  //Serializable接口中聲明的方法
  private void readObject(java.io.ObjectInputStream in)
    throws IOException, ClassNotFoundException {
   in.defaultReadObject();
  }
  
  public static void main(String[] args) {
   try {
   Person p = new Person("Liaoyuan",25);
   ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File("test.obj")));
   oos.writeObject(p);
   oos.close();
   ObjectInputStream ois = new ObjectInputStream (new FileInputStream(new File("test.obj")));
   Person q = (Person)ois.readObject();
   ois.close();
   System.out.println(q.getName());
   System.out.println(q.getAge());
   } catch(Exception eXP) {
   exp.printStackTrace();
   }
  }
  }
  
  
  第二步,實現Servlet
  package exapplet;
  import java.io.*;
  import javax.servlet.*;
  import javax.servlet.http.*;
  
  public class MyServlet extends HttpServlet
  {
  public void doGet(HttpServletRequest req,HttpServletResponse res)
   throws ServletException,IOException
  {
   String fPath = "H://XSchool//WorkingRoom//exapplet//src//java.obj";
  
   String act = req.getParameter("Action");
   if ( act.equals("UpdateObject") ) {
   //創建更新JavaObject
   Person p = new Person("Liaoyuan",26);
   ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(new File(fPath)));
   oos.writeObject(p);
   oos.close();
   DataOutputStream dos = new DataOutputStream(res.getOutputStream());
   dos.writeBytes("Server Java Object Updated OK!");
   dos.close();
   } else if ( act.equals("GetObject") ) {
   //傳回對象給Applet
   res.setContentType("application/octet-stream");
   Person p;
   ObjectInputStream ois = new ObjectInputStream(new FileInputStream(new File(fPath)));
   try {
    p  = (Person)ois.readObject();
   } catch (ClassNotFoundException e) {
    p = new Person();
   }
   ois.close();
   
   ObjectOutputStream oos = new ObjectOutputStream(res.getOutputStream());
   oos.writeObject(p);
   oos.close();
   }
  }
  public String getServletInfo()
  {
   return "A simple Servlet!";
  }
  }
  
  
  第三步,實現呼叫Servlet更新對象的Applet
  package exapplet;
  import java.awt.*;
  import java.applet.*;
  import java.io.*;
  import java.net.*;
  import netscape.Javascript.*;
  
  public class MyApplet extends java.applet.Applet
  {
  public void init()
  {
  }
  public void paint(Graphics g)
  {}
  
  //This method will be call in Html
  public void invoke() {
   try {
   URL url = new URL("http://rookie:8080/workingroom/exapplet/PostToApplet?Action=UpdateObject");
   URLConnection urlcon = url.openConnection();
   urlcon.connect();
   
   DataInputStream dis=new DataInputStream(urlcon.getInputStream());
   String txt = dis.readLine();
   dis.close();
   
   String[] info = new String[]{txt};
   JSObject.getWindow(this).call("alert",info);
   } catch (Exception e) {
   }
  }
  }
  
  
  第四步,實現提取對象的Applet
  package exapplet;
  import java.awt.*;
  import java.applet.*;
  import java.io.*;
  import java.net.*;
  import netscape.javascript.*;
  
  public class MyAppletB extends java.applet.Applet
  {
  public void init()
  {
  }
  public void paint(Graphics g)
  {}
  
  //This method will be call in html
  public void invoke() {
   try {
   URL url = new URL("http://rookie:8080/workingroom/exapplet/PostToApplet?Action=GetObject");
   URLConnection urlcon = url.openConnection();
   urlcon.connect();
   ObjectInputStream ois=new ObjectInputStream(urlcon.getInputStream());
   Person p = (Person)ois.readObject();
   ois.close();
   String[] info = new String[]{"Person Info/n/n-Name: "+p.getName()+"/n-Age : "+p.getAge()};
   JSObject.getWindow(this).call("alert",info);
   } catch (Exception e) {
   }
  }
  }
  
  第五步,配制WebServer(我用的是Tomcat4.0)
  拷貝編譯后的MyServlet.class到相應目錄下,
  編輯對應的web.xml文件,確保下面的內容正確
  <?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
  <web-app>
  <servlet>
      <servlet-name>PostToApplet</servlet-name>
      <servlet-class>exapplet.MyServlet</servlet-class>
    </servlet>
  
  <servlet-mapping>
      <servlet-name>
        PostToApplet
      </servlet-name>
      <url-pattern>
        /exapplet/PostToApplet
      </url-pattern>
    </servlet-mapping>
  </web-app>
  
  第六步,編寫html文件
  呼叫更新的html
  <HTML>
  <HEAD>
  <TITLE> New Document For Using Applet Call Servlet Update Java Object</TITLE>
  </HEAD>
  
  <BODY>
  Hello This is a Test!<br>
  <APPLET id="obj_applet" align=center code="exapplet.MyApplet" codeBase="." width=400 height=300 name="obj_applet" archive="BV7RFD3P.ZIP"></APPLET>
  <Input type=button value="CallAppletMethod" onclick="callApplet()">
  <Script language=javascript>
  function callApplet()
  {
  obj_applet.invoke();
  }
  </Script>
  </BODY>
  </HTML>
  
  提取對象的html
  <HTML>
  <HEAD>
  <TITLE> New Document For Using Applet </TITLE>
  </HEAD>
  
  <BODY>
  Hello This is a Test!<br>
  <APPLET id="obj_applet" align=center code="exapplet.MyAppletB" codeBase="." width=400 height=300 name="obj_applet" archive="BV7RFD3P.ZIP"></APPLET>
  <Input type=button value="CallAppletMethod" onclick="callApplet()">
  <Script language=javascript>
  function callApplet()
  {
  obj_applet.invoke();
  }
  </Script>
  </BODY>
  </HTML>
  </pre>

上一篇:我學swing的故事

下一篇:AWT和Swing的概述

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一二美女精品欧洲| 国产综合色香蕉精品| 亚洲国产美女久久久久| 这里只有精品视频| 中文欧美日本在线资源| 日韩亚洲成人av在线| 久久精品色欧美aⅴ一区二区| 日韩欧美a级成人黄色| 欧洲成人免费aa| 国产亚洲欧美视频| 亚洲精品欧美一区二区三区| 欧美日韩福利视频| 爽爽爽爽爽爽爽成人免费观看| 福利视频第一区| 亚洲成人精品久久| 国产成人精品午夜| 国产精品h在线观看| 精品国产91乱高清在线观看| 欧美麻豆久久久久久中文| 亚洲综合中文字幕在线| 欧美视频在线看| 国产视频在线观看一区二区| 欧美激情精品久久久久| 免费91麻豆精品国产自产在线观看| 亚洲第一区在线观看| 欧美日韩在线观看视频小说| 中文字幕av日韩| 免费91麻豆精品国产自产在线观看| 欧美成人网在线| 中文字幕av一区中文字幕天堂| 国产精品成人品| 国产成人精品免高潮费视频| 不卡在线观看电视剧完整版| 国产日本欧美视频| 久久频这里精品99香蕉| 成人国产精品色哟哟| 黑丝美女久久久| 欧美成人亚洲成人| 久久99精品国产99久久6尤物| 欧美色另类天堂2015| 国产日韩在线免费| 国产精品视频网址| 国产日韩中文字幕在线| 欧美国产日韩xxxxx| 国产69精品久久久久9| 国产精品福利无圣光在线一区| 亚洲国产高清福利视频| 国产精品黄页免费高清在线观看| 亚洲一区制服诱惑| 久久理论片午夜琪琪电影网| 亚洲电影免费观看高清完整版在线观看| 一夜七次郎国产精品亚洲| 亚洲专区在线视频| 亚洲成人a**站| 91亚洲精品在线| 欧美精品18videos性欧| 欧美裸体xxxx极品少妇| 日韩免费看的电影电视剧大全| 欧美成人在线影院| 成人免费视频在线观看超级碰| 国产一区二区三区视频免费| 亚洲国产欧美一区二区丝袜黑人| 日韩成人av网址| 色婷婷综合久久久久中文字幕1| 亚洲精品美女久久久久| 久久久精品欧美| 亚洲自拍欧美色图| 一区二区三区国产视频| 国产极品jizzhd欧美| 欧美日韩一区二区三区| 91欧美精品午夜性色福利在线| 成人免费视频在线观看超级碰| 91av网站在线播放| 国产精品久久久久久av下载红粉| 亚洲国产成人精品久久久国产成人一区| 欧美一区二区三区图| 精品呦交小u女在线| 国产精品第3页| 亚洲精品国产精品自产a区红杏吧| 国产精品成人va在线观看| 日韩av综合中文字幕| 国内免费久久久久久久久久久| 日韩中文在线观看| 欧美精品videos另类日本| 国产亚洲人成a一在线v站| 亚洲嫩模很污视频| 久久国产精品影片| 91精品中国老女人| 国产精品色悠悠| 精品少妇一区二区30p| 亚洲人成欧美中文字幕| 美女av一区二区三区| 日韩欧美成人免费视频| 日韩在线视频一区| 国产日韩欧美在线观看| 国产成人av网址| 久久精品一本久久99精品| 久久久中精品2020中文| 国产在线精品播放| 日韩小视频在线观看| 日日骚av一区| 55夜色66夜色国产精品视频| 欧美最猛黑人xxxx黑人猛叫黄| 亚洲国模精品私拍| 亚洲v日韩v综合v精品v| 国产精品香蕉在线观看| 国产亚洲精品成人av久久ww| 日本成人免费在线| 这里只有视频精品| 不卡伊人av在线播放| 亚洲国产欧美在线成人app| 中文字幕亚洲综合| 欧美色视频日本版| 国产噜噜噜噜久久久久久久久| 91精品久久久久| 久久成年人免费电影| 久久91精品国产91久久跳| 2024亚洲男人天堂| 精品国产乱码久久久久酒店| 日韩精品高清视频| 隔壁老王国产在线精品| 日韩在线中文字| 国产精品久久久久久久久久久久久久| 亚洲九九九在线观看| 亚洲精品电影网在线观看| 国产精品电影久久久久电影网| 一区三区二区视频| 国产一区二区三区日韩欧美| 国产精品久久久久久久久久| 欧美黑人狂野猛交老妇| 国产一区红桃视频| 日韩精品亚洲视频| 2018中文字幕一区二区三区| 欧美日本国产在线| 一区二区三区视频免费在线观看| 97视频在线观看网址| 成人免费淫片aa视频免费| 欧美www在线| 日韩视频永久免费观看| 亚洲欧洲第一视频| 欧美一级大片在线观看| 亚洲日韩欧美视频一区| 57pao国产精品一区| 日韩在线观看免费全集电视剧网站| 国产69久久精品成人| 日韩在线免费高清视频| 久久久久久久久久av| 国产成人精品日本亚洲| 国产在线观看精品一区二区三区| 亚洲人成人99网站| 日韩中文字幕视频| 国产精品高清免费在线观看| 色av中文字幕一区| 欧美不卡视频一区发布| 亚洲第一精品电影| 亚洲男人的天堂在线| 欧美日韩一区二区免费视频| 久久精品成人动漫| 最近中文字幕mv在线一区二区三区四区| 992tv成人免费影院| 亚洲一区亚洲二区亚洲三区| 国内精品小视频在线观看| 九九热99久久久国产盗摄| 欧美电影免费看|