http://www.javayou.com (收藏,设为首页)
当你不能再拥有时,你唯一能做的,就是让自己不要忘记 (手机请访问 http://3g.dlog.cn/javayou)

JavaYou全面升级到DLOG4J 2.0.1

2005年2月25日(Friday) 09点02分 作者: 刘冬 天气: 心情: 一般

DLOG4J 2.0已经在前两天发布出来,由于时间的关系加上服务器的原因,JavaYou网站一直没有进行更新,昨天晚上终于对JavaYou进行全面升级,更新到目前的最新版本2.0.1。

目前也根据2.0的使用情况进行了跟踪,也发现了不少问题,虽然这些问题主要出现在一些特定的环境以及数据的情况下,本着完善的思想,对下一个版本也就是2.1需要完善的内容做了计划,主要包括一下几个方面:

1. 改进处理搜索关键字的做法,避免出现高亮显示导致某些html标签无法正常显示的问题
2. 解决大文本字段在Oracle 9i下使用异常的问题
3. 修改字段名,使之避免跟数据库关键字重叠
4. 重构站内短消息的功能
5. 重构忘记密码的功能
6. 考虑减小TOP_COMMENT的数据读取量
7. 文件上传的重构,增进安全性,包括上传文件的可维护性,可选择保留原有文件名
8. 已删除文章的维护
9. 语言采用自动识别加人工选择

因为本职工作的关系,新版本目前还没办法估计发布时间,有希望加入开发的朋友可以通过我的MSN:love_java@21cn.com跟我联系,联系前希望还是好好的读一下DLOG4J的代码,看看上面提到的问题应该从何入手,毕竟加入OpenSource开发不是光凭着一股子维持不久的热情。同时我也没有太多的精力来给每个人解释DLOG4J的结构。

另外,DLOG4J 2.0的源码在CVS服务器上的模块名是 DLOG4J_JAVAYOU。

最后需要说明的是,由于两个版本在采用完全不同的方式来处理草稿件,因此如果之前写有草稿的朋友请跟我联系恢复这些文章。

标签: DLOG4J 
评论者: 刘冬 2005-3-4 23:02 (Friday)

关于DLOG4J的日记索引重建,在升级DLOG4J的时候建议重建lucene的索引,避免因为格式的问题导致搜索失败,重建的办法是删除下面三个文件或者目录

/WEB-INF/lastActiveTime.sav
[/WEB-INF/log_index]
[/WEB-INF/reply_index]

删除后大约十分钟DLOG4J会自动给所有文件重新创建索引。也可以调整struts-config.xml中搜索引擎的活动间隔时间activeInterval,默认的是600,也就是十分钟。此值修改后必须重起应用服务器才能生效。

评论者: 刘冬 2005-3-15 11:38 (Tuesday)

FCKeditor 2.0 RC3发行了,解决了RC2的不少问题,看来DLOG4J 2.1必须跟进最新的版本。

评论者: whirlsun 2005-3-16 00:22 (Wednesday)
中文编码好像也有些问题,难道有特殊的配置吗?
评论者: myblessu 2005-3-16 16:43 (Wednesday)
FCKeditor 2.0 RC3 在firefox中不能复制粘贴
评论者: strong 2005-4-3 20:49 (Sunday)

1。4版 使用resin2。1。14 进入http://localhost:8080/dlog4j会出现以下问题,但是使用resin3 或者tomcat5 却没有这个问题,为什么会出现这种情况呢

META-INF/c.tld:6 unknown element `xsi:schemaLocation' in `taglib'

评论者: 可可 2005-4-7 17:42 (Thursday)

为什么我部署不成功,环境weblogic8.1+oracle10g

tomcat5.0.8+oracle10g

tomcat5.0.8+oracle10g总是报错

ORA-03115:unsupported network datatype or representation

是hibernate问题?我试着用string替代java.lang.String ,date 替代java.util.Date,仍然报错。难道是数据库中用了Clob字段,String需要改成clob?

在Jbuilder2005下面编译jsp总是报错,

Errors encountered while compiling  'E:/project/dlog/dlog' :
Translation of /fetchpwd.jsp failed: (line 22): Error in using tag library uri='/WEB-INF/dlog4j.tld' prefix='dlog': The Tag class 'dlog4j.tags.GetCurrentSiteTag' has no setter method corresponding to TLD declared attribute 'prefixId', (JSP 1.1 spec, 5.4.1)
"fetchpwd.jsp": Invocation Error

是标签的引用问题,不知道如何解决,问问刘冬。谢谢了

评论者: 烟灰 2005-4-10 15:18 (Sunday)

2. 解决大文本字段在Oracle 9i下使用异常的问题

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

我在使用Oracle9i的过程中也遇到这样的问题,后来在参照Hibernate2.1的官方文档关于hibernate数据类型的说明把LogForm.hbm.xml文件的

<property name="content"     type="string"   column="content"/>

一行的 type="string" 改为 type="text" 就解决了。这个应该不算问题吧。

评论者: IUSR 2005-4-13 19:25 (Wednesday)
评论者: 臭虫 2005-4-19 22:14 (Tuesday)

有个问题,我在Apache 2.0+Tomcat 5.5上装了DLOG4J,装好后设置了3个分类,分别是“隐藏分类”、“开放分类”、“普通分类”,可是一个用户新注册后,没有“写日记”的链接,这是怎么回事啊?

评论者: 刘冬 2005-4-20 09:20 (Wednesday)
管理员、好友、密友才可以写日记,普通注册用户不行
评论者: 臭虫 2005-4-20 17:26 (Wednesday)

那分类中的“普通分类”有什么用?好像只有管理员才能用!

评论者: 臭虫 2005-4-20 17:33 (Wednesday)

还有,设为好友后,还要设日记的空间,否则用户在写日记时报没有空间,但设为密友后就不用设置就可以用“开放分类”的日记空间了!

这是Bug,还是什么?

评论者: 刘冬 2005-4-20 19:52 (Wednesday)
兄弟,这是一个个人日记啊,不是论坛!所以原则上只有管理员一个人写!
评论者: cnsdf 2005-4-29 00:30 (Friday)

刘冬,你好!

非常感谢你做的这个BLOG。我刚刚下载了2.0.1版本,文件名是:dlog4j_bin_2_0_1.zip,文件最后修改时间是:2005-02-23。用默认配置运行,即使用Hypersonic-SQL(HSQLDB 1.7.2) database时一切正常,可以登录并进行修改设置。但按照readme.txt中介绍,将数据库配置为mysql,然后执行http://localhost:8080/dlog4j时,页面上半部能显示日历及登录窗口,但下半部出现VelocityViewServlet : Error processing the template错误:

Invocation of method 'users' in class dlog4j.velocity.ObjectTools threw exception class net.sf.hibernate.exception.GenericJDBCException : Unable to perform find
.....

Caused by: java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp at com.mysql.jdbc.ResultSet.getNativeTimestamp(ResultSet.java:6783)

......

我的运行环境是:Tomcat4.1.31 + MySql 4.1.10

不知道是哪里出的问题。还望不吝赐教!谢谢!

评论者: 刘冬 2005-4-29 09:00 (Friday)

来自 http://yhe.dalian.cn 的小红帽说可能是数据库驱动程序的问题,你可找一个新的驱动试试!

他推荐的驱动是

http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-3.1.8.tar.gz/from/http://mysql.belnet.be/

评论者: 刘冬 2005-4-29 09:05 (Friday)

小红帽 说:
首先,请一定要注意,mysql4.1.x的数据库一定需要mysql-connector-java-3.0.16-ga-bin.jar包(或者更新的包,如3.1.7的驱动),一定要看清楚是3.0.16的包,使用mysql-connector-java-3.0.10-stable-bin.jar,这个包是for mysql4.0.x的,如果你现在使用的是mysql4.1.x,就一定要把这个包换掉

小红帽 说:
这是别人写的

 

评论者: cnsdf 2005-4-29 17:06 (Friday)

我用的mysql驱动包是:mysql-connector-java-3.1.8-bin.jar;

在下载的驱动包中,还有一个mysql-connector-java-3.1.8-bin-g.jar,如果换这个,Tomcat启动时就会提示说找不到驱动。

现在的情况是:在使用mysql-connector-java-3.1.8-bin.jar时,页面能正确显示的部分有:网站描述、首页、用户登录、日历、搜索、版权标识等。而且,还可以用admin用户登录进去。就是页面主体部分显示出错。

另外,曾经出现过页面正常的情况,但当注册一个新用户后成功提交后,页面显示再次出现象同的错误。然后,再怎么进去都是同样的错误。

感觉好像是与用户表中regTime和lastTime这两个字段有关。

评论者: Ben26102 2005-6-3 23:43 (Friday)
cnsdf 网友说的情况我也遇到了,不同的是我使用的是ORACLE9I 难道也是驱动的问题吗?
评论者: Ben26102 2005-6-3 23:50 (Friday)

我的下半部出现的问题是:


VelocityViewServlet : Error processing the template

Invocation of method 'links' in class dlog4j.velocity.ObjectTools threw exception class net.sf.hibernate.exception.SQLGrammarException : Unable to perform find

net.sf.hibernate.exception.SQLGrammarException: Unable to perform find
at net.sf.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:58)
at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)
at net.sf.hibernate.impl.SessionImpl.convert(SessionImpl.java:4131)
评论者: littlelong 2005-7-10 01:54 (Sunday)

