﻿<?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-jfy3d(剑事)BLOG</title><link>http://www.blogjava.net/jfy3d/</link><description>&lt;!--&lt;a href=http://www.myjavaserver.com/~jfy3d/  target=_blank&gt;&lt;img src='http://www.blogjava.net/images/blogjava_net/jfy3d/1610/t_myphoto.jpg' border='0' width='55' height='68'&gt;&lt;/a&gt;--&gt;
</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 13:09:14 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 13:09:14 GMT</pubDate><ttl>60</ttl><item><title>JAVA写的服务器监视器</title><link>http://www.blogjava.net/jfy3d/archive/2007/01/03/91545.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Wed, 03 Jan 2007 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2007/01/03/91545.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/91545.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2007/01/03/91545.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/91545.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/91545.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 功能包括对服务器的ping,http,socket 三种方式的检查，如服务器出现异常可通过短信，email 等方式报警通知。这样服务器异常就可以及时发现考虑到扩展，配置方便使用了Spring参数配置都在applicationContext.xml中，详细见下：&lt;?xml version="1.0" encoding="GBK"?&gt;&lt;!DOCTYPE beans PUBLIC "-...&nbsp;&nbsp;<a href='http://www.blogjava.net/jfy3d/archive/2007/01/03/91545.html'>阅读全文</a><img src ="http://www.blogjava.net/jfy3d/aggbug/91545.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2007-01-03 15:43 <a href="http://www.blogjava.net/jfy3d/archive/2007/01/03/91545.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA消息服务－JORAM （－）SERVER端配置</title><link>http://www.blogjava.net/jfy3d/archive/2006/04/11/40530.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Tue, 11 Apr 2006 15:06:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2006/04/11/40530.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/40530.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2006/04/11/40530.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/40530.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/40530.html</trackback:ping><description><![CDATA[
		<p>JORAM：支持JMS 1.1，支持持久化，有管理工具可以对消息队列进行管理。性能不错。<br />文档完整，就是中文方面资料较少。<br /><br />下载的软件包中已有自带配置文件，为了使用方便作了一些修改<br /><br />目录结构如下<br /><br />JORAM-4.3.14<br />                      |<br />                      |---[CONFIG]<br />                      |<br />                      |<br />                      |---[lib]<br />                      |<br />                      |<br />                      |---start-server.bat<br /><br />config中为自带的配置文件每次启动可以选不同的配置<br />lib中为所需要的jar包<br /><br />主要介绍下修改的start-server.bat<br /><br />－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br />Title 消息服务</p>
		<p>@echo off<br />REM Verify if JORAM_HOME is well defined<br />set JORAM_HOME=%CD%                  <font color="#a52a2a"> //%CD%可以动态得到当前路径，避免了在去手同设置JORAM_HOME的问题</font><br />if not exist "%JORAM_HOME%\bin\admin.bat" goto nokHome<br />REM Verify if JAVA_HOME is well defined<br />if not exist "%JAVA_HOME%\bin\java.exe" goto nokJava</p>
		<p>set CONFIG_DIR=%JORAM_HOME%\config<br />set JORAM_LIBS=%JORAM_HOME%\lib<br />set RUN_DIR=%JORAM_HOME%\run   <font color="#800080"></font><font color="#a52a2a">//服务启动时候会生成这个目录，这里也会生成一些运行文件</font></p>
		<p>REM  Building the Classpath<br />set CLASSPATH=%JORAM_LIBS%\joram-mom.jar<br />set CLASSPATH=%CLASSPATH%;%JORAM_LIBS%\joram-shared.jar<br />set CLASSPATH=%CLASSPATH%;%JORAM_LIBS%\JCup.jar<br />set CLASSPATH=%CLASSPATH%;%JORAM_LIBS%\jakarta-regexp-1.2.jar<br />set CLASSPATH=%CLASSPATH%;%JORAM_LIBS%\ow_monolog.jar<br />set CLASSPATH=%CLASSPATH%;%JORAM_LIBS%\jmxri.jar<br />set CLASSPATH=%CLASSPATH%;%JORAM_LIBS%\log4j-1.2.8.jar <font color="#a52a2a">//如果用别的log api这里就需要修改</font><br />set CLASSPATH=%CLASSPATH%;%RUN_DIR%</p>
		<p>mkdir %RUN_DIR%<br />copy %CONFIG_DIR%\a3config.dtd %RUN_DIR%\a3config.dtd<br />copy %CONFIG_DIR%\a3debug.cfg %RUN_DIR%\a3debug.cfg<br />copy %CONFIG_DIR%\centralized_a3servers.xml %RUN_DIR%\a3servers.xml  <font color="#a52a2a">//这里注意centralized_a3servers.xml中的NullTransaction 改成NTransaction 才可以支持持久化<br /></font>copy %CONFIG_DIR%\jndi.properties %RUN_DIR%\jndi.properties<br />cls<br />color A    <font color="#a52a2a">//指定DOS下字体颜色 可用可不用</font><br />echo %DATE% %time%<br />echo                             ------------------------<br />echo                             == 启动可持久性服务#0 ==<br />echo                             ------------------------<br />start /D %RUN_DIR% /B %JAVA_HOME%\bin\java -classpath %CLASSPATH% fr.dyade.aaa.agent.AgentServer 0 ./s0<br />goto end<br />:nokHome<br />echo The JORAM_HOME environment variable is not defined correctly<br />echo This environment variable is needed to run this program<br />goto end<br />:nokJava<br />echo The JAVA_HOME environment variable is not defined correctly<br />echo This environment variable is needed to run this program<br />goto end</p>
		<p>:end<br />－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－－<br /><br /><br /><br /><br /><br /><br /></p>
