sharky的点滴积累

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  56 随笔 :: 104 文章 :: 10 评论 :: 0 Trackbacks

#

Eclipse的WTP Project发表了最新的两个Tutorial。 一个是来自于IBM developerWorks的 Building Web Applications with Eclipse, WTP, and Derby,介绍如何使用WTP来开发Derby应用程序(Derby是IBM贡献个Apache的一个源码开放的数据库系统,它的商用版本就是IBM Cloudscape)。 另一个是Building a CMP Based School Schedule Web Application,介绍了如何使用WTP,JBoss和XDoclet开发一个基于CMP的EJB项目。 这两个都可以作为学习WTP不错的教材。
摘至kukooBlog
posted @ 2005-10-04 20:54 sharky的点滴积累 阅读(158) | 评论 (0)编辑 收藏

 How do I make SWT show the Windows XP skins?
A: In order for an application to show the Windows XP skins, there must be a manifest file located in the same place as the executable that launches the application. Here is a sample manifest file to download.

The name of the manifest file must match the name of the executable. In the case of eclipse, the executable is javaw.exe and the manifest file must have the name javaw.exe.manifest. The manifest file must be in the jre\bin folder for the VM you use to launch Eclipse. Note: the eclipse.exe executable does not launch Eclipse; eclipse.exe displays a splash screen and then invokes the Java VM.

文件:
javaw.exe.manifest
摘至 The SWT  FAQ
原来的eclipse样子
eclipse02.jpg


更改后的样子,注意按钮的样式的变化
eclipse01.jpg


一定要记得javaw.exe.manifest放在eclipse.VM环境变量的javaw的目录下
也可以使用类似的办法,不过,要把javaw.exe.manifest拷贝为java.exe.manifest才可以.
posted @ 2005-10-04 20:49 sharky的点滴积累 阅读(318) | 评论 (0)编辑 收藏