要改右边页面的风格在哪里改?

我找了好久都没有找到。是不是写在了jsp文件里面。

 

顺便说,程序写得还可以,不过风格管理写得实在有点成问题。不知道是不是和jsp有关。

尤其是css,没有规范好,全部都在文件中直接写的,那几个外界连接的css表根本没有用上。

晚上改了好久,才改了一些,建议能做的好一些。

评论者: jase 2005-7-10 13:27 (Sunday)

1、请问默认的acess数据库文件放在哪里了?
2、在HTML编辑器中选择其它文件上传,显示
显示java.lang.classcast.exception:$Proxy0,环境为windows2003/tomcat5.5.4

评论者: 刘冬 2005-7-11 12:12 (Monday)
页面的布局在/WEB-INF/template/html_layout.html中控制!每个页面存放在/WEB-INF/pages目录下!最新版的DLOG4J不是用JSP写的,是Velocity
评论者: 寒雨 2005-8-5 09:14 (Friday)

我把项目移到JBuilder上,编译的时候就通不过!
"fetchpwd.jsp": Attribute mail_addr has no value at line 40, column 91
"showlog.jsp": Unterminated user-defined tag: ending tag &lt;/html:link&gt; not found or incorrectly nested at line 112, column 3
"setting.jsp": Attribute PARAM_ has no value at line 59, column 34
"head.jsp": Warning #: 368 : method setAlign(java.lang.String) in class org.apache.struts.taglib.html.ImageTag has been deprecated at line 40
"last_members.jsp": Error #: 450 : duplicate definition of variable pageCountId in method _jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) at line 23
"user_list.jsp": Error #: 450 : duplicate definition of variable pageCountId in method _jspService(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) at line 25
Warning #: 369 : There have been deprecation warnings. Please consult the documentation for a better alternative

