`
skzr.org
  • 浏览: 366072 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

终于忍受不了Applet的调试了

阅读更多

最新版本见 Eclipse远程调试java

 

^ ^

 

总结:

1 凡事都存在联系——平时无意中的动作,平时要多点点,看看,反正闲着也是闲着: )

2 试——以前抱怨客户不会用我们的软件,今天发现如果软件不是自己制作的那么当然不会知道第四步的了,否则还会到网络上去找,不过我看网络上的好像都是针对attach的,也是我的运气好了,否则可能我会认为远程调试只会是一种了,另外一种就不会去思考了,看来提示信息很重要,以后做软件的时候能够多提示的多提示

3 深入了解——需要多了解,搜索后才知道原来是JPDA

看来j2ee还有很多东西需要学习啊。。。兴奋中。。

 

--->下面的内容请不要看了直接到:  Eclipse远程调试java


 

 

 

今天终于忍受不了不断的关闭打开浏览器调试Applet 了,想方法可以调试applet 就好了!

一直忍受着这个,今天决定动手干了!

  笔者的环境是Eclipse3.4Myeclipse7.0M2(^ ^ 序列号嘛。。。)

原理:一直使用着myeclipse 提供的tomcat ,里面有个配置项为launch 中有个debugrun ,一直觉得调试java 肯定是可行的!(依稀记得jdk 中允许一个叫做远程调试的功能,今天就可以试验了)

 

图1 tomcat的Launch设置面板

Debug mode Run mode 的差别如图

 

图2 tomcat不同启动模式的差异

红色方框中的只有 debug mode 时才会出现,相信大家都用过 debug 透视图,这里的方框里面有些什么内容都比较清楚就不多说了,下面开始分析他们的差异:

 

首先明确:

1 方框内的就是一个调试器( ^ ^ 有时候会遇到什么主机连接失败,就会发现方框内的都会消失,这个时候就无法监控 tomcat 了,所以方框内应该是一个监视器)

2 方框下的应该就是真实的 tomcat 的运行了

 

步骤:

1 首先收集不同模式下的 tomcat 启动命令差异,可以直接点方框下面的然后右键查看 properites 菜单,找到启动命令,然后寻找他们的差异:

  差异: debug 模式多了一些参数 ^ ^ 如果贴出来太长了,我就只列出来差异的部分了

-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:1982

结论: 我想应该就是这几个参数开启了 debug

 

2 分析监视程序的命令,方法同上,察看红框框的 javaw 的启动命令找到关键点:

-agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:1982

 

发现 1 2 的命令行完全一样,郁闷了,直接复制他们了到命令行运行程序,修改 javaw java 运行,没有用抱错,郁闷 ) : 先放放再说

 

开始试验:

1 添加参数到 applet 启动项 (window-> 控制面板 ->java 控制台 )

添加: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:888

2 怎样连接上去呢,不知道了,幸亏以前对于 eclipse 什么都喜欢点点,也喜欢浏览各个菜单有些什么选项。很久以前调试 ejb 的时候无意中看到这个选项随意查过,就试一下了。

按照以下步骤操作:

 

图3 Eclipse的远程调试设置

 

注意第四步,我刚开始的时候选择的是 Standard(Socket Attach) ,发现打开 IE 后怎么也连接不上,运行就报错(今天(2008-10-26)发现在Linux下连接类型只有选项Socket Attach方式,而没有监听方式了 注:MyEclipse6.5环境)

后来仔细看了后选择了 Socket Listen ,看意思就知道是监听,所以。。。运行 Applet 就进入了调试模式了,终于可以调试 Applet 了!

 

问题:应该选择 Socket Attach 也可以调试,为什么不能够呢?

Google 了下 jvm 远程调试,一下就找到了一个参数:

-Xdebug -Xrunjdwp:transport=dt_socket,address=888,server=y,suspend=n

具体参看: http://hi.baidu.com/widebright/blog/item/fb4c3b12e81ad455f819b825.html 文章

按照以上的参数,在上面的远程调试时的第四步时选择 Socket Attache ,就可以连接上 applet 的程序了,不过你会发现 Socket Listen 无法正常运行了。

 

呵呵,终于可以调试 Applet 了一个字爽。

 

^ ^

 

总结:

1 凡事都存在联系——平时无意中的动作,平时要多点点,看看,反正闲着也是闲着: )

2 试——以前抱怨客户不会用我们的软件,今天发现如果软件不是自己制作的那么当然不会知道第四步的了,否则还会到网络上去找,不过我看网络上的好像都是针对attach的,也是我的运气好了,否则可能我会认为远程调试只会是一种了,另外一种就不会去思考了,看来提示信息很重要,以后做软件的时候能够多提示的多提示

3 深入了解——需要多了解,搜索后才知道原来是JPDA

看来j2ee还有很多东西需要学习啊。。。兴奋中。。。

下面的是广告:

全牛皮!不一样的感觉~素面爆款~直筒靴子!

  • 描述: Eclipse的远程调试设置
  • 大小: 80.5 KB
  • 描述: tomcat不同启动模式的差异
  • 大小: 14.3 KB
  • 描述: tomcat的Launch设置面板
  • 大小: 34.6 KB
2
2
分享到:
评论
2 楼 skzr.org 2008-10-11  
作为业务处理,服务器的延伸!
1 介于浏览器和服务器之间的信息访问器(通讯模块Applet+J2SE的容器(当前使用Spring来存储和缓存客户个性化数据或者服务器传递的消息数据))
2 开发Eclipse的RCP时,直接使用1中开发的信息访问器即可实现与服务器的通讯

说白了就是希望能够实现一个IE或Eclipse RCP或者Swing作为Client的时候他们与服务器进行交互时的一个中间模块,基本实现跨Client的业务前端!

呵呵,就是时间不够!
1 楼 metaphy 2008-10-09  
现在似乎很少有人在做Applet吧?楼主用applet在哪方面?

相关推荐

    Applet

    例如,Applet不能随意调用其他程序、进行文件读写、加载本地库或与非提供Applet的主机建立socket连接。这些限制确保了用户在浏览网页时的安全性。 Applet的生命周期包括了四个关键方法:init(), start(), stop()和...

    java的applet实例

    - 由于Applet运行在用户机器上,为了安全考虑,Java插件会限制Applet的权限,例如不能访问本地文件系统,除非用户明确授权。 - Applet可以使用`signed`方式签名,以获取更多的系统权限,但这样可能会带来安全风险...

    Applet小游戏 Applet小游戏 Applet小游戏

    Applet是Java类的子类,通常是`java.applet.Applet`或其子类,如`javax.swing.JApplet`。它们通过`<applet>`标签或者`<object>`标签在HTML页面中被引用,从而在客户端(用户的浏览器)中执行。Applet的生命週期包括...

    java applet实例讲解

    4. 使用`main()`方法创建Applet的测试容器,这在开发和调试时非常有用。 5. 在HTML文件中嵌入Applet,指定其类名和参数。 例如,一个简单的Hello World Applet可能如下所示: ```java import java.awt.*; import ...

    javaApplet习题.pdf

    * Applet 可以使用 appletviewer 工具来测试和调试。 * Applet 可以使用 Java SDK 中的开发工具来开发和调试。 八、Applet 的优点和缺点 * Applet 的优点包括交互性、动态性、跨平台性等。 * Applet 的缺点包括...

    Java Applet 入门教程

    Java Applet 是一种基于Java平台的小程序,它可以在支持Java的Web浏览器中运行,为用户提供交互式的用户体验。在20世纪90年代中期,Java Applet是互联网上动态内容的一种流行方式,允许开发者创建可嵌入网页的动态...

    WEB中Applet找不到class的问题

    然而,开发和部署Applet时,开发者经常会遇到“找不到class”的问题,这通常是由于类路径配置不当或者文件组织结构错误导致的。本文将详细讲解如何解决这两种常见情况。 **第一种情况:Applet类不在任何包中** 当...

    JDK工具appletviewer详解

    总结来说,appletviewer是Java开发中不可或缺的工具,它使得开发者能够独立于Web环境测试和调试Applet。通过了解其工作原理、使用方法以及如何结合源码进行分析,可以有效地提高开发效率和代码质量。然而,随着Java ...

    Applet网页游戏开发

    6. **测试与调试**:使用Java Applet Viewer或通过Web服务器来预览和调试Applet游戏。 7. **安全考虑**:由于Applet运行在客户端的浏览器中,所以必须遵循严格的沙箱安全模型,限制了访问本地资源的能力。开发者...

    java applet程序案例

    6. **安全性限制**:由于Applet是在客户端运行,出于安全考虑,Java虚拟机(JVM)对Applet施加了一些限制,比如不能直接访问本地文件系统或网络资源,需要使用特定的API如`javax.swing.JFileChooser`来获取用户许可...

    javac命令以及appletviewer命令使用

    appletviewer是Java自带的一个工具,用于测试和调试Java Applet程序。它可以通过命令行方式直接加载HTML文件中的Applet并运行。 **2. 使用示例** 假设有一个HTML文件`AAA.html`,其中包含了对`a.class` Applet的...

    applet例子

    未签名的applet受到安全沙箱的限制,不能访问本地文件系统或网络资源,而签名的applet可以请求更多的权限。 **创建和运行Applet** 1. **编写代码**: 创建一个新的Java类,继承自`Applet`类,并覆盖生命周期方法。...

    在Java Applet中实现动画.rar_applet_java Applet

    Java Applet是Java技术在Web浏览器中运行的一种小程序,它为网页添加了交互性和动态性。本教程将探讨如何在Java Applet中实现动画效果,让网页内容更加生动有趣。 首先,理解动画的基本原理至关重要。动画是通过...

    java applet 简单案例

    Java Applet是Java技术在早期Web开发中的一种应用方式,它允许开发者在浏览器中嵌入可执行的小程序,为用户提供动态交互的Web页面体验。这个简单的案例将带你深入理解Java Applet的基础概念、工作原理以及如何创建和...

    applet与servlet通讯

    虽然熟悉 Applet 和 Servlet 设计与编程会有所帮助,但在这里我们将简要介绍这两个概念,以便不熟悉它们的读者也能理解。 **Applet** Java Applet 是在网页中运行的 Java 程序。它们是扩展自 `java.applet.Applet` ...

    JavaApplet实例及教程

    Java+Applet实例讲解(分为1和2两部分)、Java+Applet实例编程、java+Applet登录、JavaApplet教程.pdf、JAVA_applet应用实例.ppt、JavaApplet编程技巧实例专辑、javaapplet例子.doc、Applet类.doc等教程。...

    Applet Debug

    【Applet Debug】是指在开发Java Applet时进行远程调试的技术。Applet是一种小型的Java程序,可以在Web浏览器中运行,但开发过程中可能会遇到各种问题,此时就需要进行调试。远程调试使得开发者能够在本地环境中对...

    Applet程序,含有未解决的问题

    开发者可能需要借助日志、JVM调试工具或者特殊的Applet调试器来定位问题。 7. **性能问题**:Applet运行在客户端,如果代码编写不当,可能会导致性能下降,比如过多的内存占用、线程管理不当等。 8. **用户界面...

Global site tag (gtag.js) - Google Analytics