<img src ="http://www.blogjava.net/jfy3d/aggbug/40530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2006-04-11 23:06 <a href="http://www.blogjava.net/jfy3d/archive/2006/04/11/40530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebWork中自定义result视图使用POI生成Excel</title><link>http://www.blogjava.net/jfy3d/archive/2006/04/11/40430.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Tue, 11 Apr 2006 04:16:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2006/04/11/40430.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/40430.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2006/04/11/40430.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/40430.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/40430.html</trackback:ping><description><![CDATA[
		<p>WebWork中除了默认支持的几中视图外还可以自己来定义需要的视图，如JFreeChart,Excel等<br /><br />这里生成Excel用的是POI的API<br />WebWork中定义ResultType视图类型只需要继承Result接口<br />代码如下<br /><br />package com.customer.resulttype;</p>
		<p>import com.opensymphony.xwork.Result;<br />import com.opensymphony.xwork.ActionInvocation;<br />import com.opensymphony.webwork.ServletActionContext;<br />import org.apache.poi.hssf.usermodel.HSSFWorkbook;</p>
		<p>import javax.servlet.http.HttpServletResponse;<br />import java.io.OutputStream;</p>
		<p>public class ExcelResult implements Result{<br />    private HSSFWorkbook workbook;<br />    private String filename;<br />    private String contenttype;<br />    public void execute(ActionInvocation invocation) throws Exception {<br />        if(contenttype==null)<br />            contenttype = "application/ms-excel";<br />        if (workbook==null)<br />            workbook = (HSSFWorkbook) invocation.getStack().findValue("workbook");<br />       </p>
		<p>        HttpServletResponse response = ServletActionContext.getResponse();<br />        response.setContentType(contenttype);<br />        response.setHeader("Content-Disposition","attachment;Filename="+filename+".xls");<br />        OutputStream os = response.getOutputStream();<br />        workbook.write(os);<br />        os.flush();<br />        os.close();<br />    }</p>
		<p>    public void setWorkbook(HSSFWorkbook workbook) {<br />        this.workbook = workbook;<br />    }</p>
		<p>    public void setFilename(String filename) {<br />        this.filename = filename;<br />    }</p>
		<p>    public void setContenttype(String contenttype) {<br />        this.contenttype = contenttype;<br />    }<br />}<br /><br />视图做完之后做如下配置运行测试<br /><br />package com.customer.action;</p>
		<p>import com.opensymphony.xwork.ActionContext;<br />import com.opensymphony.xwork.ActionSupport;<br />import com.opensymphony.webwork.ServletActionContext;<br />import com.dboperate.ResultGather;<br />import org.apache.poi.hssf.usermodel.*;<br />import org.apache.poi.hssf.util.HSSFColor;</p>
		<p>import java.io.FileOutputStream;<br />import java.io.InputStream;<br />import java.io.InputStreamReader;<br />import java.io.ByteArrayInputStream;<br />import java.util.List;<br />import java.util.Map;</p>
		<p>public class ExportExcelAction extends ActionSupport {<br />    private HSSFWorkbook workbook;</p>
		<p>    public String execute() throws Exception {<br />        return SUCCESS;<br />    }</p>
		<p>    public String product() throws Exception {<br />        try {<br />            workbook = new HSSFWorkbook();<br />            HSSFSheet sheet = workbook.createSheet();</p>
		<p>            workbook.setSheetName(0, "厂商产品", (short) 1);<br />            HSSFRow row = sheet.createRow((short) 0);</p>
		<p>            HSSFCell cell0 = row.createCell((short) 0);<br />            HSSFCell cell1 = row.createCell((short) 1);<br />            HSSFCell cell2 = row.createCell((short) 2);<br />            HSSFCell cell3 = row.createCell((short) 3);<br />            HSSFCell cell4 = row.createCell((short) 4);<br />            HSSFCell cell5 = row.createCell((short) 5);<br />            HSSFCell cell6 = row.createCell((short) 6);<br />            HSSFCell cell7 = row.createCell((short) 7);<br />            HSSFCell cell8 = row.createCell((short) 8);<br />            HSSFCell cell9 = row.createCell((short) 9);</p>
		<p>            cell0.setEncoding(HSSFCell.ENCODING_UTF_16);//这里是设置编码保证中文正常显示<br />            cell1.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell2.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell3.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell4.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell5.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell6.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell7.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell8.setEncoding(HSSFCell.ENCODING_UTF_16);<br />            cell9.setEncoding(HSSFCell.ENCODING_UTF_16);</p>
		<p>            cell0.setCellValue("厂商名");<br />            cell1.setCellValue("产品名");<br />            cell2.setCellValue("重量");<br />            cell3.setCellValue("星级");<br />            cell4.setCellValue("parama");<br />            cell5.setCellValue("paramb");<br />            cell6.setCellValue("paramc");<br />            cell7.setCellValue("paramd");<br />            cell8.setCellValue("状态");<br />            cell9.setCellValue("备注");<br /><br />        } catch (Exception e) {<br />        }<br />        return SUCCESS;<br />    }</p>
		<p>    public HSSFWorkbook getWorkbook() {<br />        return workbook;<br />    }</p>
		<p>
				<br />}<br /><br />Xwork.xml中配置加入<br /><br />        &lt;result-type default="true" name="freemarker"<br />            &lt;result-type name="excel" class="com.customer.resulttype.ExcelResult"/&gt;<br />        &lt;/result-types&gt;<br /><br /> &lt;action name="exportExcel" class="com.customer.action.ExportExcelAction"&gt;</p>
		<p>            &lt;result name="success" type="excel"&gt;<br />                &lt;param name="filename"&gt;productparam&gt;<br />                <br />            &lt;/result&gt;</p>
		<p>        &lt;/action&gt;</p>