顺便问下开发环境是eclipse加什么插件呢?能不能具体说明下!对于象我这样的初学者,有时候把项目顺利通过编译都很难,更别提研究了。请教前辈!

评论者: 刘冬 2005-8-5 09:28 (Friday)
哪来那么多JSP啊?DLOG4J没用JSP啊:)
评论者: 寒雨 2005-8-5 09:53 (Friday)

不会吧
我下的源代码都是jsp的啊
看看这个目录机构
http://www.javayou.com/drafts.jspe

评论者: 刘冬 2005-8-5 10:57 (Friday)

你到 http://dlog4j.sourceforge.net 上下载吧:)

评论者: kevin2513 2005-9-20 21:51 (Tuesday)
我的也出现:net.sf.hibernate.exception.SQLGrammarException: Unable to perform find,刘冬,这个问题怎么解决呢?
评论者: yeewa 2005-9-23 08:28 (Friday)

to 刘冬

 2. 解决大文本字段在Oracle 9i下使用异常的问题
我在oracle8i的处理方法是:在LogForm.hbm.xml中把

改为
并把hibernate.cfg.xml中加入一句
0
因为流不能用batch

 oracle8i中还有另一个问题就是mode是关键字,不能做字段名
所以FavoriteForm.hbm.xmlmode对应的

改为
并把对应的oracle中的表dlog_favorite表中的mode变为modelyh,当然,这个名字是可以任意取的了,这样就可以解决Ben26102 网友和kevin2513 网友的问题

  

Ben26102 网友说: 网友说:

 

 

 

 

 