今天查找有关编辑器的问题,找到两档不错的文本编译器,提供联想功能而且小巧,都才1-2M,第一个是PHP Designer 2005,另一个是HTMLGate FREE,PHP Designer好像快发布2006版本。想来这个PHP编辑器不错。感觉比Editplus强大许多。当然最重要的一点,这些都是免费的。(:
缺点:占用系统资源虽然不是很多,但是更EditPlus比起来,呵呵还是多了点。个人觉得就HTML/JS编辑,Editplus还是经典许多。

MPS HTMLGate  HTMLGate

Snap1.jpg

[翻译摘录]
      最高效而强大的网页编辑器,不管是经验丰富的网页专家,还是一个网站制作新手。
会帮助你在最短的时间内,作出完美的网站。
      语法支持的优秀代码特性能帮助你快速创建编辑并发布HTML,4HTML 4, XHTML 2, JavaScript 1.2, VBScript, DHTML, CSS 2.0, PHP 5, ASP, XML, JSP, SSI, WML 1.1, HDML 3.0, SMIL, PERL, SQL 和 WebTV网页。
       所建即所得的特性值得关注,任务面板包含了七种不同代码库,包括标签库,工程管理,两个文件浏览器,HTML分析器和其他实用的任务工具。
       这款编辑器还支持自己定义界面和属性,比如XP风格。
      下载地址:HTMLGate FREE
       如果官网不能下,搜下,很多网站提供下载

PHP Designer 2005

预览界面
Snap2.jpg

[翻译]
特性:1.支持PHP, HTML, XHTML, CSS, Perl, C#, JavaScript, VB, Java and SQL (Ingres, Interbase, MSSQL, MySQL, Oracle, Sybase 和 标准SQL的语法高亮支持,最重要的是支持PHP的编译和调试,方便许多。
           2.还有自动缩进,参数提示,代码/脚本访问,PHP在线指南等功能
           3.提供FTP管理器,工程管理器,文件管理器,任务标签管理器,代码模板,片断管理,多文件格式导出(LaTex,HTML,RTF...)
           4.提供18种编辑器界面主题风格。
            5.此软件免费
下载地址:PHP Designer 2005

我想要写PHP代码的朋友可以试试,应该的蛮爽的。

 

posted @ 2005-10-04 18:14 sharky的点滴积累 阅读(1487) | 评论 (0)编辑 收藏

      这个插件很早就装上了,装的时候用了一下,能直接访问数据库,进行SqL数据库操作,先前装了jfacedbc,感觉一摸一样,刚开始怀疑是同一个东东。一个SQL浏览器。

介绍SQLExplorer的使用文章 Onjava上的,Matrix的中文翻译

SQlExplorer的主页

大胃的SQLExplorer的介绍

posted @ 2005-10-03 23:09 sharky的点滴积累 阅读(231) | 评论 (0)编辑 收藏

插件名称:JSEclipse
插件分类:Editor
插件版本:1.1.0
插件主页:http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/
插件介绍:JSEclipse是个Eclipse下的免费Javascript脚本编辑器,最大的特点就是对js的自动完成功能非常完美,支持普通DOM对象的点取,如document对象,screen对象,这些对象都是通过外置的xml文件配置进行工作的,所以用户完全可以根据自己需要配置更详细的DOM对象的xml文件。除过基本的DOM对象支持外,JSEclipse对js文件内的Class和Function也能完美地支持自动完成,看我的截图。这个插件还支持JavaDoc的编辑时自动完成,不过我一般都在用MyEclipse套件,所以这个功能对我到意义不大。除过自动完成功能外,该插件还支持JS的语法高亮,错误和警告提示等等,我已经把js文件默认打开方式选择为JSEclipse了,MyEclipse那个太慢了,唯一遗憾的就是没有调试功能,希望下一个版本把javascript脚本调试加入进来,这样才算是一个真正意义上的js开发插件。
该插件支持Eclipse 3.X,不过得需要JRE1.5。如果你在安装此插件前还安装了WTP、MyEclipse等插件,请更改.js文件的默认打开方式为JSEclipse才能启用这个插件。
点选自定义类的属性和方法
posted @ 2005-10-03 22:33 sharky的点滴积累 阅读(279) | 评论 (0)编辑 收藏

今天国庆黄金周过了3天了,今天做了终于把简历做好了,还差一个大项目没加
JSP看到内置对象了,继续努力

posted @ 2005-10-03 19:41 sharky的点滴积累 阅读(144) | 评论 (0)编辑 收藏

      网上关于String类一些有关问题的讨论很多,在这里自我总结一下。希望对刚开始学Java的朋友一对帮助。

【问题一:字符串的引用比较问题】
先看个例子,大家预测下结果:
例1
package base;

public class StringTest
{
    public static void main(String[] args) 
   {
    String A = "test";
    String B = "test";
    String C = new String("test");
    String D = new String("test");
    System.out.println("A==B?" + (A == B));
    System.out.println("C==D?" + (C == D));
    System.out.println("C==A?" + (C == A));
    System.out.println("C equals D?" + (C.equals(D)));

  }
}

运行结果:
A==B? true
C==D?false
C==A?false
C equals D?true

几点认识:

1.引用之间的“=="操作符,表示比较两边引用是否相等,即是否指向同一个对象。
2.对于"String A = "test""这样建立的字符串对象,如果在下次"String B = "test"",如果内容一样,JVM就不会在创建新的对象,而是简单地把新的引用指向已经存在的对象(编译时)。(即便是在不同的包中)
3.String.equals(String)是比较字符串的内容。

理解这几点,通过分析,很快得出上例结果。
这里再给出个例子
例2.

String s1 = "I love Java";
String s2 = "I love ";
String s3 = "Java";
String s4 = s2 + s3;
String s5 = "I love "+"Java";

if (s1 == s4) System.out.println("yes");
else System.out.println("no");

if (s1 == s5) System.out.println("yes");
else System.out.println("no");

运行结果:
no
yes

分析:s2+s3虽然其内容也是"I love Java",但是s4 的值是运行后出来的,不是编译的时候。JVM只是把编译时 "=" 方式创建的 String 对象优化为内容相同时指向相同的对象实体。而当一个字符串由多个字符串常量连接而成时,在编译期就解析为一个字符串常量。s5就是这样,自然打出"yes"。
        有的说String+String中的"+"时JVM自动重载的,用于连接字符串,String s1="java"是对"="的重载,重载为创建一个对象,并把对象地址赋给引用。本质是一样。




----------------------------------
【问题二:Java的参数传递问题】
引出:论坛上一个朋友提出的一道华为的面试题:

例3:
package test;

public class TestString {
public TestString() {
}

public static void main(String[] args) {
String s=new String("Hello");
modify(s);
System.out.println("s = "+s);
}

public static void modify(String s)
{
s+="world";
}
}


运行结果:
s = Hello
为什么是输出Hello,而不是Helloworld?谢谢

------------------------

首先要确认的几点认识:
1.引用不是对象,它没有属性和方法,而是指向某一个对象的变量,跟基本数据类型的变量意义一样。(引用是C中指针的隐藏化)

例4:
             String a ="Hello World";
            String b =a;

分析:a,b是不同的引用变量,但是都是指向同一个对象,即对象"String World"。a,b都是存放了同一个对象的地址,而这个地址指向内存域存放的是"Hello World".

2.Java中的参数传递都是值传递,都是拷贝式的,基本数据类型是这样,不用多说,当传入的参数是一个对象的引用时,也时值传递,只不过传递的"值",非对象本身,而是对象杂在内存中的地址。
       所以在例1中:modify(String s)的"s"得到是String s=new String("Hello")中的"s"的引用值拷贝.

3. String是常量性的,看看JDK文档里面怎么说String的吧,“Strings are constant; their values cannot be changed after they are created. String buffers support mutable strings. Because String objects are immutable they can be shared”。String的内容是无法改变的,如果需要改变,要考虑用StringBuffer。

例5:
         1、 String s = "Hello";
         2、 String s1 = s;
         3、 s1 += "World!";

分析:
      1->2步:s1和s这两个引用,都指向同一个字符串对象"Hello",此时有2个引用,1个对象
     第3步:   由于String的不可更改性,所以“+=”操作后面操作是:返回一个新的字符串"HelloWorld",并把这个新的字符串的地址给引用s1,而引用s仍然引用原来的"Hello"。
此时,有2个引用("s","s1"),两个字符串对象("Hello","HelloWorld")。大家要记住:String的值的改变其实是创建一个新的String对象.
 即:
            s1 += "World!";

           s1 = new String("HelloWold")
语义上是等价。

何为语义?   简单的说就是”你这条语句背后到底让编译器做了些什么?“

这里在提及一个例子
例6.

public class Test
{
  StringBuffer a ;
  public static void main(String[] args)
  {
   Test test = new Test();
   test.a = new StringBuffer("Hello");
   test.test(test.a);
   
   System.out.println("a is "+ test.a);
   
  }
  
  public  void test(StringBuffer strbuf)
  {
   strbuf.append("World");
   System.out.println(strbuf == a);

  }

运行结果:

true
a is HelloWorld

         那这里"strbuf==a",怎么又为true了呢,并且"a is HelloWorld"了,按上面的道理,不是不会修改数据源吗?注意我们这里运用的是StringBuffer,不同于String,它能修改自己的内容。test方法中传入的strbuf引用的值为a引用值的拷贝值,但是strbuf.append("World")这句话,是通过引用的值,修改了该值指向对象的内容,a可以调用append修改,strbuf自然也可以。所以,最后打印出a的值是strbuf修改后的对象的值。好比往test方法中传入的一个可以操作a所指对象的"句柄",可以让方法里的代码操作目的对象。

         如果理解上面几点,理解起来例3为什么是"Hello",我想就比较容易了。
所以通过这个问题,也告诉我们,在学习语言基础的时候,不光要读懂这个语句怎么写,更应该通过现象看本质,了解语句背后编译器做了些什么,尤其是内存分配上的操作。虽然Java淡化了内存有关的概念,但是了解更多机制,会帮我对计算机编译代码的了解更深一个层次。

-------------------------------

相关问题的参考:
http://www.ideagrace.com/html/doc/2005/09/19/00626.html

http://www.matrix.org.cn/thread.shtml?forumId=1&topicId=1142&page=1

http://www.matrix.org.cn/thread.shtml?forumId=1&topicId=27155&page=1

posted @ 2005-10-02 12:17 sharky的点滴积累 阅读(314) | 评论 (0)编辑 收藏

一朋友提出的JSP中的上传问题:
有空研究下

posted @ 2005-09-27 21:16 sharky的点滴积累 阅读(157) | 评论 (0)编辑 收藏


  发现中文无法正常显示。要么乱码,要么出错。
  经网友提醒,总结了以下几条方法。
  1:修改区域设置:在控制面版中选择区域设置,设为英语(美国)?nbsp;
    然后重起。一切就都正常。
  2:在jsp页中加入一条语句:
    <%@ page contentType="text/html;charset=gb2312" %> ?
    琷sp显示就正常了。
  3:在编译servlet和jsp时加入代码选项。编译servlet使用
    javac -encoding iso8859_1 myservlet.java
    在jsp的zone配置文件中.修改编译参数为:
    compiler=builtin-javac -encoding ISO8859_1
   使用这种方法后,不需要作其他的改动就可以正常显示中文了。
  4:最土的办法,在servlet源程序中加入代码变换语句。如
    try{
    out.println(new ( (new String("我爱死你了")).getBytes("GBK"),"ISO8859_1"))
    }
    catch( UnsupportedEncodingException e)
    {
    .......
    }
    使用这种方法一定要注意捕获UnsupportedEncodingException
posted @ 2005-09-27 20:00 sharky的点滴积累 阅读(145) | 评论 (0)编辑 收藏

仅列出标题
共6页: 上一页 1 2 3 4 5 6 下一页