2006年7月24日

二进制

int   i=8;     //测试数据  
String   s   =   String.valueOf(Integer.toBinaryString(i));     //int   to   binary  
System.out.println(s);   
         
String   ss   =   "11";   
int   ii   =   Integer.parseInt(ss,2);  
//binary   to   int,parseInt中2代表2进制,可使用2,8,10,16不同参数   
System.out.println(ii);  

posted @ 2006-10-27 16:01 国强 阅读(302) | 评论 (0)编辑 收藏

js 日期验证

if(!checkDateEarlier(editForm.startTime.value,editForm.endTime.value,0))
  {
   alert("起始日期不能大于结束日期");
   return false;
  }

posted @ 2006-10-25 16:25 国强 阅读(852) | 评论 (1)编辑 收藏

tomcat配置c390

配置oracle10g(要下载ojdbc14包--是jdbc for oracle10g)

连接池(c3p0)的包的下载地址:

http://sourceforge.net/projects/c3p0

上下文路径的xml文件内容如下:

<Context path="/test" reloadable="true" docBase="E:\project\test" workDir="E:\project\test\work" >
<Resource auth="Container" description="DB Connection" driverClass="oracle.jdbc.driver.OracleDriver"
 maxPoolSize="10" minPoolSize="1" acquireIncrement="1" name="jdbc/oracle10g" user="test" password="test"
 factory="org.apache.naming.factory.BeanFactory" type="com.mchange.v2.c3p0.ComboPooledDataSource"
 jdbcUrl="jdbc:oracle:thin:@192.168.1.86:1521:orcl" />
</Context> 

注意:tomcat5.0和tomcat5.5系列的差别:

参数都相同;只是xml的格式不一样;

5.0是分开写;5.5是写在一个里.

posted @ 2006-10-19 15:03 国强 阅读(556) | 评论 (2)编辑 收藏

SWT中的Dispose操作法则

法则一:如果你创建了他,那么就要释放他
在本章节的前一部分,你知道了创建SWT控件,相应的本地控件也被创建了。也就是说,调用了SWT的构造函数,底层的本地资源也被创建了。所以如果你写下如下代码,那么你就创建了一个SWT颜色对象,那么也就在系统的底层资源里分配了一个颜色资源:
Color color = new Color(display, 255, 0, 0); // Create a red Color
法则一说明了如果你创建了他,那么你就要在使用完时释放他,像下面一样:
color.dispose(); // I create it, so I dispose it
但是,如果你没有使用构造函数来申请资源,你就不能显式的释放他。比如,考虑下面的代码:
Color color = display.getSystemColor(SWT.COLOR_RED); // Create a red Color
再一次,获得了底层平台的颜色资源,但是没有分配他。法则一就说不能释放他。为什么不呢?因为这个不属于你-你只是借用了这个资源,其他的对象有可能正在使用它或者将要使用它。释放这个资源会变得非常严重的。


法则二:释放了父控件,子控件也被释放
对每一个使用new创建的控件都使用dispose()会变得非常繁琐,会使得SWT很快被抛弃。但是,SWT的设计者意识到了这一点,创建了一种逻辑上层叠的自动释放机制。这意味着,当一个Shell被释放了,所有与Shell有关的控件都被自动释放了。你会发现,永远也不会使用label.dispose()在“Hello World”程序里,甚至你使用了new来创建一个Label对象。当用户关闭了Shell,Label控件自动的释放了。
也许你在想,你永远不需要调用dispose(),这部分代码只是在浪费空间。实际上,有可能写一些程序,所有的资源都只有一个父类,并且这些资源都会自动释放。但是,考虑一下下面的改变Text中字体的代码。如下:
Text text = new Text(shell, SWT.BORDER); //Create the text field
Font font = new Font(display, ”Arial”, 4, SWT.BOLD); //Create the new font
text.setFont(font); //Set the font into the text field
这个字体对象创建时没有父类,所以不会被自动释放,甚至当Shell被关闭了,Text对象调用了dispose()。也许你会对使用font这个负担而发怒,但是考虑到text没有理由要对font负责-font不属于他。实际上,你也许会使用这个Font对象在各种各样的控件上,自动释放会引发一系列的问题。

另外:
如果Java包裹的本地控件依然在活动,而他所属于的Shell被释放了,将发生什么情况呢?或者手动调用控件的dispose方法会怎么样呢?本地控件会被释放吗?我们是否可以调用java对象而他的底层本地控件不存在?
答案当然是:可以!如果你调用一个对象而他的本地控件已经释放,会引出一些麻烦。一旦一个控件被释放了,甚至他依然在活动,对他做什么都没有用。是的,Java对象依然可用,但是底层的对应点已经释放了。那么就会得到一个SWTException,显示为“Widget has been disposed”。考虑Listing 3-2的代码。
Listing 3-2:Broken.java
CODE:
import org.eclipse.swt.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
public class Broken
{
public static void main(String[] args)
{
  Display display = new Display();
  Shell shell = new Shell(display);
  shell.setLayout(new RowLayout());
  Text text = new Text(shell, SWT.BORDER);
  shell.open();
  while (!shell.isDisposed())
  {
  if (!display.readAndDispatch())
  {
    display.sleep();
  }
  }
  System.out.println(text.getText()); // PROBLEM!
  display.dispose();
  }
}

