﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-Everything is a contribution</title><link>http://www.blogjava.net/idkkk/</link><description>走过Java的点点滴滴，与大家共勉～</description><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:03:18 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:03:18 GMT</pubDate><ttl>60</ttl><item><title>使用CVSUp镜像CVS库</title><link>http://www.blogjava.net/idkkk/archive/2007/11/26/163144.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 26 Nov 2007 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/11/26/163144.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/163144.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/11/26/163144.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/163144.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/163144.html</trackback:ping><description><![CDATA[<div><strong>*******************<br />
&nbsp; 配置cvs主服务器<br />
*******************</strong><br />
1. 安装cvsupd的软件包<br />
#rpm -iv cvsupd-16.1-0.fdr.6.h.rh90.i386.rpm<br />
注：cvsupd-16.1-0.fdr.6.h.rh90.i386.rpm是针对redhat9以及redhat ES3的cvsupd包<br />
&nbsp;&nbsp;&nbsp; 其他版本需要下载对应的软件包.<br />
<br />
2. 配置cvsupd<br />
#cd /usr/local/etc/<br />
#mkdir -p cvsup/sup/test<br />
#cd cvsup/sup/test<br />
注：/usr/local/etc/cvsup是cvsupd默认的base目录路径，具体可以用"man cvsupd"，查看其-b属性.<br />
&nbsp;&nbsp;&nbsp; 在sup目录下的子目录为collection，collection表示你需要备份的文件的集合.<br />
<br />
#vi releases<br />
cvs list=list.cvs prefix=/home/cvsroot<br />
注：其中prefix的值是cvs目录的根<br />
<br />
#vi releases<br />
upgrade apple<br />
注：其中apple是对应的cvs目录下module名称，如果有多个可以添加多个<br />
&nbsp;&nbsp;&nbsp; upgrade module1<br />
&nbsp;&nbsp;&nbsp; upgrade module2<br />
<br />
3. 启动cvsupd服务<br />
#cvsupd -C 1 -l cvsupd.log<br />
注：可以建立自启动脚本，新建/usr/local/etc/rc.d/cvsupd.sh, 添加如下内容：<br />
#!/bin/sh<br />
[ -x /usr/local/sbin/cvsupd ] &amp;&amp; \<br />
su -m nobody -c "/usr/local/sbin/cvsupd -e -C 8 -l @daemon" &amp;&amp; \<br />
echo -n ' cvsupd'<br />
<br />
使用命令"chmod 770"修改文件属性.<br />
<br />
<br />
<strong>*********************<br />
&nbsp; 配置cvs镜像服务器<br />
*********************<br />
</strong>1. 安装cvsup的软件包<br />
#rpm -iv cvsup-16.1-0.fdr.6.h.rh90.i386.rpm<br />
注：cvsup-16.1-0.fdr.6.h.rh90.i386.rpm是针对redhat9以及redhat ES3的cvsup包<br />
&nbsp;&nbsp;&nbsp; 其他版本需要下载对应的软件包.<br />
<br />
2. 配置cvsup<br />
#mkdir /cvsmirror<br />
#cd /cvsmirror<br />
#vi supfile<br />
*default host=192.168.100.92<br />
*default base=.<br />
*default release=cvs<br />
*default delete use-rel-suffix<br />
test<br />
注：其中host的值是cvs主服务器的ip地址，base表示存放镜像文件的位置<br />
<br />
3. 运行cvsup获取mirror<br />
#cvsup supfile<br />
注：可以使用cron定制计划任务，让客户端定时从服务器上获取cvs资源.<br />
&nbsp;&nbsp;&nbsp; 使用"crontab -e"命令添加计划，内容如下(每天的晚上10点执行cvsup任务)：<br />
&nbsp;&nbsp;&nbsp; 30 12 * * * /usr/bin/cvsup -L 2 -g /cvsbak/supfile
</div>
 <img src ="http://www.blogjava.net/idkkk/aggbug/163144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-11-26 13:36 <a href="http://www.blogjava.net/idkkk/archive/2007/11/26/163144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Linux9/Linux ES3上安装moinmoin</title><link>http://www.blogjava.net/idkkk/archive/2007/11/26/163107.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 26 Nov 2007 03:00:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/11/26/163107.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/163107.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/11/26/163107.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/163107.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/163107.html</trackback:ping><description><![CDATA[<p>在网上查找了好多wiki，对国际化的支持，最后选择了moinmoin，以下是搭建过程：<br />
