当前位置:  技术问答>java相关

applet是否可以操作cookie?

    来源: 互联网  发布时间:2015-01-12

    本文导语:  这样实现? | Access Cookies from a Java Applet This Applet uses the package netscape.javascript.JSObject.  To compile such program, you have to include in the CLASSPATH the file java40.jar if you have the Netscape Co...

这样实现?

|
Access Cookies from a Java Applet

This Applet uses the package netscape.javascript.JSObject. 
To compile such program, you have to include in the CLASSPATH the file java40.jar if you have the Netscape Communicator v4 installed or classes.zip for the Microsoft Internet Explorer. Compile with something like javac -classpath 
  .;"program filesnetscapecommunicatorprogramjavaclassesjava40.jar";%classpath% TestCookie.java
 


[HTML file (testCookie.html)] 



 



[Java applet (TestCookie.java)] 

import netscape.javascript.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class TestCookie extends Applet 
    implements ActionListener {
  TextField tf1, tf2;
  Button b1, b2, b3;


  public void init() {
    tf1 = new TextField(20);
    tf2 = new TextField(20);
    
    b1 = new Button("Write Cookie");
    b2 = new Button("Read Cookie");
    b3 = new Button("Delete Coookie");
    
    setLayout(new FlowLayout());
    add(tf1);
    add(tf2);
    add(b1);
    add(b2);
    add(b3);
    
    b1.addActionListener(this);
    b2.addActionListener(this);
    b3.addActionListener(this);
    }
    
  public void actionPerformed(ActionEvent ae) {
    if (ae.getSource() == b1) {
       /*  
       **  write a cookie
       **    computes the expiration date, good for 1 month
       */
       java.util.Calendar c = java.util.Calendar.getInstance();
       c.roll(java.util.Calendar.MONTH, true);
       c.add(java.util.Calendar.MONTH, 1);
       String expires = "; expires=" + c.getTime().toString();

       String s1 = tf1.getText() + expires; 
       System.out.println(s1);
        
       JSObject myBrowser = JSObject.getWindow(this);
       JSObject myDocument =  (JSObject) myBrowser.getMember("document");
    
       myDocument.setMember("cookie", s1);
       }

    if (ae.getSource() == b2) {
       /*
       **   read a cookie
       */
       tf2.setText(getCookie());
       }

    if (ae.getSource() == b3) {
       /*
       **  delete a cookie, set the expiration in the past
       */
       java.util.Calendar c = java.util.Calendar.getInstance();
       c.roll(java.util.Calendar.MONTH, true);
       c.add(java.util.Calendar.MONTH, -1);
       String expires = "; expires=" + c.getTime().toString();

       String s1 = tf1.getText() + expires; 
       JSObject myBrowser = JSObject.getWindow(this);
       JSObject myDocument =  (JSObject) myBrowser.getMember("document");
       myDocument.setMember("cookie", s1);
       }
    }

    public String getCookie() {
      /*
      ** get all cookies for a document
      */
      try {
        JSObject myBrowser = (JSObject) JSObject.getWindow(this);
        JSObject myDocument =  (JSObject) myBrowser.getMember("document");
        String myCookie = (String)myDocument.getMember("cookie");
        if (myCookie.length() > 0) 
           return myCookie;
        }
      catch (Exception e){
        e.printStackTrace();
        }
      return "?";
      }

     public String getCookie(String name) {
       /*
       ** get a specific cookie by its name, parse the cookie.
       **    not used in this Applet but can be useful
       */
       String myCookie = getCookie();
       String search = name + "=";
       if (myCookie.length() > 0) {
          int offset = myCookie.indexOf(search);
          if (offset != -1) {
             offset += search.length();
             int end = myCookie.indexOf(";", offset);
             if (end == -1) end = myCookie.length();
             return myCookie.substring(offset,end);
             }
          else 
            System.out.println("Did not find cookie: "+name);
          }
        return "";
        }
  }
 


    
 
 

