随笔-37  评论-3271  文章-0  trackbacks-0

我的评论

共20页: First 上一页 5 6 7 8 9 10 11 12 13 下一页 Last 
re: Ubuntu 7.10正式发布了! BeanSoft 2007-10-20 09:48  
Fedora....
re: 程序员==卖炭翁? BeanSoft 2007-10-18 14:13  
顶了!
www.1cn.biz 这个用户早就被 MyEclipse 封杀了, 换句话说你转的注册码早就没法用了, 不管是 5.5 还是 6.0 . 转载也得尽量有点责任心啊.

参考: http://www.blogjava.net/beansoft/archive/2007/08/24/138977.html
re: Google宕机了?[未登录] BeanSoft 2007-10-15 13:13  
我也是, 网通的, 家里偶尔出现, 可能 Google.cn 的服务器也是要在后台连到美国去取数据?
N 久的传言了....
我个人给大家推荐:
http://www.blogjava.net/beansoft/archive/2007/09/16/145454.html
JSmooth 0.9.9-7 汉化版

开源免费的 用着放心 呵呵
好像最新的 Tomcat 自动序列的.
re: Log4配置[未登录] BeanSoft 2007-10-12 09:17  
收藏了!
我晕, 收费的! 仅仅对个人免费!
re: 结合spring+hibernate与jdbc的事务 BeanSoft 2007-10-09 18:40  
感谢分享!
多谢啊!
不错, 说到底还是掌握自己画组件的技术啊, 和永中 Office 那样, 或者 Windows 的 Office, Eclipse 自己也画 CTabFolder 来代替 Windows 的 Tab. 不过很多好看的界面 Swing 早就做了, 呵呵, 好多都是卖钱的. 一句话: 要想好用, 还得自己动手画. 先下来看看, 不过 Nebular 好久没新东西了.
呵呵 让我想起了 Spring 和 EJB.....
很不错, 支持了!
re: JAVA网页浏览器 BeanSoft 2007-10-04 11:06  
我在 RedHat 9 中文下试 SWT 的 Browser 控件失败, 各位有何良策啊? 好像要额外装一个 Mozilla 的调试包. 本来想做 Code Manager .SWT Linux 版本的, 这下完蛋了. 也许别的系统能用.

http://html.xamjwg.org/java-browser.jsp 这有个纯 Java 的浏览器, 厉害啊, 开源的.
Lobo (previously known as Warrior) is an open source web browser that is written completely in Java. It is undergoing active development with the aim to fully support HTML 4, Javascript and CSS2.

下载试了一下, 还行, 没深入. 纯 Java 的如果想定制就容易多了.
re: 如何使用java动态创建ODBC数据源 BeanSoft 2007-09-30 16:44  
Access 是通过 ODBC 连接的. Excel 也可以. 甚至可以动态构造连接字符串:

这样可以直接连接到 Access 数据库文件.

jdbc:odbc:DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\mydata.mdb

类似的 Excel 文件也可以用类似方法:

jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=.\mydata.xls

DBF 应该也可以这样来做.
泛型是靠编译器实现的 一点不假 呵呵 内核还是 1.4
re: 网络象棋之二(拖拽的实现) BeanSoft 2007-09-30 10:52  
写的太好了 支持一下!
re: Eclipse 3.3.1、WTP 2.0.1版本发布! BeanSoft 2007-09-30 10:51  
不稳定 基于 Eclipse 3.3 的 MyEclipse 6 总出问题
支持!
re: spring+struts1+hibernate的三种方式 BeanSoft 2007-09-29 07:57  
thanks!
经典啊!
re: jira如何配置使用LDAP认证 BeanSoft 2007-09-28 21:30  
多谢坏男孩的培训!
re: 网页源文件查看器 BeanSoft 2007-09-28 12:45  
思路好. 不过, 用 Firefox 的时候选择禁用 JavaScript 就行了, 还可以装个 NoScript 插件, 呵呵.

也可以用 IE 把页面另存为到硬盘上来打开.