<img src ="http://www.blogjava.net/jfy3d/aggbug/40430.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2006-04-11 12:16 <a href="http://www.blogjava.net/jfy3d/archive/2006/04/11/40430.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>上大学后受影响的几本书</title><link>http://www.blogjava.net/jfy3d/archive/2006/04/02/38769.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sun, 02 Apr 2006 13:03:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2006/04/02/38769.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/38769.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2006/04/02/38769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/38769.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/38769.html</trackback:ping><description><![CDATA[<strong>《电脑报》</strong>类<br />
<img alt="dnb.jpg" src="http://www.blogjava.net/images/blogjava_net/jfy3d/dnb.jpg" border="0" height="140" width="103" /><br />
我得计算机只是基本上是从这些电脑杂志上学来的（除了BASIC,FOXPRO,VB,C的入门知识），几年下来也没几个钱，性价比确实比上大学强很大。<br />
刚开始的时候没有几个文章能看懂，不过还是坚持下来，每隔一段时间就重看一遍，每重看一遍就比以前多看懂一些。毕业一年多还保留这这些报纸。直到要进京的时候才被迫全部扔掉。<br />
<br />
<strong>《小魔神》</strong><br />
<img alt="59661.jpg" src="http://www.blogjava.net/images/blogjava_net/jfy3d/59661.jpg" border="0" height="141" width="100" /><br />
是讲电脑3D设计的书，技术含量不错，一个突出特点贵68元，当时来讲买过的最贵的书。<br />
因为这68元，下了学下去3D的决心。<br />
<br />
<strong>《火星人十日谈》</strong><br />
<img style="width: 103px; height: 123px;" alt="F04013764a.jpg" src="http://www.blogjava.net/images/blogjava_net/jfy3d/F04013764a.jpg" border="0" height="208" width="147" /><br />
3D人物动画是从这本书上学的，更主要的影响是从这本书知道了www.chinadv.com<br />
&#8220;导致&#8221;了之后的长春cger门的聚会，为进京也做了铺垫。这本书目前应该住在QVB那：)<br />
<br />
<strong>《人体建模必成功略》</strong><br />
<img style="width: 105px; height: 144px;" alt="2004428174823.gif" src="http://www.blogjava.net/images/blogjava_net/jfy3d/2004428174823.gif" border="0" height="464" width="338" /><br />
韩国人的书，技术含量不错纸张好书厚也特沉（贵好像78元）。只是书上的东西没学到手，不过从此让我承认了人体艺术的存在<br />
<br />
<strong>《Rhino 3d &amp;&nbsp;Cinema 4D 实战范例》<br />
</strong><img alt="2005102420525366764.jpg" src="http://www.blogjava.net/images/blogjava_net/jfy3d/2005102420525366764.jpg" border="0" height="152" width="110" /><br />
Rhino 工业建模的，很好的东西，现在还对它手痒，总想做个什么<br />
<br />
<strong>《Oreilly.Java.Servlet.And.JSP.Cookbook.eBook-LiB.chm》<br />
</strong>这个和CG就无关了<br />
我看过最好的最全面的讲servlet的书，到了看这本书的时候已经由&nbsp;CG变成程序员了,也不在是java菜鸟了<br />
 <img src ="http://www.blogjava.net/jfy3d/aggbug/38769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2006-04-02 21:03 <a href="http://www.blogjava.net/jfy3d/archive/2006/04/02/38769.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IntelliJ IDEA 5.x注册破解程序</title><link>http://www.blogjava.net/jfy3d/archive/2006/04/01/38659.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sat, 01 Apr 2006 15:02:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2006/04/01/38659.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/38659.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2006/04/01/38659.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/38659.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/38659.html</trackback:ping><description><![CDATA[
		<a href="/Files/jfy3d/crack_idea.zip">crack_idea.zip</a>
		<br />同样支持 6.x <img src ="http://www.blogjava.net/jfy3d/aggbug/38659.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2006-04-01 23:02 <a href="http://www.blogjava.net/jfy3d/archive/2006/04/01/38659.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webwork+Freemarker较完整的GRUD数据库操作例子（简单方便使用同一个页面INSERT，UPDATE。并带分页功能）</title><link>http://www.blogjava.net/jfy3d/archive/2006/03/14/35191.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Tue, 14 Mar 2006 02:52:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2006/03/14/35191.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/35191.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2006/03/14/35191.html#Feedback</comments><slash:comments>164</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/35191.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/35191.html</trackback:ping><description><![CDATA[
		<p>这个例子也是一直以来用webwork的足见形成的方式<br />虽然是简单例子，一些细节部分也做上去了<br /><br />以下是简单说明，详细可以参看源码<br /><br /><strong>VIEW<br /></strong>通常一个insert,update操作都可以通过一个页面来完成，<br />这里我设置form 的 action=""  这样他默认提交到的是当前URL。<br /><br /><strong>ACTION<br /></strong>在中定义几个方法,以user!insert.ww的方式访问，<br />这样grud操作就可以在一个ACTION中完成。<br />    public String insert() throws Exception {<br />        ....<br />    }</p>
		<p>    public String update() throws Exception {<br />        ....<br />    }</p>
		<p>    public String delete() throws Exception {<br />        ....<br />    }</p>
		<p>    public String list() throws Exception {<br />        ....<br />    }<br /><br /><strong>DAO</strong><br />下面是DAO接口<br />public interface BaseDao {<br />    public int insert(Object form);<br />    public int update(Object form);<br />    public int delete(Object form);<br />    public int delete(int[] id);//这里是为了支持批量删除<br />    public Map getInfo(Object form);<br />    public List getList();<br />    public void getList(Pagination page);//<font color="#0000ff">这里没有返回值，内详。。。。<br /></font>}</p>
		<p>
				<strong>EXTENDS<br /></strong>扩展部分<br />1 BaseAction<br />这里增加了一些公用方便的功能，便于其他ACTION继承，共用<br />2 DaoSupport<br />这里也是一些公用的功能，Dao中用的大部分SQL都是配置在外部配置文件中<br /><br /><br />3DaoFactory <br />public class DaoFactory {<br />    public static BaseDao getDao(String daoKey){<br />        if("user".equals(daoKey)) //这样的方式可以通过在XWORK.XML中配置ACTION使用哪个DAO（静态注入）<br />            return new UserDao();<br />        else<br />            return null;</p>
		<p>    }<br />}<br /><br /><br />数据库是MYSQL5<br /><br /><font color="#9acd32">CREATE TABLE `usertbl` (                                                                                                                                                                                                                                                                                                                 <br />           `User_ID` int(11) NOT NULL auto_increment,                                                                                                                                                                                                                                                                                             <br />           `username` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                   <br />           `password` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                   <br />           `truename` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                   <br />           `usersex` tinyint(4) default NULL,                                                                                                                                                                                                                                                                                                     <br />           `useremail` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  <br />           PRIMARY KEY  (`User_ID`)                                                                                                                                                                                                                                                                                                               <br />         )</font><br /><br />源码下载地址<br /><font color="#800080"><a href="http://www.migti.com/download.ww">http://www.migti.com/download.ww</a></font></p>
<img src ="http://www.blogjava.net/jfy3d/aggbug/35191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2006-03-14 10:52 <a href="http://www.blogjava.net/jfy3d/archive/2006/03/14/35191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决WEBWORK2.17中空文件上传时action报异常错误的问题</title><link>http://www.blogjava.net/jfy3d/archive/2006/02/20/31595.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Mon, 20 Feb 2006 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2006/02/20/31595.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/31595.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2006/02/20/31595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/31595.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/31595.html</trackback:ping><description><![CDATA[<P>webwork里上传文件比较方便，几行代码就可以完成。<BR>只是有个小问题，就是当form里的file控件没有选文件的时提交action <BR>就会出现异常,通常很多应用中不一定非要带文件上传的，这个应该<BR>算webwork一个bug吧。<BR><BR>从报错的地方可以查出是在fileupload拦截器中<BR>String[] fileName = multiWrapper.getFileNames(inputName);<BR>这一行开始中断掉的<BR>就是multiWrapper.getFileNames(inputName);中出现空指针错误<BR><BR>如果webwork.properties中配置的是pell上传包<BR>需要找到PellMultiPartRequest这个类的以下方法<BR>//--------------------------------------------------------------------------------------<BR>public String[] getFileNames(String fieldName) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO - not sure about this - is this the filename of the actual file or<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO - the uploaded filename as provided by the browser?<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// TODO - Not sure what version of Pell this class uses as it doesn't seem to be the latest&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //这里倒是说明了条件，就是不知道为什么还这么做<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new String[]{multi.getFile(fieldName).getName()};<BR>}<BR>---------------------------------------------------------------------------------------//<BR><BR><BR><BR>可以看到<BR>multi.getFile(fieldName).getName()如果文件为空肯定会报错的 <BR>可以先修改成以下方式<BR>//---------------------------------------------------------------------------------------<BR>public String[] getFileNames(String fieldName) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(multi.getFile(fieldName)!=null)&nbsp;&nbsp; //多加一个判断<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new String[]{multi.getFile(fieldName).getName()};<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return new String[]{};<BR>&nbsp;&nbsp;&nbsp; }<BR>----------------------------------------------------------------------------------------//<BR>这样form里file不选文件就不在出异常了<BR>用cos上传处理方法一样<BR><BR><BR><BR>除上面方法<BR>还修改fileupload拦截器也可以解决<BR>String[] fileName = multiWrapper.getFileNames(inputName);<BR>找到这行<BR>然后修改成下面样子<BR>//-----------------------------------------------------------------------------------<BR>String[] fileName =null;<BR><BR>try{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fileName = multiWrapper.getFileNames(inputName);<BR>}catch(Exception ex){<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//file is null<BR>}<BR>-----------------------------------------------------------------------------------//</P><img src ="http://www.blogjava.net/jfy3d/aggbug/31595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2006-02-20 10:15 <a href="http://www.blogjava.net/jfy3d/archive/2006/02/20/31595.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring+webwork+freemarker做了个聊天室 附源码下载</title><link>http://www.blogjava.net/jfy3d/archive/2005/12/21/24938.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Wed, 21 Dec 2005 05:22:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/12/21/24938.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/24938.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/12/21/24938.html#Feedback</comments><slash:comments>59</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/24938.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/24938.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://www.migti.com/download.ww">http://www.migti.com/download.ww</a>
		</p>
		<p> </p>
<img src ="http://www.blogjava.net/jfy3d/aggbug/24938.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-12-21 13:22 <a href="http://www.blogjava.net/jfy3d/archive/2005/12/21/24938.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jdk 5.0中文文档下载</title><link>http://www.blogjava.net/jfy3d/archive/2005/12/20/24712.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Tue, 20 Dec 2005 01:17:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/12/20/24712.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/24712.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/12/20/24712.html#Feedback</comments><slash:comments>22</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/24712.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/24712.html</trackback:ping><description><![CDATA[BR&gt;完整版中文版<br><a href="http://www.migti.com/download.ww">http://www.migti.com/download.ww</a><a href="http://www.migti.com/j2se.rar"></a> <br><br>下载暂停
<img src ="http://www.blogjava.net/jfy3d/aggbug/24712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-12-20 09:17 <a href="http://www.blogjava.net/jfy3d/archive/2005/12/20/24712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JFreeChart 图表文字模糊问题的有效解决方法</title><link>http://www.blogjava.net/jfy3d/archive/2005/12/06/22804.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Tue, 06 Dec 2005 15:55:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/12/06/22804.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/22804.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/12/06/22804.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/22804.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/22804.html</trackback:ping><description><![CDATA[JFreeChart 文字模糊问题不令人满意，网上有提到用修改字体的方式来改善，感觉还是效果不怎么样，所以继续测试，找到了比较满意的解决方法<BR>下面这个图是默认情况下显示的字体<BR><IMG height=300 alt=song.png src="http://www.blogjava.net/images/blogjava_net/jfy3d/song.png" width=400 border=0><BR>下面这个是改成黑体字候的显示情况<BR><IMG height=300 alt=hei.png src="http://www.blogjava.net/images/blogjava_net/jfy3d/hei.png" width=400 border=0><BR>可以看到改成黑体后效果有所改善，不过还是有点模糊<BR>继续看下一张<BR><IMG height=300 alt=qing.png src="http://www.blogjava.net/images/blogjava_net/jfy3d/qing.png" width=400 border=0><BR>这个是修改渲染参数后的效果&nbsp; 可以看到文字很清晰了，实际上和PHOTOSHOP里吧文字设置成名晰是一样的。将文字的抗锯齿参数关闭。<BR>控制这一功能的类就是RenderingHints<BR>将jfreechart里RenderingHints做文字渲染参数的修改<BR>jfreechart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);<BR><BR>VALUE_TEXT_ANTIALIAS_OFF表示将文字的抗锯齿关闭.<BR>使用的关闭抗锯齿后，字体尽量选择12到14号的宋体字。<BR>这样文字最清晰好看<img src ="http://www.blogjava.net/jfy3d/aggbug/22804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-12-06 23:55 <a href="http://www.blogjava.net/jfy3d/archive/2005/12/06/22804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring + hibernate + webwork + freemarker 整合配置</title><link>http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sun, 06 Nov 2005 15:48:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/18507.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/18507.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/18507.html</trackback:ping><description><![CDATA[<DIV class=postText>
<P>学习的时候看了网上的一些配置教程，没有达到想要的结果<BR>查了好多资料才弄出来，随后后自己整理出一个配置方法<BR><BR>web.xml&nbsp; <BR>// 这里不需要配置字符过滤，网上有的例子加了，实际上<BR>webwork.properties里设置如下就可以了页面也是GBK<BR>webwork.locale=zh_CN<BR>webwork.i18n.encoding=GBK<BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR>&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "<A href="http://java.sun.com/dtd/web-app_2_3.dtd"><FONT color=#000080>http://java.sun.com/dtd/web-app_2_3.dtd</FONT></A>"&gt;<BR>&lt;web-app&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;context-param&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;/WEB-INF/classes/applicationContext.xml&lt;/param-value&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/context-param&gt;<BR><BR>&nbsp;&lt;listener&gt;<BR>&nbsp;&nbsp;&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<BR>&nbsp;&lt;/listener&gt;</P>
<P>&nbsp;&lt;listener&gt;<BR>&nbsp;&nbsp;&lt;listener-class&gt;com.atlassian.xwork.ext.ResolverSetupServletContextListener&lt;/listener-class&gt;<BR>&nbsp;&lt;/listener&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;!--<BR>&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;context&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;org.springframework.web.context.ContextLoaderServlet&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;servlet&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;webwork&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;com.opensymphony.webwork.dispatcher.ServletDispatcher&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;3&lt;/load-on-startup&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/servlet&gt;</P>
<P>&nbsp;&lt;servlet&gt;<BR>&nbsp;&nbsp;&lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&lt;servlet-class&gt;com.opensymphony.webwork.views.freemarker.FreemarkerServlet&lt;/servlet-class&gt;<BR>&nbsp;&nbsp;&lt;load-on-startup&gt;10&lt;/load-on-startup&gt;<BR>&nbsp;&lt;/servlet&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;servlet-mapping&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;webwork&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;*.action&lt;/url-pattern&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/servlet-mapping&gt;</P>
<P>&nbsp;&lt;servlet-mapping&gt;<BR>&nbsp;&nbsp;&lt;servlet-name&gt;freemarker&lt;/servlet-name&gt;<BR>&nbsp;&nbsp;&lt;url-pattern&gt;*.ftl&lt;/url-pattern&gt;<BR>&nbsp;&lt;/servlet-mapping&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;welcome-file-list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/welcome-file-list&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;taglib&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;taglib-uri&gt;webwork&lt;/taglib-uri&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;taglib-location&gt;/WEB-INF/webwork.tld&lt;/taglib-location&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/taglib&gt;</P>
<P>&lt;/web-app&gt;<BR><BR>－－－－－－－－－－－－－－－－－－－－－－－－－－－<BR><BR>xwork.xml<BR><BR>==================---------------------------------------------<BR>&lt;?xml version="1.0"?&gt;<BR>&lt;!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "<A href="http://www.opensymphony.com/xwork/xwork-1.0.dtd"><FONT color=#000080>http://www.opensymphony.com/xwork/xwork-1.0.dtd</FONT></A>"&gt;</P>
<P>&lt;xwork&gt;</P>
<P>&nbsp;&nbsp;&lt;include file="webwork-default.xml"/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;package name="users" extends="webwork-default"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver"&gt;</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptors&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor name="reference-resolver" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-stack name="myDefaultWebStack"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="defaultStack"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="reference-resolver"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="model-driven"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;interceptor-ref name="params"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/interceptor-stack&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/interceptors&gt;<BR><BR>&lt;default-interceptor-ref name="myDefaultWebStack"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;action name="blogUser" class="com.jsblog.action.BlogUserAction"&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;external-ref name="baseDao"&gt;baseDaoTarget&lt;/external-ref&gt;&nbsp;&nbsp;&nbsp;&nbsp; //这里是把applicationContext里配置的DAO 注入action里 action里要有baseDao属性<BR>&nbsp;&nbsp;&nbsp;&lt;result name="success"&gt;/add.htm&lt;/result&gt;<BR>&nbsp;&nbsp;&lt;/action&gt;<BR>-------------------------------------------------------------------------<BR><BR>applicationContext.xml<BR><BR>---------------------------------------------------------------------------<BR>&lt;?xml version="1.0"?&gt;<BR>&lt;!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "<A href="http://www.springframework.org/dtd/spring-beans.dtd"><FONT color=#000080>http://www.springframework.org/dtd/spring-beans.dtd</FONT></A>"&gt;<BR>&lt;beans default-autowire="no" default-dependency-check="none" default-lazy-init="false"&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="driverClassName"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;com.microsoft.jdbc.sqlserver.SQLServerDriver&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="url"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsblog;SelectMethod=cursor&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="username"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;sa&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="password"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;jfy&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;bean id="sessionFactory"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.orm.hibernate.LocalSessionFactoryBean"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="dataSource"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="dataSource"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="mappingResources"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;value&gt;com/jsblog/BlogUserForm.hbm.xml&lt;/value&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/list&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="hibernateProperties"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;props&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="hibernate.dialect"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; net.sf.hibernate.dialect.SQLServerDialect<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;prop key="hibernate.show_sql"&gt;true&lt;/prop&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/props&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P>&nbsp;&nbsp;&nbsp; &lt;bean id="transactionManager"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; class="org.springframework.orm.hibernate.HibernateTransactionManager"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="sessionFactory"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="sessionFactory"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P><BR>&nbsp;&nbsp;&nbsp; &lt;bean id="baseDaoTarget" class="com.jsblog.dao.BlogUserDao"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;property name="sessionFactory"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ref local="sessionFactory"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/property&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/bean&gt;</P>
<P><BR>&lt;/beans&gt;<BR>---------------------------------------------------------------------------<BR><BR>BlogUserDao.java<BR>---------------------------------------------------------------------------<BR>package com.jsblog.dao;</P>
<P>import org.springframework.orm.hibernate.support.HibernateDaoSupport;<BR>import org.springframework.orm.hibernate.HibernateCallback;<BR>import org.springframework.orm.hibernate.SessionFactoryUtils;<BR>import com.jsblog.BlogUserForm;</P>
<P>import java.io.Serializable;<BR>import java.util.List;</P>
<P>import net.sf.hibernate.HibernateException;<BR>import net.sf.hibernate.Session;</P>
<P>public class BlogUserDao extends HibernateDaoSupport implements BaseDao {</P>
<P>&nbsp;&nbsp;&nbsp; public void insert(BlogUserForm bloguser) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getHibernateTemplate().save(bloguser);<BR>&nbsp;&nbsp;&nbsp; }</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>}</P></DIV><img src ="http://www.blogjava.net/jfy3d/aggbug/18507.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-11-06 23:48 <a href="http://www.blogjava.net/jfy3d/archive/2005/11/06/18507.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>可能是dom4j的BUG</title><link>http://www.blogjava.net/jfy3d/archive/2005/10/20/16190.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Thu, 20 Oct 2005 14:55:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/10/20/16190.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/16190.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/10/20/16190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/16190.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/16190.html</trackback:ping><description><![CDATA[
		<p>&lt;?xml:namespace prefix = soap /&gt;<br />&lt;soap:Body&gt; </p>
		<p>&lt;VERIFY xmlns="<a href="http://ormp.biz/webservices/">http://ormp.biz/webservices/</a>"&gt;<br />&lt;KEY&gt;guid&lt;/KEY&gt;<br />&lt;IP&gt;string&lt;/IP&gt;<br />&lt;/VERIFY&gt;<br />&lt;/soap:Body&gt;<br /><br /><br />verify有 名为 xmlns属性的时候就会报错<br /><br />附一个xml读写类<br />import org.dom4j.io.XMLWriter;<br />import org.dom4j.DocumentHelper;<br />import org.dom4j.Element;<br />import java.io.FileWriter;<br />import org.dom4j.io.OutputFormat;<br />import java.io.File;<br />import org.dom4j.Document;<br />import org.dom4j.io.SAXReader;</p>
		<p>public class XmlTool {<br />    private String filename;<br />    private SAXReader saxReader = null;<br />    private Document document = null;<br />    private Element cfgElement = null;<br />    public XmlTool(String filename) {<br />        this.filename = filename;<br />        try {<br />            saxReader = new SAXReader();<br />            document = saxReader.read(new File(filename));<br />        } catch (Exception ex) {<br />            ex.printStackTrace();<br />        }<br />    }</p>
		<p>    public void setValue(String key, String value) {<br />        int returnValue = 0;<br />        try {<br />            ((Element)( document.selectSingleNode(key))).setText(value);<br />        } catch (Exception ex) {<br />            ex.printStackTrace();<br />        }<br />    }<br />    public String getValue(String key) {<br />    int returnValue = 0;<br />    try {<br />        return ((Element)( document.selectSingleNode(key))).getText();<br />    } catch (Exception ex) {<br />        ex.printStackTrace();<br />        return "";<br />    }<br />}</p>
		<p>
				<br />    public int writeToFile() {<br />        int returnValue = 0;<br />        try {<br />            XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));<br />            writer.write(document);<br />            writer.close();<br />            returnValue = 1;<br />        } catch (Exception ex) {<br />            ex.printStackTrace();<br />        }<br />        return returnValue;<br />    }</p>
		<p>    public int formatXMLFile(String filename) {<br />        int returnValue = 0;<br />        try {<br />            SAXReader saxReader = new SAXReader();<br />            Document document = saxReader.read(new File(filename));<br />            XMLWriter output = null;<br />            OutputFormat format = OutputFormat.createPrettyPrint();<br />            format.setEncoding("GBK");<br />            output = new XMLWriter(new FileWriter(new File(filename)), format);<br />            output.write(document);<br />            output.close();<br />            returnValue = 1;<br />        } catch (Exception ex) {<br />            ex.printStackTrace();<br />        }<br />        return returnValue;<br />    }<br /><br />}<br /></p>