您可能感兴趣的文章:

  • Applet问题,applet在tomcat+apache环境下是否支持FileDialog类,急,急 !!!!快来抢分呀!!!!
  • asp 是否 可用applet标签?帮忙!!
  • 请教大家,是否有关于Applet于服务器通信的介绍。
  • CSS属性参考手册 iis7站长之家
  • Applet是否可以调用服务器端的bean,或者是Frame
  • 请问用applet直接连接服务器上的数据库的办法是否安全
  • Applet是否还有用途?
  • html页面如何指向web-inf/classes下的applet。是否使用codebase之类的说明,该如何书写。
  • 用APPLET访问数据库,是否要在客户端安装JDBC驱动
  • java的applet中是否有将一个字符串转为对象处理?如:"Label1"转为Label?
  • 我是否可以在APPLET中加菜单
  • 请问高手,用Swing做的APPLET,浏览器是否一定要安装Plug-in才能看见?
  • 我在客户端运行有些applet时,总是什么也不显示!是否需要安装一个插件?如何配置?谢了!给分
  • JRE 1.4下,如何更改Applet安全性让IE可以支持一个无签名,且有特殊操作的Applet
  • applet如何实现对数据库(access)的操作,征求设计方案。
  • Applet可以操作HTML的元素吗?
  • applet怎样进行文件写入读出操作
  • 怎样设置applet中的操作文件的路径(急)
  • 为什么我的applet不能进行读操作,但是可以调用jni方法?谁能帮我解决一下,万分感谢!!!
  • 一打开包括APPLET的网页,游览器就会报“非法操作”,我用的是WIN98,请问会是什么问题。提示如下》
  • 关于editplus的使用,编译完生成.class后,我又编写了html来执行applet,将其保存,如何经ie解释打开(直接在editplus上操作)不是显示html语言呀
  • applet中如何设置cookie以及如何进行读写操作呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何让IE认识applet所带的数字签名,而不是让证书仓库认识这个带数字签名的applet,就是说不装jdk也可以在IE里面使用带有签名的applet,详情请进
  • 为什么在网页中有的applet可以显示,有的不可以显示 在线等待!!!!!
  • Applet中可以写服务器上的文件吗?
  • applet和javabean之间可以通信吗?
  • applet可以不通过数字签名,通过设置IE直接在本地访问本地文件吗
  • 在redhat9下有哪款浏览器可以运行applet
  • 我想做一个applet的聊天是请问哪里可以找到相关资料或者代码?
  • APPLET 中可以用SWING吗?
  • Java Applet 能否搞得像VB写的控件,可以打印报表呢?
  • 怎么可以网页上按某个键就运行客户端某个应用程序,用applet可以吗???怎么做...救命呀..
  • 难道没有人可以告我如何在applet中使用jni方法吗?
  • 为什么我的applet可以在appletviewer上运行,但不能在ie里运行!?
  • 用com.sun.java.swing 里的japplet 代替 原来的applet是不是可以啊???
  • 怎样截取网页上的applet图形,可以copy到剪贴本或word,excel上?
  • 如何让IE5里面可以看到Applet中的swing控件?
  • Applet与数据库与Servlet的问题,分数不够可以再加
  • 可以用java applet控制网页上的其它元素吗?
  • 在java applet 中可以播放.au格式以外的媒体文件吗?(.wav等)
  • applet和servlet之间可不可以传送对象?
  • 请问 Windows xp 中如何让 Applet 可以执行?
  • java命名空间java.applet类applet的类成员方法: applet定义及介绍
  • 如何让Applet里的控件随着Applet大小改变而一直占满整个Applet呢?
  • java命名空间java.applet类applet.accessibleapplet的类成员方法: applet.accessibleapplet定义及介绍
  • 对applet坐数字签名后,如果重新用jar对applet打包,需要重新做applet数字签名吗?
  • java命名空间java.applet类applet的类成员方法: getappletcontext定义及介绍
  • 为什么我的applet编译完,之后除了applet1.class之外,还有一个applet$1.class?
  • java命名空间java.applet类applet的类成员方法: getappletinfo定义及介绍
  • 急,我想问一下调用一个对话框的命令语句,比方说我已建立了一个Applet2,接下来该如何在Applet1中点击一个按钮来打开这个Applet2.谢谢
  • java命名空间java.applet类applet的类成员方法: isactive定义及介绍
  • 请问application (or applet)如何实现对applet 小程序的调用??
  • java命名空间java.applet类applet的类成员方法: stop定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3