IE 还可以安装 Instant Source, 再屏蔽也没用, 参考:
Instant Source 实时 IE HTML 源码查看(视频讲解)
http://www.blogjava.net/beansoft/archive/2007/09/24/147645.html
re: 数字验证码的识别 BeanSoft 2007-09-28 09:06  
呵呵 让我想起了大学时候选修的模式识别... 不过那时候的代码是用 Metalab 做的.
re: JAVA代码混淆器Jocky下载地址 BeanSoft 2007-09-27 17:30  
以前试过, 有 BUG... 可惜, 不开源, 呵呵.
re: JAVA得到网卡物理地址 BeanSoft 2007-09-27 10:31  
支持一下的.
re: 金蝶OperaMasks框架的宣传视频 BeanSoft 2007-09-24 21:44  
呵呵 JSF 现在貌似国外火起来了...
re: 如何应对xss攻击? BeanSoft 2007-09-24 12:37  
/**
* 将字符串 source 中的 oldStr 替换为 newStr, 并以大小写敏感方式进行查找
*
* @param source
* 需要替换的源字符串
* @param oldStr
* 需要被替换的老字符串
* @param newStr
* 替换为的新字符串
*/
public static String replace(String source, String oldStr, String newStr) {
return replace(source, oldStr, newStr, true);
}

/**
* 将字符串 source 中的 oldStr 替换为 newStr, matchCase 为是否设置大小写敏感查找
*
* @param source
* 需要替换的源字符串
* @param oldStr
* 需要被替换的老字符串
* @param newStr
* 替换为的新字符串
* @param matchCase
* 是否需要按照大小写敏感方式查找
*/
public static String replace(String source, String oldStr, String newStr,
boolean matchCase) {
if (source == null) {
return null;
}
// 首先检查旧字符串是否存在, 不存在就不进行替换
if (source.toLowerCase().indexOf(oldStr.toLowerCase()) == -1) {
return source;
}
int findStartPos = 0;
int a = 0;
while (a > -1) {
int b = 0;
String str1, str2, str3, str4, strA, strB;
str1 = source;
str2 = str1.toLowerCase();
str3 = oldStr;
str4 = str3.toLowerCase();
if (matchCase) {
strA = str1;
strB = str3;
} else {
strA = str2;
strB = str4;
}
a = strA.indexOf(strB, findStartPos);
if (a > -1) {
b = oldStr.length();
findStartPos = a + b;
StringBuffer bbuf = new StringBuffer(source);
source = bbuf.replace(a, a + b, newStr) + "";
// 新的查找开始点位于替换后的字符串的结尾
findStartPos = findStartPos + newStr.length() - b;
}
}
return source;
}
re: 如何应对xss攻击? BeanSoft 2007-09-24 12:37  
/**
* 滤除帖子中的危险 HTML 代码, 主要是脚本代码, 滚动字幕代码以及脚本事件处理代码
*
* @param content
* 需要滤除的字符串
* @return 过滤的结果
*/
public static String replaceHtmlCode(String content) {
if (isEmpty(content)) {
return "";
}
// 需要滤除的脚本事件关键字
String[] eventKeywords = { "onmouseover", "onmouseout", "onmousedown",
"onmouseup", "onmousemove", "onclick", "ondblclick",
"onkeypress", "onkeydown", "onkeyup", "ondragstart",
"onerrorupdate", "onhelp", "onreadystatechange", "onrowenter",
"onrowexit", "onselectstart", "onload", "onunload",
"onbeforeunload", "onblur", "onerror", "onfocus", "onresize",
"onscroll", "oncontextmenu" };
content = replace(content, "<script", "&ltscript", false);
content = replace(content, "</script", "&lt/script", false);
content = replace(content, "<marquee", "&ltmarquee", false);
content = replace(content, "</marquee", "&lt/marquee", false);
// FIXME 加这个过滤换行到 BR 的功能会把原始 HTML 代码搞乱 2006-07-30
// content = replace(content, "\r\n", "<BR>");
// 滤除脚本事件代码
for (int i = 0; i < eventKeywords.length; i++) {
content = replace(content, eventKeywords[i],
"_" + eventKeywords[i], false); // 添加一个"_", 使事件代码无效
}
return content;
}
收藏了, 呵呵.
re: Lotus Symphony - 一个美丽的神话 BeanSoft 2007-09-23 12:00  
国产永中 Office, 也是自己画 UI 组件... 其实大家也不要期待太高了, 高级 UI 组件都是拿画图函数一点点画的. CTabFolder 这些自定义的组件都是代码画图. 要做好界面, 说到底还是自己动手画界面啊. 以前有个兄弟拿 Swing 画仿瑞星杀毒软件, 就是这样干的, 什么渐变色啊, 半透明啊...
re: 惊叹一下Lotus Symphony吧! BeanSoft 2007-09-22 12:07  
不看好它 看看 Eclipse 能耗多少内存就知道了. Java 的 Office 办公系统貌似还没几个成功的. 倒是 Open Office 好好发展前景还是不错的.