</p>
<p><strong>1. 安装Python2.3.4版本</strong><br />
解压缩Python2.3.4包后，进入解压后的目录：<br />
#./configure --enable-unicode=ucs4<br />
#make<br />
#make install</p>
<p><strong>2. 安装moinmoin</strong><br />
解压缩moin安装包后，进入解压后的目录：<br />
#python2.3 setup.py --quiet install --record=install.log</p>
<p><strong>3. 建立一个wiki实例</strong><br />
#export PREFIX=/usr/local<br />
#export SHARE=$PREFIX/share/moin<br />
#export WIKILOCATION=$SHARE<br />
#export INSTANCE=moin.cgi</p>
<p>#export USER=apache<br />
#export GROUP=apache</p>
<p>#cd $WIKILOCATION<br />
#mkdir $INSTANCE<br />
#cp -R $SHARE/data $INSTANCE<br />
#cp -R $SHARE/underlay $INSTANCE<br />
#cp $SHARE/config/wikiconfig.py $INSTANCE</p>
<p>#chown -R $USER.$GROUP $INSTANCE<br />
#chmod -R ug+rwX $INSTANCE<br />
#chmod -R o-rwx $INSTANCE</p>
<p>#cd $WIKILOCATION/$INSTANCE<br />
#mkdir cgi-bin<br />
#cp $SHARE/server/moin.cgi cgi-bin<br />
#chown -R $USER.$GROUP cgi-bin<br />
#chmod -R ug+rx cgi-bin<br />
#chmod -R o-rwx cgi-bin<br />
#vi cgi-bin/moin.cgi<br />
修改第一行为：#!/usr/local/bin/python2.3<br />
增加如下内容：<br />
import sys<br />
sys.path.insert(0, '/usr/local/share/moin/moin.cgi')</p>
<p>#echo "" &gt;&gt;/etc/httpd/conf/httpd.conf<br />
#echo "Alias /wiki/ \"$SHARE/htdocs/\"" &gt;&gt;/etc/httpd/conf/httpd.conf<br />
#echo "ScriptAlias /mywiki \"$WIKILOCATION/$INSTANCE/cgi-bin/moin.cgi\"" &gt;&gt;/etc/httpd/conf/httpd.conf<br />
#echo "Alias /wikiattach/ \"/usr/local/share/moin/moin.cgi/data/pages/\""&gt;&gt;/etc/httpd/conf/httpd.conf</p>
<p><strong>3. 修改wiki的配置文件wikiconfig.py</strong><br />
sitename = u'SoftBrain Wiki'<br />
logo_string = sitename<br />
interwikiname = None</p>
<p>data_dir = '../data/'<br />
data_underlay_dir = '../underlay/'<br />
url_prefix = '/wiki'</p>
<p>allowed_actions = ['DeletePage', 'AttachFile', 'RenamePage']<br />
attachments = {<br />
'dir': '../data/pages',<br />
'url': '/wikiattach',<br />
}</p>
<p>acl_enabled = 1    </p>
<p>acl_rights_default = 'All:read'<br />
acl_rights_before = "liu chunping,zhaowm,zhangcg,wenyp,xiajx,fuxw,chenjing,chu,shichida:read,write,delete,revert,admin"</p>
<p><br />
mail_smarthost = "192.168.99.2"<br />
mail_from = "xiajx@hotmail.com"<br />
mail_login = ""</p>
<p>navi_bar = [<br />
# Will use page_front_page, (default FrontPage)<br />
u'%(page_front_page)s',<br />
u'RecentChanges',<br />
u'FindPage',<br />
u'HelpContents',<br />
]</p>
<p>theme_default = 'modern'</p>
<p>charset = "utf-8"<br />
upperletters = "A-Z"<br />
lowerletters = "0-9a-z"</p>
<p>default_lang = 'zh'</p>
<p>page_category_regex = u'^Category[A-Z]'<br />
page_dict_regex = u'[a-z]Dict$'<br />
page_form_regex = u'[a-z]Form$'<br />
page_group_regex = u'[a-z]Group$'<br />
page_template_regex = u'[a-z]Template$'</p>
<p>show_hosts = 1                  <br />
show_section_numbers = 0<br />
chart_options = {'width': 600, 'height': 300}</p>
<p><strong>4. 修改/usr/local/lib/python2.3/site-packages/MoinMoin/i18n目录下的zh.py文件(大概在59-64行)，</strong><br />
纠正编辑时候的javascript错误，做如下修改：<br />
'''您对'%(lock_page)s'的编辑锁定已经超时!''',<br />
'''您对'%(lock_page)s'的锁定将在#分钟内失效.''',<br />
'''您对'%(lock_page)s'的锁定将在#秒内失效.''',</p>
<p><br />
注意：对于moinmoin的迁移则不用进行步骤3、4，直接把原来的mywiki整个目录拷贝到/usr/local/share/moin目录即可；<br />
如果需要单独对某页进行权限控制，只需要管理员在编辑该页时，将以下内容添加到第一行即可：<br />
#acl Trusted:read,write,delete,revert Known:read,write,delete,revert All:read</p>
<img src ="http://www.blogjava.net/idkkk/aggbug/163107.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-11-26 11:00 <a href="http://www.blogjava.net/idkkk/archive/2007/11/26/163107.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>设置Linux启动时进入的默认环境</title><link>http://www.blogjava.net/idkkk/archive/2007/11/26/163103.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 26 Nov 2007 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/11/26/163103.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/163103.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/11/26/163103.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/163103.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/163103.html</trackback:ping><description><![CDATA[如果需要设置linux默认进入的模式，5表示图形模式，3表示文本模式。<br />
修改/etc/inittab文件，将第一行的id:5:initdefault中的数字修改为3进入文本模式。
<img src ="http://www.blogjava.net/idkkk/aggbug/163103.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-11-26 10:58 <a href="http://www.blogjava.net/idkkk/archive/2007/11/26/163103.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实现简单ping检测的Shell</title><link>http://www.blogjava.net/idkkk/archive/2007/11/26/163096.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 26 Nov 2007 02:49:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/11/26/163096.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/163096.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/11/26/163096.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/163096.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/163096.html</trackback:ping><description><![CDATA[最近有这样一个需求，需要知道目标机器是否是live状态，通过脚本发送ping其实是一个最原始的办法，一般情况不推荐使用，以下是实现思路。<br />
<p>#!/bin/bash<br />
# use the script to confirm the hosts are alive or not<br />
VIDEO_1=192.168.99.3<br />
VIDEO_2=192.168.99.4<br />
VIDEO_3=192.168.99.5</p>
<p>for LOOP in $VIDEO_1 $VIDEO_2 $VIDEO_3<br />
do<br />
&nbsp; if ! ping -c 3 $LOOP &gt; /dev/null 2&gt;&amp;1; then<br />
&nbsp;&nbsp;&nbsp; echo "Warning:The host $LOOP seems down" &gt;&gt; error.log<br />
&nbsp; fi<br />
done</p>
<p>if [ -f error.log ]; then<br />
&nbsp; mail -s "Warning:Host Down" xiajx@hotmail.com &lt; error.log<br />
&nbsp; rm -f error.log<br />
fi</p>
<br />
<br />
<img src ="http://www.blogjava.net/idkkk/aggbug/163096.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-11-26 10:49 <a href="http://www.blogjava.net/idkkk/archive/2007/11/26/163096.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux下使用chkconfig设置自启动脚本</title><link>http://www.blogjava.net/idkkk/archive/2007/11/26/163094.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 26 Nov 2007 02:47:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/11/26/163094.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/163094.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/11/26/163094.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/163094.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/163094.html</trackback:ping><description><![CDATA[<p>(以配置自启动Tomcat为例子)<br />
<strong>1) 在/etc/rc.d/init.d/下新建startTomcat，添加如下内容：</strong><br />
#!/bin/sh<br />
# chkconfig: 345 63 37<br />
# description: tomcat server init script<br />
su - root -c '/usr/local/tomcat/bin/startup.sh'</p>
<p><strong>2) 修改文件属性为可以执行权限</strong><br />
#chmod 755 startTomcat</p>
<p><strong>3) 配置脚本</strong><br />
#chkconfig --level 345 startTomcat on</p>
<img src ="http://www.blogjava.net/idkkk/aggbug/163094.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-11-26 10:47 <a href="http://www.blogjava.net/idkkk/archive/2007/11/26/163094.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在struts中使用validator执行UI验证</title><link>http://www.blogjava.net/idkkk/archive/2007/11/26/163093.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 26 Nov 2007 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/11/26/163093.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/163093.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/11/26/163093.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/163093.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/163093.html</trackback:ping><description><![CDATA[<p>在使用struts时，如果使用common validator进行页面数据的有效性验证时，可以减少很多代码量，通过配置文件就可以方便的进行数据的校验工作.<br />
<br />
在做所有的配置前，先检查jsp页面是否有以下内容(没有请添加上)：<br />
&lt;%-- Error Messages --%&gt;<br />
&lt;logic:messagesPresent&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;div class="error"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;html:messages id="error"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:out value="${error}"/&gt;&lt;br/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/html:messages&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&lt;/logic:messagesPresent&gt;<br />
<br />
&lt;%-- Success Messages --%&gt;<br />
&lt;logic:messagesPresent message="true"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;div class="message"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;html:messages id="message" message="true"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;c:out value="${message}"/&gt;&lt;br/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/html:messages&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/div&gt;<br />
&lt;/logic:messagesPresent&gt;<br />
<br />
其中的css可以自己根据需要定义，上面使用JSTL标签.<br />
<br />
使用validator需要进行如下配置：<br />
1) 首先在struts-config.xml中添加:
<plug-in classname="org.apache.struts.validator.ValidatorPlugIn"><br />
&lt;plug-in className="org.apache.struts.validator.ValidatorPlugIn"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/&gt;<br />
&lt;/plug-in&gt;<br />
<br />
2) 配置validation.xml文件，内容如下：<br />
&lt;form-validation&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;formset&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;form name="loginForm"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="userid" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.user.id" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="password" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.password" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="repasswd" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.password.retry" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="username" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.username" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="sex" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.sex" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="college" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.college" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="department" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.department" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="idNumber" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.id.number" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="birthday" depends="required, date"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.birthday" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="telephone" depends="required"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.telephone" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;field property="email" depends="required, email"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;arg0 key="login.email" /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/field&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/form&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/formset&gt;<br />
&lt;/form-validation&gt;</plug-in>
</p>
<p>
<plug-in classname="org.apache.struts.validator.ValidatorPlugIn"><br />
</plug-in>
</p>
<form name="loginForm">
    <field property="userid" depends="required"><field property="password" depends="required"><field property="repasswd" depends="required"><field property="username" depends="required"><field property="sex" depends="required"><field property="college" depends="required"><field property="department" depends="required"><field property="idNumber" depends="required"><field property="birthday" depends="required, date">3) 在struts中设置对应的action的validate值为true：<br />
    &lt;action
    path="/login" name="loginForm" parameter="method"
    type="com.timeshonor.struts.action.LoginAction" validate="true"
    input="/login.jsp"&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;forward name="success" path="/success.jsp" /&gt;<br />
    &lt;/action&gt;<br />
    <action path="/login" name="loginForm" parameter="method" type="com.timeshonor.struts.action.LoginAction" validate="true" input="loginDef">如果使用的是动态Form，则在struts-config.xml中会有如下配置：<br />
    &lt;form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm"&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="userid" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="password" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="repasswd" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="username" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="sex" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="college" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="department" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="idNumber" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="birthday" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="telephone" type="java.lang.String" /&gt;<br />
    &nbsp;&nbsp;&nbsp; &lt;form-property name="email" type="java.lang.String" /&gt;<br />
    &lt;/form-bean&gt;<br />
    注：validator插件不支持struts的ActionForm验证，只支持</action></field></field></field></field></field></field></field></field></field>DynaValidatorForm和ValidatorForm验证，如果不使用动态form可以让需要验证的Form类从ValidatorForm继承，不需要实现validate方法.<br />
    <br />
    <field property="userid" depends="required"><field property="password" depends="required"><field property="repasswd" depends="required"><field property="username" depends="required"><field property="sex" depends="required"><field property="college" depends="required"><field property="department" depends="required"><field property="idNumber" depends="required"><field property="birthday" depends="required, date"><action path="/login" name="loginForm" parameter="method" type="com.timeshonor.struts.action.LoginAction" validate="true" input="loginDef">
    <form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="userid" type="java.lang.String">
    <form-property name="password" type="java.lang.String">
    <form-property name="repasswd" type="java.lang.String">
    <form-property name="username" type="java.lang.String">
    <form-property name="sex" type="java.lang.String">
    <form-property name="college" type="java.lang.String">
    <form-property name="department" type="java.lang.String">
    <form-property name="idNumber" type="java.lang.String">
    <form-property name="birthday" type="java.lang.String">
    <form-property name="telephone" type="java.lang.String">
    4) 执行完1、2、3步就可以执行UI服务器端验证，如果想配置前台javascript验证时，还需要做如下配置：<br />
    a) 修改对应的页面form
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-property>
    </form-bean>
    </action></field></field></field></field></field></field></field></field></field>为如下内容：<br />
    &lt;html:form action="/login" method="post" onsubmit="return validateLoginForm(this);"&gt;<br />
    b) 确保下面这一行内容在对应页面的form里：<br />
    &lt;html:submit&gt;提交&lt;/html:submit&gt;<br />
    c) 在页面的form元素后面添加以下内容：<br />
    &lt;html:javascript formName="loginForm" dynamicJavascript="true" staticJavascript="true" /&gt;