代码可以编译和运行,但是在关闭了主窗口后控制台会打印出以下的错误:
Org.eclipse.swt.SWTException: Widget is disposed
at org.eclipse.swt.SWT.error(SWT.java:2332)
at org.eclipse.swt.SWT.error(SWT.java:2262)
at org.eclipse.swt.widgets.Widget.error(Widget.java:385)
at org.eclipse.swt.widgets.Control.getDisplay(Control.java:735)
at org.eclipse.swt.widgets.Widget.isValidThread(Widget.java:593)
at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:315)
at org.eclipse.swt.widgets.Text.getText(Text.java:705)
at Broken.main(Verison.java:24)

需要注意的,当你在Windows XP上运行这个程序,你会得到一个对话框显示javaw.exe出现了问题,需要关闭,你是否愿意发送错误报告到Microsoft?

posted @ 2006-10-17 16:51 国强 阅读(3589) | 评论 (0)编辑 收藏

Jdom

  /*读*/
  SAXBuilder builder = new SAXBuilder();
  Document doc = null;
  try {
      doc = builder.build("config.xml");
  } catch (Exception e) {
      e.printStackTrace();
      return;
  }
  //获得这个文档的根元素
  Element printer = doc.getRootElement();
  Element name = printer.getChild("name");
  this.name = name.getText();

  /*写*/
  SAXBuilder builder = new SAXBuilder();
  Document doc;
  try {
      doc = builder.build("config.xml");
  } catch (Exception e) {
        return;
  }
  Element printer = doc.getRootElement();
  Element name = printer.getChild("name");
  name.setText( PrintParameter.getInstance().getName() );
        
  XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat().setEncoding("utf-8"));
 try {
      outputter.output(doc, new java.io.FileOutputStream("config.xml"));
  } catch (Exception e) {
  }

posted @ 2006-10-17 16:13 国强 阅读(271) | 评论 (0)编辑 收藏

Properties类

  /*读*/ 
  Properties settings = new Properties();
  String name = "printConfig";
  try {
      FileInputStream in = new FileInputStream(name + ".properties"); 
      settings.load(in);
      String value = Integer.parseInt( (String) settings.get("name") ;

  } catch (IOException e) {e.printStackTrace();}

  /*写*/
  Properties settings = new Properties();
  String name = "printConfig";
  FileOutputStream out = null;
  try {
      out = new FileOutputStream( name + ".properties" );
      settings.store(out,"");
  } catch (Exception e1) {
      e1.printStackTrace();
  }

posted @ 2006-10-17 16:07 国强 阅读(265) | 评论 (0)编辑 收藏

mysql 错误 1067: 进程意外终止


      在windows2000的服务里面启动mysql服务可是总是弹出“错误 1067: 进程意外终止”! 
       我感觉问题在配置文件,于是就重新写了my.ini,启动还是一样的效果,我在google上查找无果,崩溃状态!就在此时眼前一亮,一位高人的指点是我豁然开朗,你的ini文件有否放到windows目录下,我从个人目录的windows目录下,将其拷贝到系统windows目录下,启动服务,ok!!!

posted @ 2006-08-21 12:28 国强 阅读(4002) | 评论 (3)编辑 收藏

安装,启动与卸载Mysql系统服务

将Mysql添加到Windows系统服务中:
1.、 安装服务。
在Windows2000下,安装完成后,并没有把MySQL安装成服务,我们必须执

行下面的语句把MySQL注册为服务:installdir\\mysql\\bin\\mysqld-nt –

-install。
Windows98下没有服务的概念,所以不用安装服务。
2.、 启动服务
在Windows2000下,安装服务后可以启动MySQL服务:net start mysql。
在Windows98下,可以用下面的命令启动服务:c:\\mysql\\bin\\mysqld,服

务启动后在后台运行,并没有界面。
3.、 停止服务
在Windows2000下,可以通过下面的命令停止MySQL服务:net stop mysql


在Windows98下,可以通过下面命令停止服务:C:\\>

C:\\mysql\\bin\\mysqladmin -u root shutdown
4、 卸载服务
可以通过下面的命令卸载MySQL服务:installdir\\mysql\\bin\\mysqld-nt

–-remove。

posted @ 2006-08-20 11:56 国强 阅读(983) | 评论 (3)编辑 收藏

一个不错的js教学网站

http://www.netvtm.com/w3/js/js-obj-string.htm

posted @ 2006-07-25 17:37 国强 阅读(361) | 评论 (0)编辑 收藏

sql语句错误一

select * from ticketinstance as t
 left outer join batch on t.Col_Batch = batch.Col_ObjId
 left outer join ticket on t.Col_ObjId = ticket.Col_ObjId
 where t.Col_ObjId =2 and Col_Batch = 2

正确

select * from ticketinstance as 't'
 left outer join batch on t.Col_Batch = batch.Col_ObjId
 left outer join ticket on t.Col_ObjId = ticket.Col_ObjId
 where t.Col_ObjId =2 and Col_Batch = 2

错误

posted @ 2006-07-24 16:05 国强 阅读(293) | 评论 (0)编辑 收藏

mysql中存入时间

如果要精确到秒,mysql里面是DATETIME,程序里面

pstmt.setTimestamp(7,new Timestamp(b.getCreDate().getTime()));

不能用setDate()

posted @ 2006-07-24 15:40 国强 阅读(252) | 评论 (0)编辑 收藏

<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

java

搜索

最新评论

阅读排行榜

评论排行榜