我的下半部出现的问题是评论者: 字幕 2005-10-9 20:58 (Sunday)

20:45:46,949  WARN JDBCExceptionReporter:57 - SQL Error: 0, SQLState: S1009
20:45:46,949 ERROR JDBCExceptionReporter:58 - Cannot convert value '2005-10-09 0
0:00:00' from column 10(2005-10-09 00:00:00 ) to DATE.
20:45:46,949  WARN JDBCExceptionReporter:57 - SQL Error: 0, SQLState: S1009
20:45:46,949 ERROR JDBCExceptionReporter:58 - Cannot convert value '2005-10-09 0
0:00:00' from column 10(2005-10-09 00:00:00 ) to DATE.

 

tomcat启动时出现如上提示,然后程序不能正常运行,我用的是mysql数据库

评论者: 字幕 2005-10-11 21:39 (Tuesday)

换了oracle数据库配置好了,作者真牛,佩服ing

评论者: 小白鼠 2005-11-8 21:09 (Tuesday)

我是初学者,我想知道这个blog能不能支持access数据库,还有sf.net上为什么没有2.0.1版本的binary或者zip包呢?

评论者: 刘冬 2005-11-9 09:00 (Wednesday)

当然支持Access,自带有一个access的数据库,2.0.1没有binary是因为sourceforge上传太慢了,所以一直没搞,你可以下载源码,然后用ant编译一下即可。可直接运行build.bat即可。

评论者: 小白鼠 2005-11-9 17:23 (Wednesday)

我太背时了,去 http://dlog4j.sourceforge.net 下载了个dlog4j.war文件回来在tomcat上deploy,结果怎么也安装不好,弄了半天原来“Get start” 页的install说明还是针对 1.4版的。。开始都没注意。

dlog4j_bin_2_0_1.zip文件里面有个dlog.war不知道是什么版本的?dlog4j.zip里面的doc目录下有个“DLOG4J安装手册.doc”还是针对1.1版的。我都被搞晕了。

哪位大侠有2.0(最好是2.0.1版的war文件),可否发到我的邮箱里面,先说声谢谢了。方便的话也给个安装说明文件,那个2版本中默认的是HSQLDB,我网上的空间只能支持Access。按理说Access不需要什么配置,应该更方便吧。

我的邮箱:rm.ryt@163.com

评论者: 刘冬 2005-11-9 19:42 (Wednesday)
你看看struts-config.xml中有一段关于access的,把注释去掉,其他的加上注释就可以直接启用access数据库了! 不好意思,实在没时间去完善那些文档
评论者: jzz 2006-1-4 16:21 (Wednesday)
关于dlog4jV2.0出现 "java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00'
 from column 12 to TIMESTAMP." 的解决办法

可以确认,是和 用户表中lastTime 字段有关

我手动的UPdate了“dlog_user”的用户记录的LastTime,把默认的'0000-00-00 00:00:00'
改成一个合法的时间串如: "2006-01-04 16:09:50" 就可以正常登录和使用了。。。
建议作者改正这一个Bug
我用的是Resin+mysql的配置,使用mysql-connector-java-3.1.12-bin.jar 这个lib包
评论者: djjtop 2006-1-17 17:24 (Tuesday)

关于dlog4jV2.0出现 "java.sql.SQLException: Cannot convert value '0000-00-00 00:00:00'
 from column 12 to TIMESTAMP." 的解决办法

看了看源程序,发现DlogUserAction.java中有对LastTime的修改(user.setLastTime(new Date())),但不知何故没有起作用。试着作了些调整,也不见有什么效果,一时也没有了头绪。

这时突然想起jdbc的zeroDateTimeBehavior参数,试着修改structs-config.xml,加入zeroDateTimeBehavior=convertToNull(注:缺省值为exception,支持此参数的mysql-connector-java版本应高于3.1.4),重新部署DLOG4J,问题解决。

我用的是linux+jboss+mysql的配置,使用mysql-connector-java-3.1.11-bin.jar,

 

评论者: 162.105.89.* 2007-3-18 16:08 (Sunday)

按照dlog4j安装手册进行安装,为何连tomcat都启动不了了?

姓名: 
邮箱:  {可选}
网址:  {可选} 此评论只有我和写日记的人查阅
校验码: ... <我看不清楚>

网记为您提供手机和互联网同步的个人主页,带给你不一样的体验