</form>
<img src ="http://www.blogjava.net/idkkk/aggbug/163093.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-11-26 10:45 <a href="http://www.blogjava.net/idkkk/archive/2007/11/26/163093.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>调整weblogic的使用内存</title><link>http://www.blogjava.net/idkkk/archive/2007/07/16/130486.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 16 Jul 2007 01:48:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/07/16/130486.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/130486.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/07/16/130486.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/130486.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/130486.html</trackback:ping><description><![CDATA[修改对应的domain下面的启动脚本，比如：weblogic安装目录下对应domain的启动脚本：startWeblogic.sh，追加<br>Windows: <br>set MEM_ARGS=-Xms2045m -Xmx2560m<br>Unix:<br>MEM_ARGS="-Xms1024m -Xmx2048m" <br><br>注：Xms表示最小内存，Xmx表示最大内存。
<img src ="http://www.blogjava.net/idkkk/aggbug/130486.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-07-16 09:48 <a href="http://www.blogjava.net/idkkk/archive/2007/07/16/130486.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>clearcase递归追加文件及目录</title><link>http://www.blogjava.net/idkkk/archive/2007/07/16/130485.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 16 Jul 2007 01:45:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/07/16/130485.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/130485.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/07/16/130485.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/130485.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/130485.html</trackback:ping><description><![CDATA[将D:\editor及其所有子目录文件进行source control，可以进入命令行状态，运行以下命令：<br>clearfsimport -recurse -nsetevent D:\editor Z:\USE_PD_DEPT\alex\components\FCKeditor<br><br>注意：后面的表示视图的全路径。<br>
<img src ="http://www.blogjava.net/idkkk/aggbug/130485.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-07-16 09:45 <a href="http://www.blogjava.net/idkkk/archive/2007/07/16/130485.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>mysql启动时候出现1067错误</title><link>http://www.blogjava.net/idkkk/archive/2007/07/16/130484.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Mon, 16 Jul 2007 01:43:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/07/16/130484.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/130484.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/07/16/130484.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/130484.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/130484.html</trackback:ping><description><![CDATA[<br>如果mysql启动的时候出现1067错误，可以按照以下方式解决：<br><br><br>修改%windows%目录下的my.ini文件，添加以下内容：<br>[mysqld]<br>#set basedir to the installationpath<br>basedir=C:/develop/mysql4.0.16<br>datadir=C:/develop/mysql4.0.16/data
<img src ="http://www.blogjava.net/idkkk/aggbug/130484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-07-16 09:43 <a href="http://www.blogjava.net/idkkk/archive/2007/07/16/130484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>web.xml的filter执行顺序导致的乱码，切记！</title><link>http://www.blogjava.net/idkkk/archive/2007/01/31/97015.html</link><dc:creator>Kevin Xia</dc:creator><author>Kevin Xia</author><pubDate>Wed, 31 Jan 2007 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/idkkk/archive/2007/01/31/97015.html</guid><wfw:comment>http://www.blogjava.net/idkkk/comments/97015.html</wfw:comment><comments>http://www.blogjava.net/idkkk/archive/2007/01/31/97015.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/idkkk/comments/commentRss/97015.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/idkkk/services/trackbacks/97015.html</trackback:ping><description><![CDATA[    今天跟项目组做集成的时候发现一个很奇怪的乱码问题，web.xml的filter、jsp页面均进行了编码设置， 反复调试发现引起bug的原因是web.xml的下面几行：<br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;SecurityFilter&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;<br /><br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;CharacterEncoding&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;<br /><br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;CharacterEncoding&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;<br /><br />根据servlet2.3规范filter执行是按照web.xml配置的filter-mapping先后顺序进行执行，所以上面的配置会导致遇见*.do的url请求，先进行SecurityFilter的过滤器处理，这时候没有做编码处理，已经是乱码，到下面的filter处理时已经时乱码，再做编码处理已经没有用处。<br /><br />修正方式，调整filter-mapping顺序，如下：<br /><br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;CharacterEncoding&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;<br /><br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;CharacterEncoding&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;<br /><br />    &lt;filter-mapping&gt;<br />        &lt;filter-name&gt;SecurityFilter&lt;/filter-name&gt;<br />        &lt;url-pattern&gt;*.do&lt;/url-pattern&gt;<br />    &lt;/filter-mapping&gt;<img src ="http://www.blogjava.net/idkkk/aggbug/97015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/idkkk/" target="_blank">Kevin Xia</a> 2007-01-31 17:04 <a href="http://www.blogjava.net/idkkk/archive/2007/01/31/97015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>