刚看了看新闻, 的确是免费的, 不过是不是开源就不知道了.

这套软件采Eclipse开源框架,并支持OpenDocument Format(ODF),这个文件格式标准源自OpenOffice 开源办公软件。

不错, ODF 好啊, 抵制微软的老变动的 Office 文件格式.
beansoft@126.com 多谢了!
建议用 GET/POST 方式或者编码为 XML. 如果两台电脑 JVM 版本不一致的话这种方式有时候会出现问题, 例如某些 JDK 类序列化之后内容不一致, 这个是以前用 JDK 的序列化了参数, 完了后来换用 1.5 的运行, 发现参数反序列化不了了.

GET/POST: http://www.blogjava.net/beansoft/archive/2007/05/23/119444.html
AJAX入门介绍 - (2) GET 和 POST 配合表单

XML 方式参考 /*
* @(#)BeanXML.java 1.00 2005-10-7
*
* Copyright 2005 BeanSoft Studio. All rights reserved.
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package beansoft.xml;

import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;

/**
* BeanXML
*
* Chinese documents:
*
* @author BeanSoft
* @version 1.00 2005-10-7
*/
public class BeanXML {
/**
* 使用 java.beans.XMLEncoder 将 对象编码为 XML.
* @param bean 对象
* @return String - 编码后的 XML
*/
public static String encodeBean(Object bean) {
ByteArrayOutputStream out = new ByteArrayOutputStream();
XMLEncoder encoder = new XMLEncoder(out);
encoder.writeObject(bean);
encoder.close();

return out.toString();
}

/**
* 使用 java.beans.XMLDecoder 将 XML 解码为 对象.
* @param xml - 编码后的 XML
* @return Object 反编码后的对象
*/
public static Object decodeBean(String xml) {
try {
// FIXME 必须使用 GBK 解码才对, 否则出来的文字是乱码?
XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(xml.getBytes("GBK")));
return decoder.readObject();
} catch (UnsupportedEncodingException e) {
}

return null;
}
}
import org.hibernate.Session;
import org.hibernate.Transaction;

import dao.StudentDAO;


public class DAOTest {

/**
* @param args
*/
public static void main(String[] args) {
StudentDAO studentDAO = new StudentDAO();
// 1. 打开事务
Session session = studentDAO.getSession();
Transaction tran = session.beginTransaction();
// 2. 生成对象
dao.Student student = new dao.Student();
student.setName("username");

//studentDAO.save(student);

// 3. 提交事务
tran.commit();

// 4. 列表
java.util.List list = studentDAO.findAll();
System.out.println(list.size());

}

}
最底层的实现都是 OutputStreamWriter 和 InputStreamReader, 这三种都输入文本输入输出流的部分. BufferReader 有缓冲区, 读写较快; 其它的没有. PrintXXX 是能够以行为单位进行读写处理.
re: EJB3 再战 Spring BeanSoft 2007-09-18 09:48  
Spring 除了不用 new JavaBean, 别的功能还不得靠装其它服务器? 它顶多就是一个单机版业务层的封装包, Web 层它也作不了.
呵呵 完全正确 就跟同样是学会了 牛顿3定律 美国人上月球 中国人只能上N千米高空一样 这就是技术 呵呵
re: EJB学习日记(7) BeanSoft 2007-09-17 13:12  
呵呵 最早的实体 Bean 的确是 EJB 里面的, EJB 1.0 就有了, 那是1997 年, 那时候中国人还没几个做 Java 的. 只可惜搞的太重量级了. 后来才有了轻量级的 Hibernate. 在 Hibernate 之前还有好多其它的轻量级 ORM 框架, 不过那也是在 EJB 推广之后的事情了.