<img src ="http://www.blogjava.net/jfy3d/aggbug/16190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-10-20 22:55 <a href="http://www.blogjava.net/jfy3d/archive/2005/10/20/16190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JDBC简单封装,节省大量代码</title><link>http://www.blogjava.net/jfy3d/archive/2005/09/11/12681.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sun, 11 Sep 2005 12:15:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/09/11/12681.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/12681.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/09/11/12681.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/12681.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/12681.html</trackback:ping><description><![CDATA[<P>为了提高写程序效率，做了一个简单的封装JDBC类<BR><BR>SqLModify.java<BR><BR>使用方法<BR><BR>SqLModify.modify("insert into usertable(username,password)values('lucy','123456')");&nbsp; <BR>这个是静态方法的调用 可以执行insert&nbsp;&nbsp; update&nbsp; 和直接调用jdbc方式比少写了很多的代码<BR><BR>为了防止特殊字符 和 SQL注入可以用另外的调用方式<BR>SqLModify sqlcom = new SqlModify(true);&nbsp; //true表示建立连接<BR>sqlcom.setSql("insert into usertable(username,password)values(?,?)");&nbsp;<BR>sqlcom.setString(1,"lucy");<BR>sqlcom.setString(2,"123456");<BR>sqlcom.exesqlandClose();<BR><BR>如果是插入多条记录可以使用循环<BR><BR>SqLModify sqlcom = new SqlModify(true);&nbsp; //true表示建立连接<BR>sqlcom.setSql("insert into usertable(username,password)values(?,?)");&nbsp;<BR>for(int i=0;i&lt;30;i++)<BR>{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;sqlcom.setString(1,"lucy");<BR>&nbsp;&nbsp;&nbsp;sqlcom.setString(2,"123456");<BR>&nbsp;&nbsp;&nbsp;sqlcom.exesql();<BR>}<BR>sqlcom.closeall();<BR><BR><BR><BR><BR>SqlModify.java<BR>代码<BR><BR>import conn.DBConnManager;</P>
<P>import java.sql.Connection;<BR>import java.sql.PreparedStatement;</P>
<P>public class SqlModify <BR>{<BR>&nbsp;private String SQL;<BR>&nbsp;static SqlModify sqlcom = null;<BR>&nbsp;private DBConnManager conn = null;<BR>&nbsp;private Connection con = null;<BR>&nbsp;private PreparedStatement stmt = null;<BR>&nbsp;<BR>&nbsp;public SqlModify()<BR>&nbsp;{<BR>&nbsp;&nbsp;<BR>&nbsp;}<BR>&nbsp;public SqlModify(boolean connect)<BR>&nbsp;{<BR>&nbsp;&nbsp;if(connect)<BR>&nbsp;&nbsp;&nbsp;connect();<BR>&nbsp;}<BR>&nbsp;public static int modify(String sqlStr)<BR>&nbsp;{<BR>&nbsp;&nbsp;if(sqlcom==null)<BR>&nbsp;&nbsp; &nbsp;sqlcom = new SqlModify();<BR>&nbsp;&nbsp;return sqlcom.exec(sqlStr);<BR>&nbsp;}<BR>&nbsp;public PreparedStatement getStmt()<BR>&nbsp;{<BR>&nbsp;&nbsp;return stmt;<BR>&nbsp;}<BR>&nbsp;public void connect(String sqlStr)<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;connect();<BR>&nbsp;&nbsp;&nbsp;stmt = con.prepareStatement(sqlStr);<BR>&nbsp;&nbsp;}catch(Exception e){<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public void connect()<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;conn = DBConnManager.getInstance();<BR>&nbsp;&nbsp;&nbsp;con&nbsp; = conn.getConnection("mssql");<BR>&nbsp;&nbsp;}catch(Exception e){<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public int exesqlandClose()<BR>&nbsp;{<BR>&nbsp;&nbsp;int result = exesql();<BR>&nbsp;&nbsp;closeall();<BR>&nbsp;&nbsp;return result;<BR>&nbsp;}<BR>&nbsp;public int exesql()<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;return stmt.executeUpdate();<BR>&nbsp;&nbsp;}catch(Exception e){<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;&nbsp;return -1;<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public void setSql(String sql)<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;stmt = con.prepareStatement(sql);<BR>&nbsp;&nbsp;}catch(Exception e){<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;}finally{<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public int exec(String sqlStr)<BR>&nbsp;{<BR>&nbsp;&nbsp;int flag=-2;</P>
<P>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;connect(sqlStr);&nbsp;<BR>&nbsp;&nbsp;&nbsp;int value=stmt.executeUpdate();<BR>&nbsp;&nbsp;&nbsp;flag=value;<BR>&nbsp;&nbsp;}catch(java.lang.Exception ex){<BR>&nbsp;&nbsp;&nbsp;ex.printStackTrace();<BR>&nbsp;&nbsp;}finally{<BR>&nbsp;&nbsp;&nbsp;closeall();<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;return flag;<BR>&nbsp;}<BR>&nbsp;public void closeall()<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;if(stmt!=null)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;stmt.close();<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;if(conn!=null)<BR>&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;conn.releaseConnection("mssql",con);<BR>&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;}catch(Exception e){<BR>&nbsp;&nbsp;&nbsp;e.printStackTrace();<BR>&nbsp;&nbsp;}<BR>&nbsp;}<BR>&nbsp;public void setString(int col,String value)<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;stmt.setString(col,value);<BR>&nbsp;&nbsp;}catch(java.lang.Exception ex){<BR>&nbsp;&nbsp;&nbsp;ex.printStackTrace();<BR>&nbsp;&nbsp;}&nbsp;&nbsp;<BR>&nbsp;}<BR>&nbsp;public void setInt(int col,int value)<BR>&nbsp;{</P>
<P>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;stmt.setInt(col,value);<BR>&nbsp;&nbsp;}catch(java.lang.Exception ex){<BR>&nbsp;&nbsp;&nbsp;ex.printStackTrace();<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;}<BR>&nbsp;public void setLong(int col,long value)<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;stmt.setLong(col,value);<BR>&nbsp;&nbsp;}catch(java.lang.Exception ex){<BR>&nbsp;&nbsp;&nbsp;ex.printStackTrace();<BR>&nbsp;&nbsp;}&nbsp;<BR>&nbsp;}<BR>&nbsp;public void setFloat(int col,float value)<BR>&nbsp;{<BR>&nbsp;&nbsp;try{<BR>&nbsp;&nbsp;&nbsp;stmt.setFloat(col,value);<BR>&nbsp;&nbsp;}catch(java.lang.Exception ex){<BR>&nbsp;&nbsp;&nbsp;ex.printStackTrace();<BR>&nbsp;&nbsp;}&nbsp;<BR>&nbsp;}<BR>}<BR></P><img src ="http://www.blogjava.net/jfy3d/aggbug/12681.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-09-11 20:15 <a href="http://www.blogjava.net/jfy3d/archive/2005/09/11/12681.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个不错的ftp  java工具包</title><link>http://www.blogjava.net/jfy3d/archive/2005/08/28/11391.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sun, 28 Aug 2005 14:35:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/08/28/11391.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/11391.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/08/28/11391.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/11391.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/11391.html</trackback:ping><description><![CDATA[下载网站<BR><A href="http://www.enterprisedt.com/products/edtftpj/overview.html">http://www.enterprisedt.com/products/edtftpj/overview.html</A><BR><BR>FTPClient ftp  new FTPClient("211.136.186.169");建立连接<BR>ftp.login("username","password"); 登录<BR><A href='ftp://ftp.get("to file",'>ftp.get("to file",</A>"from ftp file"]);&nbsp;&nbsp;&nbsp;&nbsp; 下载文件<BR><A href='ftp://ftp.put("file1",'>ftp.put("file1",</A>"file2");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上传文件<img src ="http://www.blogjava.net/jfy3d/aggbug/11391.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-08-28 22:35 <a href="http://www.blogjava.net/jfy3d/archive/2005/08/28/11391.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短信游戏－棋盘战斗机</title><link>http://www.blogjava.net/jfy3d/archive/2005/07/02/7033.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sat, 02 Jul 2005 07:29:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/07/02/7033.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/7033.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/07/02/7033.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/7033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/7033.html</trackback:ping><description><![CDATA[<IMG height=20 src="http://www.blogjava.net/Emoticons/hitwall.gif" width=25 border=0><img src ="http://www.blogjava.net/jfy3d/aggbug/7033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-07-02 15:29 <a href="http://www.blogjava.net/jfy3d/archive/2005/07/02/7033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短信游戏－9点牌</title><link>http://www.blogjava.net/jfy3d/archive/2005/07/02/7032.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sat, 02 Jul 2005 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/07/02/7032.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/7032.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/07/02/7032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/7032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/7032.html</trackback:ping><description><![CDATA[<P>总共18张牌，1到9 各两张<BR><BR>开局每人两张，一张底牌，一张面牌<BR>面牌大先说话<BR><BR>手上两张牌大小规定<BR>&nbsp;&nbsp; －当两张牌点数不同，点数相加超过10点就减10，小于10点为相加点数，如一张5和3实际点数为8，一张5点一张8点实际点数为3<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 点数高的赢<BR>&nbsp;&nbsp; －当两张点数相同一对9最大一对1最小，相同两张牌要大于上面不同的两张牌<BR><BR></P><img src ="http://www.blogjava.net/jfy3d/aggbug/7032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-07-02 15:25 <a href="http://www.blogjava.net/jfy3d/archive/2005/07/02/7032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短信储藏箱</title><link>http://www.blogjava.net/jfy3d/archive/2005/07/02/7030.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sat, 02 Jul 2005 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/07/02/7030.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/7030.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/07/02/7030.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/7030.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/7030.html</trackback:ping><description><![CDATA[<STRONG>储藏箱模块<BR></STRONG><BR>个人短信储藏<BR>个人短信提取<BR>个人短信搜索<BR>个人短信删除<BR><BR><STRONG>公共短信交易模块<BR><BR></STRONG>个人短信C2C交易<BR>交易计费<img src ="http://www.blogjava.net/jfy3d/aggbug/7030.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-07-02 15:13 <a href="http://www.blogjava.net/jfy3d/archive/2005/07/02/7030.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>邮件群发器</title><link>http://www.blogjava.net/jfy3d/archive/2005/06/04/5560.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sat, 04 Jun 2005 06:51:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/06/04/5560.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/5560.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/06/04/5560.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/5560.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/5560.html</trackback:ping><description><![CDATA[java swing版本<BR><BR><IMG height=400 alt=yjqf.jpg src="http://www.blogjava.net/images/blogjava_net/jfy3d/yjqf.jpg" width=400 border=0><BR>支持html邮件<img src ="http://www.blogjava.net/jfy3d/aggbug/5560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-06-04 14:51 <a href="http://www.blogjava.net/jfy3d/archive/2005/06/04/5560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MMS手机智能图象适配系统（图）</title><link>http://www.blogjava.net/jfy3d/archive/2005/06/04/5558.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Sat, 04 Jun 2005 06:50:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/06/04/5558.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/5558.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/06/04/5558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/5558.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/5558.html</trackback:ping><description><![CDATA[<STRONG>java swing版本<BR></STRONG><IMG height=506 alt=imgsp.jpg src="http://www.blogjava.net/images/blogjava_net/jfy3d/imgsp.jpg" width=405 border=0><BR><BR>智能分析图片宽高，同时对长宽进行切割或缩放转换为指定尺寸，最小损失原图片<BR><BR>支持尺寸模式和数据库模式(使用手机厂商型号表)<BR><BR>转换速度 1900张/每分<BR><BR>目前只支持jpg格式<BR><BR>其他格式待加入中<BR><BR><STRONG>web实时版即将开发</STRONG><img src ="http://www.blogjava.net/jfy3d/aggbug/5558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-06-04 14:50 <a href="http://www.blogjava.net/jfy3d/archive/2005/06/04/5558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网站登录记忆跳转实现的一种方法</title><link>http://www.blogjava.net/jfy3d/archive/2005/06/02/5439.html</link><dc:creator>剑事</dc:creator><author>剑事</author><pubDate>Thu, 02 Jun 2005 01:03:00 GMT</pubDate><guid>http://www.blogjava.net/jfy3d/archive/2005/06/02/5439.html</guid><wfw:comment>http://www.blogjava.net/jfy3d/comments/5439.html</wfw:comment><comments>http://www.blogjava.net/jfy3d/archive/2005/06/02/5439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jfy3d/comments/commentRss/5439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jfy3d/services/trackbacks/5439.html</trackback:ping><description><![CDATA[<P>记忆登录跳转可以打打方便用户使用<BR>getHeader("Referer");方式简单不过不能处理post的参数<BR>本来都是用在struts,webwork里的，为了容易看明白改写成jsp方式的<BR><BR>-------------------------------------------------------------------------------------------------------------<BR>member.jsp&nbsp;&nbsp; //session限制访问页<BR><BR>&lt;%<BR>String url = ""<BR>if(session.getAttribute("username")==null)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url = myRedirect.dealurl(request);//记录当前地址和请求参数，dealurl将实际url处理了避免和要请求url有干扰,因为会有&amp; 字符<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;response.sendRedirect("weblogin.jsp?url＝"+url)&nbsp;;//重定向到登录页面<BR>}<BR>%&gt;<BR>-------------------------------------------------------------------------------------------<BR>weblogin.jsp<BR><BR>&lt;%<BR>String url = request.getParameter("url");<BR>String userid =request.getParameter("userid");<BR>String password =request.getParameter("password");<BR>if(userid!=null)&nbsp;//如果是登录提交执行下面代码<BR>{<BR><BR>&nbsp;if(登录成功)<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;session.setAttribute("userid",userid);&nbsp;<BR>&nbsp;&nbsp;&nbsp;out.println("&lt;script&gt;alert('登录成功，谢谢光临');self.location.href='"+myRedirect.geturl(url)+"';&lt;/script&gt;");//转向到首次请求的url，.geturl(url)是把转化过的地址转化回来变成真实url.<BR>&nbsp;&nbsp;}else{<BR>&nbsp;&nbsp;&nbsp;out.println("&lt;script&gt;alert('用户名或密码错误');history.back();&lt;/script&gt;");<BR>&nbsp;&nbsp;}<BR>}else{//如果不是登录提交显示现面登录界面<BR>%&gt;<BR>&lt;table width="311" height="162" border="0" align="center" cellpadding="0" cellspacing="0"&gt;<BR>&nbsp; &lt;tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; &lt;td width="311" height="162" align="center"&gt; 您还没有登录，请先登录&lt;br&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;table width="155" border="0" cellpadding="0" cellspacing="5" class="font12"&gt;<BR>&nbsp;&nbsp;&lt;form&nbsp; name="loginfrm" action="weblogin.jsp" method="post"&nbsp; id="loginfrm" onSubmit="return checkfrm();"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="41" height="33" valign="bottom"&gt;帐&amp;nbsp;号：&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td width="99" valign="bottom"&gt;&lt;input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"&gt;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;密&amp;nbsp;码：&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td&gt;&lt;input name="password" type="password" class="textstyle" id="password" size="12" style="height:20;width:94"&gt;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr align="center" valign="bottom"&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td height="21" colspan="2"&gt; &lt;input type="submit" name="Submit" value="登录"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &amp;nbsp; &lt;a href="reg.jsp" target="_blank"&gt;没有注册&lt;/a&gt;&amp;nbsp; &lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;tr align="center"&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td colspan="2" class="font14"&gt;&lt;strong&gt;&lt;a href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');return false;"&gt;找回密码&lt;/a&gt;&lt;/strong&gt;&lt;/td&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;input name="url" type="hidden" value="&lt;%=url%&gt;"&gt;这里要有个hidden来保存一下，不然提交就没了<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp; &lt;/form&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/table&gt;</P>
<P>&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; &lt;/td&gt;<BR>&nbsp; &lt;/tr&gt;<BR>&lt;/table&gt;<BR>&lt;%<BR>}<BR>%&gt;<BR><BR>-------------------------------------------------------------------------------------------------------<BR></P>
<P>myRedirect.java<BR><BR>package com.util;</P>
<P>import javax.servlet.http.HttpServletRequest;<BR>import java.util.Enumeration;</P>
<P>public class myRedirect&nbsp;&nbsp;&nbsp; //对url的转换类<BR>{<BR>&nbsp;public static String dealurl(HttpServletRequest request)<BR>&nbsp;{<BR>&nbsp;&nbsp;String url = "";<BR>&nbsp;&nbsp;url = request.getRequestURL()+"?";<BR>&nbsp;&nbsp;url +=param(request);<BR>&nbsp;&nbsp;if(url.indexOf("&amp;")&gt;-1)<BR>&nbsp;&nbsp;&nbsp;url=url.replaceAll("&amp;","@#@");//实际上就是把有&amp;的字符转化成了@#@<BR>&nbsp;&nbsp;return url;<BR>&nbsp;}<BR>&nbsp;public static String geturl(String url)//这个是还原方法<BR>&nbsp;{<BR>&nbsp;&nbsp;if(url.indexOf("@#@")&gt;-1)<BR>&nbsp;&nbsp;&nbsp;url=url.replaceAll("@#@","&amp;");<BR>&nbsp;&nbsp;return url;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;}<BR>&nbsp;public static String param(HttpServletRequest request)<BR>&nbsp;{<BR>&nbsp;&nbsp;String url = "";<BR>&nbsp;&nbsp;Enumeration param = request.getParameterNames();//得到所有参数名<BR>&nbsp;&nbsp;while(param.hasMoreElements())<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;String pname = param.nextElement().toString();<BR>&nbsp;&nbsp;&nbsp;url += pname+"="+request.getParameter(pname)+"&amp;";<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;if(url.endsWith("&amp;"))<BR>&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;url = url.substring(0,url.lastIndexOf("&amp;"));<BR>&nbsp;&nbsp;}<BR>&nbsp;&nbsp;return url;<BR>&nbsp;}<BR>}<BR>这样登录浏览器就会自动转到用户刚刚请求的地址</P><img src ="http://www.blogjava.net/jfy3d/aggbug/5439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jfy3d/" target="_blank">剑事</a> 2005-06-02 09:03 <a href="http://www.blogjava.net/jfy3d/archive/2005/06/02/5439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>