有意思的发现 EJB 最早是 IBM 的发明....呵呵
参考: http://zh.wikipedia.org/wiki/EJB
EJB最早于1997年由IBM提出,旋即被太阳微系统采用并形成标准(EJB 1.0 和EJB 1.1)。其后在Java社区进程(Java Community Process) .... 在EJB 2.1和以前的版本中,每个EJB都由一个类和两个接口组成。EJB容器负责创建这个类的实例,接口则供客户端调用。
http://www.ibm.com/developerworks/cn/opensource/os-ag-renegade14/
勿庸置疑,1997 年推出的 IBM® 原始 EJB 规范是 Java 技术领域最重要的开发成果之一。EJB 和包含 EJB 的 J2EE 应用服务器迅速地应用于企业开发。然而,对 EJB 的批评之声也正如 J2EE 的采用一样快速涌至。在这些批评之中,最主要的抱怨是 EJB 难于理解且开发起来繁琐乏味。

OpenEJB —— EJB 1.1

OpenEJB 问世于 2000 年,其创建者是 David Blevins 和 Richard Monson-Haefel。Blevins 也是 Geronimo 的创建者之一,而 OpenEJB 是 Geronimo 中 EJB 实现的首选。OpenEJB 是 EJB 1.1 规范的第一批开源实现之一。它直接提供了一个远程会话 bean 的实现,并使用 Castor 作为它的容器管理持久性(CMP)实体 bean 的实现。

re: Alfresco2.1下载和安装 BeanSoft 2007-09-16 21:22  
楼上的不要到处发你的广告贴了.

看了半天才发现是个 Alfresco - Open Source Enterprise Content Management 内容管理系统.
找找资料把 '.' 转义了就好.
re: 软件开发#前途 BeanSoft 2007-09-15 18:37  
呵呵 房地产 金融 垄断行业钱多 钱最多的是ZF, 有本事你就去啊, 嘿嘿
最好还是用我们自己实现的替换字符串的方法来做(JDK 1.4 之前找的代码):

// ------------------------------------ 字符串处理方法
// ----------------------------------------------

/**
* 将字符串 source 中的 oldStr 替换为 newStr, 并以大小写敏感方式进行查找
*
* @param source
* 需要替换的源字符串
* @param oldStr
* 需要被替换的老字符串
* @param newStr
* 替换为的新字符串
*/
public static String replace(String source, String oldStr, String newStr) {
return replace(source, oldStr, newStr, true);
}

/**
* 将字符串 source 中的 oldStr 替换为 newStr, matchCase 为是否设置大小写敏感查找
*
* @param source
* 需要替换的源字符串
* @param oldStr
* 需要被替换的老字符串
* @param newStr
* 替换为的新字符串
* @param matchCase
* 是否需要按照大小写敏感方式查找
*/
public static String replace(String source, String oldStr, String newStr,
boolean matchCase) {
if (source == null) {
return null;
}
// 首先检查旧字符串是否存在, 不存在就不进行替换
if (source.toLowerCase().indexOf(oldStr.toLowerCase()) == -1) {
return source;
}
int findStartPos = 0;
int a = 0;
while (a > -1) {
int b = 0;
String str1, str2, str3, str4, strA, strB;
str1 = source;
str2 = str1.toLowerCase();
str3 = oldStr;
str4 = str3.toLowerCase();
if (matchCase) {
strA = str1;
strB = str3;
} else {
strA = str2;
strB = str4;
}
a = strA.indexOf(strB, findStartPos);
if (a > -1) {
b = oldStr.length();
findStartPos = a + b;
StringBuffer bbuf = new StringBuffer(source);
source = bbuf.replace(a, a + b, newStr) + "";
// 新的查找开始点位于替换后的字符串的结尾
findStartPos = findStartPos + newStr.length() - b;
}
}
return source;
}
replaceAll 参数是正则表达式, 不是普通的字符串. 看看有没有不符合要求的字符串.
共20页: First 上一页 5 6 7 8 9 10 11 12 13 下一页 Last