??xml version="1.0" encoding="utf-8" standalone="yes"?>日本在线免费观看一区,亚洲第一搞黄网站,成人99免费视频http://www.aygfsteel.com/jfy3d/<!--<a href=http://www.myjavaserver.com/~jfy3d/ target=_blank><img src='http://www.aygfsteel.com/images/blogjava_net/jfy3d/1610/t_myphoto.jpg' border='0' width='55' height='68'></a>--> zh-cnSat, 17 May 2025 19:48:09 GMTSat, 17 May 2025 19:48:09 GMT60JAVA写的服务器监视器http://www.aygfsteel.com/jfy3d/archive/2007/01/03/91545.html剑事剑事Wed, 03 Jan 2007 07:43:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2007/01/03/91545.htmlhttp://www.aygfsteel.com/jfy3d/comments/91545.htmlhttp://www.aygfsteel.com/jfy3d/archive/2007/01/03/91545.html#Feedback13http://www.aygfsteel.com/jfy3d/comments/commentRss/91545.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/91545.html阅读全文

剑事 2007-01-03 15:43 发表评论
]]>
JAVA消息服务QJORAM Q-QSERVER端配|?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2006/04/11/40530.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/40530.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2006/04/11/40530.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/40530.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/40530.html</trackback:ping><description><![CDATA[ <p>JORAMQ支持JMS 1.1Q支持持久化Q有理工具可以Ҏ息队列进行管理。性能不错?br />文档完整Q就是中文方面资料较?br /><br />下蝲的Y件包中已有自带配|文ӞZ使用方便作了一些修?br /><br />目录l构如下<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 />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br />Title 消息服务</p> <p>@echo off<br />REM Verify if JORAM_HOME is well defined<br />set JORAM_HOME=%CD%                  <font color="#a52a2a"> //%CD%可以动态得到当前\径,避免了在L同设|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">//服务启动时候会生成q个目录Q这里也会生成一些运行文?/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 apiq里需要修?/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">//q里注意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 />Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?br /><br /><br /><br /><br /><br /><br /></p> <img src ="http://www.aygfsteel.com/jfy3d/aggbug/40530.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2006-04-11 23:06 <a href="http://www.aygfsteel.com/jfy3d/archive/2006/04/11/40530.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebWork中自定义result视图使用POI生成Excelhttp://www.aygfsteel.com/jfy3d/archive/2006/04/11/40430.html剑事剑事Tue, 11 Apr 2006 04:16:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/04/11/40430.htmlhttp://www.aygfsteel.com/jfy3d/comments/40430.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/04/11/40430.html#Feedback5http://www.aygfsteel.com/jfy3d/comments/commentRss/40430.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/40430.htmlWebWork中除了默认支持的几中视图外还可以自己来定义需要的视图Q如JFreeChart,Excel{?br />
q里生成Excel用的是POI的API
WebWork中定义ResultType视图cd只需要承Result接口
代码如下

package com.customer.resulttype;

import com.opensymphony.xwork.Result;
import com.opensymphony.xwork.ActionInvocation;
import com.opensymphony.webwork.ServletActionContext;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream;

public class ExcelResult implements Result{
    private HSSFWorkbook workbook;
    private String filename;
    private String contenttype;
    public void execute(ActionInvocation invocation) throws Exception {
        if(contenttype==null)
            contenttype = "application/ms-excel";
        if (workbook==null)
            workbook = (HSSFWorkbook) invocation.getStack().findValue("workbook");
      

        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType(contenttype);
        response.setHeader("Content-Disposition","attachment;Filename="+filename+".xls");
        OutputStream os = response.getOutputStream();
        workbook.write(os);
        os.flush();
        os.close();
    }

    public void setWorkbook(HSSFWorkbook workbook) {
        this.workbook = workbook;
    }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    public void setContenttype(String contenttype) {
        this.contenttype = contenttype;
    }
}

视图做完之后做如下配|运行测?br />
package com.customer.action;

import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.webwork.ServletActionContext;
import com.dboperate.ResultGather;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.hssf.util.HSSFColor;

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ByteArrayInputStream;
import java.util.List;
import java.util.Map;

public class ExportExcelAction extends ActionSupport {
    private HSSFWorkbook workbook;

    public String execute() throws Exception {
        return SUCCESS;
    }

    public String product() throws Exception {
        try {
            workbook = new HSSFWorkbook();
            HSSFSheet sheet = workbook.createSheet();

            workbook.setSheetName(0, "厂商产品", (short) 1);
            HSSFRow row = sheet.createRow((short) 0);

            HSSFCell cell0 = row.createCell((short) 0);
            HSSFCell cell1 = row.createCell((short) 1);
            HSSFCell cell2 = row.createCell((short) 2);
            HSSFCell cell3 = row.createCell((short) 3);
            HSSFCell cell4 = row.createCell((short) 4);
            HSSFCell cell5 = row.createCell((short) 5);
            HSSFCell cell6 = row.createCell((short) 6);
            HSSFCell cell7 = row.createCell((short) 7);
            HSSFCell cell8 = row.createCell((short) 8);
            HSSFCell cell9 = row.createCell((short) 9);

            cell0.setEncoding(HSSFCell.ENCODING_UTF_16);//q里是设|编码保证中文正常显C?br />            cell1.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell2.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell3.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell4.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell5.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell6.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell7.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell8.setEncoding(HSSFCell.ENCODING_UTF_16);
            cell9.setEncoding(HSSFCell.ENCODING_UTF_16);

            cell0.setCellValue("厂商?);
            cell1.setCellValue("产品?);
            cell2.setCellValue("重量");
            cell3.setCellValue("星");
            cell4.setCellValue("parama");
            cell5.setCellValue("paramb");
            cell6.setCellValue("paramc");
            cell7.setCellValue("paramd");
            cell8.setCellValue("状?);
            cell9.setCellValue("备注");

        } catch (Exception e) {
        }
        return SUCCESS;
    }

    public HSSFWorkbook getWorkbook() {
        return workbook;
    }


}

Xwork.xml中配|加?br />
        <result-type default="true" name="freemarker"
            <result-type name="excel" class="com.customer.resulttype.ExcelResult"/>
        </result-types>

 <action name="exportExcel" class="com.customer.action.ExportExcelAction">

            <result name="success" type="excel">
                <param name="filename">productparam>
               
            </result>

        </action>



剑事 2006-04-11 12:16 发表评论
]]>
上大学后受媄响的几本?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2006/04/02/38769.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/38769.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2006/04/02/38769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/38769.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/38769.html</trackback:ping><description><![CDATA[<strong>《电脑报?/strong>c?br /> <img alt="dnb.jpg" src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/dnb.jpg" border="0" height="140" width="103" /><br /> 我得计算机只是基本上是从q些电脑杂志上学来的Q除了BASIC,FOXPRO,VB,C的入门知识)Q几q下来也没几个钱Q性h比确实比上大学强很大?br /> 刚开始的时候没有几个文章能看懂Q不q还是坚持下来,每隔一D|间就重看一遍,每重看一遍就比以前多看懂一些。毕业一q多q保留这q些报纸。直到要q京的时候才被迫全部扔掉?br /> <br /> <strong>《小神?/strong><br /> <img alt="59661.jpg" src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/59661.jpg" border="0" height="141" width="100" /><br /> 是讲电脑3D设计的书Q技术含量不错,一个突出特点贵68元,当时来讲买过的最늚书?br /> 因ؓq?8元,下了学下?D的决心?br /> <br /> <strong>《火星h十日谈?/strong><br /> <img style="width: 103px; height: 123px;" alt="F04013764a.jpg" src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/F04013764a.jpg" border="0" height="208" width="147" /><br /> 3D人物动画是从q本书上学的Q更主要的媄响是从这本书知道了www.chinadv.com<br /> “D”了之后的长春cger门的聚会Qؓq京也做了铺垫。这本书目前应该住在QVB那:)<br /> <br /> <strong>《h体徏模必成功略?/strong><br /> <img style="width: 105px; height: 144px;" alt="2004428174823.gif" src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/2004428174823.gif" border="0" height="464" width="338" /><br /> 韩国人的书,技术含量不错纸张好书厚也特沉(贵好?8元)。只是书上的东西没学到手Q不q从此让我承认了Z艺术的存?br /> <br /> <strong>《Rhino 3d & Cinema 4D 实战范例?br /> </strong><img alt="2005102420525366764.jpg" src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/2005102420525366764.jpg" border="0" height="152" width="110" /><br /> Rhino 工业建模的,很好的东西,现在q对它手痒,L做个什?br /> <br /> <strong>《Oreilly.Java.Servlet.And.JSP.Cookbook.eBook-LiB.chm?br /> </strong>q个和CG无关了<br /> 我看q最好的最全面的讲servlet的书Q到了看q本书的时候已l由 CG变成E序员了,也不在是java菜鸟?br /> <img src ="http://www.aygfsteel.com/jfy3d/aggbug/38769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2006-04-02 21:03 <a href="http://www.aygfsteel.com/jfy3d/archive/2006/04/02/38769.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IntelliJ IDEA 5.x注册破解E序http://www.aygfsteel.com/jfy3d/archive/2006/04/01/38659.html剑事剑事Sat, 01 Apr 2006 15:02:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/04/01/38659.htmlhttp://www.aygfsteel.com/jfy3d/comments/38659.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/04/01/38659.html#Feedback4http://www.aygfsteel.com/jfy3d/comments/commentRss/38659.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/38659.htmlcrack_idea.zip
同样支持 6.x

剑事 2006-04-01 23:02 发表评论
]]>
webwork+Freemarker较完整的GRUD数据库操作例子(单方便用同一个页面INSERTQUPDATE。ƈ带分功能)http://www.aygfsteel.com/jfy3d/archive/2006/03/14/35191.html剑事剑事Tue, 14 Mar 2006 02:52:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/03/14/35191.htmlhttp://www.aygfsteel.com/jfy3d/comments/35191.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/03/14/35191.html#Feedback164http://www.aygfsteel.com/jfy3d/comments/commentRss/35191.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/35191.htmlq个例子也是一直以来用webwork的见Ş成的方式
虽然是简单例子,一些细节部分也做上M

以下是简单说明,详细可以参看源码

VIEW
通常一个insert,update操作都可以通过一个页面来完成Q?br />q里我设|form ?action=""  q样他默认提交到的是当前URL?br />
ACTION
在中定义几个Ҏ,以user!insert.ww的方式访问,
q样grud操作可以在一个ACTION中完成?br />    public String insert() throws Exception {
        ....
    }

    public String update() throws Exception {
        ....
    }

    public String delete() throws Exception {
        ....
    }

    public String list() throws Exception {
        ....
    }

DAO
下面是DAO接口
public interface BaseDao {
    public int insert(Object form);
    public int update(Object form);
    public int delete(Object form);
    public int delete(int[] id);//q里是ؓ了支持批量删?br />    public Map getInfo(Object form);
    public List getList();
    public void getList(Pagination page);//q里没有q回|内详。。。?br />}

EXTENDS
扩展部分
1 BaseAction
q里增加了一些公用方便的功能Q便于其他ACTIONl承Q共?br />2 DaoSupport
q里也是一些公用的功能QDao中用的大部分SQL都是配置在外部配|文件中


3DaoFactory
public class DaoFactory {
    public static BaseDao getDao(String daoKey){
        if("user".equals(daoKey)) //q样的方式可以通过在XWORK.XML中配|ACTION使用哪个DAOQ静态注入)
            return new UserDao();
        else
            return null;

    }
}


数据库是MYSQL5

CREATE TABLE `usertbl` (                                                                                                                                                                                                                                                                                                                
           `User_ID` int(11) NOT NULL auto_increment,                                                                                                                                                                                                                                                                                            
           `username` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  
           `password` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  
           `truename` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                  
           `usersex` tinyint(4) default NULL,                                                                                                                                                                                                                                                                                                    
           `useremail` varchar(50) default NULL,                                                                                                                                                                                                                                                                                                 
           PRIMARY KEY  (`User_ID`)                                                                                                                                                                                                                                                                                                              
         )


源码下蝲地址
http://www.migti.com/download.ww



剑事 2006-03-14 10:52 发表评论
]]>
解决WEBWORK2.17中空文g上传时action报异帔R误的问题http://www.aygfsteel.com/jfy3d/archive/2006/02/20/31595.html剑事剑事Mon, 20 Feb 2006 02:15:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2006/02/20/31595.htmlhttp://www.aygfsteel.com/jfy3d/comments/31595.htmlhttp://www.aygfsteel.com/jfy3d/archive/2006/02/20/31595.html#Feedback0http://www.aygfsteel.com/jfy3d/comments/commentRss/31595.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/31595.htmlwebwork里上传文件比较方便,几行代码可以完成?BR>只是有个问题,是当form里的file控g没有选文件的时提交action
׃出现异常,通常很多应用中不一定非要带文g上传的,q个应该
webwork一个bug吧?BR>
从报错的地方可以查出是在fileupload拦截器中
String[] fileName = multiWrapper.getFileNames(inputName);
q一行开始中断掉?BR>是multiWrapper.getFileNames(inputName);中出现空指针错误

如果webwork.properties中配|的是pell上传?BR>需要找到PellMultiPartRequestq个cȝ以下Ҏ
//--------------------------------------------------------------------------------------
public String[] getFileNames(String fieldName) {
              // TODO - not sure about this - is this the filename of the actual file or
              // TODO - the uploaded filename as provided by the browser?
              // TODO - Not sure what version of Pell this class uses as it doesn't seem to be the latest 
              //q里倒是说明了条Ӟ是不知道ؓ什么还q么?BR>            return new String[]{multi.getFile(fieldName).getName()};
}
---------------------------------------------------------------------------------------//



可以看到
multi.getFile(fieldName).getName()如果文g为空肯定会报错的
可以先修Ҏ以下方式
//---------------------------------------------------------------------------------------
public String[] getFileNames(String fieldName) {
        if(multi.getFile(fieldName)!=null)   //多加一个判?BR>            return new String[]{multi.getFile(fieldName).getName()};
        else
            return new String[]{};
    }
----------------------------------------------------------------------------------------//
q样form里file不选文件就不在出异怺
用cos上传处理Ҏ一?BR>


除上面方?BR>q修改fileupload拦截器也可以解决
String[] fileName = multiWrapper.getFileNames(inputName);
扑ֈq行
然后修改成下面样?BR>//-----------------------------------------------------------------------------------
String[] fileName =null;

try{
      fileName = multiWrapper.getFileNames(inputName);
}catch(Exception ex){
      //file is null
}
-----------------------------------------------------------------------------------//



剑事 2006-02-20 10:15 发表评论
]]>
spring+webwork+freemarker做了个聊天室 附源码下?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/12/21/24938.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/24938.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/12/21/24938.html#Feedback</comments><slash:comments>59</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/24938.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/24938.html</trackback:ping><description><![CDATA[ <p> <a >http://www.migti.com/download.ww</a> </p> <p> </p> <img src ="http://www.aygfsteel.com/jfy3d/aggbug/24938.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-12-21 13:22 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/12/21/24938.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>jdk 5.0中文文档下蝲http://www.aygfsteel.com/jfy3d/archive/2005/12/20/24712.html剑事剑事Tue, 20 Dec 2005 01:17:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/12/20/24712.htmlhttp://www.aygfsteel.com/jfy3d/comments/24712.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/12/20/24712.html#Feedback22http://www.aygfsteel.com/jfy3d/comments/commentRss/24712.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/24712.htmlhttp://www.migti.com/download.ww

下蝲暂停

剑事 2005-12-20 09:17 发表评论
]]>
JFreeChart 图表文字模糊问题的有效解x?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/12/06/22804.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/22804.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/12/06/22804.html#Feedback</comments><slash:comments>13</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/22804.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/22804.html</trackback:ping><description><![CDATA[JFreeChart 文字模糊问题不o人满意,|上有提到用修改字体的方式来改善Q感觉还是效果不怎么P所以l测试,扑ֈ了比较满意的解决Ҏ<BR>下面q个图是默认情况下显C的字体<BR><IMG height=300 alt=song.png src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/song.png" width=400 border=0><BR>下面q个是改成黑体字候的昄情况<BR><IMG height=300 alt=hei.png src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/hei.png" width=400 border=0><BR>可以看到Ҏ黑体后效果有所改善Q不q还是有Ҏp?BR>l箋看下一?BR><IMG height=300 alt=qing.png src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/qing.png" width=400 border=0><BR>q个是修Ҏ染参数后的效?nbsp; 可以看到文字很清CQ实际上和PHOTOSHOP里吧文字讄成名晰是一L。将文字的抗锯参数关闭?BR>控制q一功能的类是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?4L宋体字?BR>q样文字最清晰好看<img src ="http://www.aygfsteel.com/jfy3d/aggbug/22804.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-12-06 23:55 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/12/06/22804.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring + hibernate + webwork + freemarker 整合配置http://www.aygfsteel.com/jfy3d/archive/2005/11/06/18507.html剑事剑事Sun, 06 Nov 2005 15:48:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/11/06/18507.htmlhttp://www.aygfsteel.com/jfy3d/comments/18507.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/11/06/18507.html#Feedback4http://www.aygfsteel.com/jfy3d/comments/commentRss/18507.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/18507.html

学习的时候看了网上的一些配|教E,没有辑ֈ惌的结?BR>查了好多资料才弄出来Q随后后自己整理Z个配|方?BR>
web.xml 
// q里不需要配|字W过滤,|上有的例子加了Q实际上
webwork.properties里设|如下就可以了页面也是GBK
webwork.locale=zh_CN
webwork.i18n.encoding=GBK
Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?BR><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/classes/applicationContext.xml</param-value>
    </context-param>

 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>

 <listener>
  <listener-class>com.atlassian.xwork.ext.ResolverSetupServletContextListener</listener-class>
 </listener>
    <!--
    <servlet>
    <servlet-name>context</servlet-name>
             <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
             <load-on-startup>1</load-on-startup>
     </servlet>
     -->
    <servlet>
        <servlet-name>webwork</servlet-name>
        <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
        <load-on-startup>3</load-on-startup>
    </servlet>

 <servlet>
  <servlet-name>freemarker</servlet-name>
  <servlet-class>com.opensymphony.webwork.views.freemarker.FreemarkerServlet</servlet-class>
  <load-on-startup>10</load-on-startup>
 </servlet>

    <servlet-mapping>
        <servlet-name>webwork</servlet-name>
        <url-pattern>*.action</url-pattern>
    </servlet-mapping>

 <servlet-mapping>
  <servlet-name>freemarker</servlet-name>
  <url-pattern>*.ftl</url-pattern>
 </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

    <taglib>
        <taglib-uri>webwork</taglib-uri>
        <taglib-location>/WEB-INF/webwork.tld</taglib-location>
    </taglib>

</web-app>

Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q-Q?BR>
xwork.xml

==================---------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">

<xwork>

  <include file="webwork-default.xml"/>
    <package name="users" extends="webwork-default"
        externalReferenceResolver="com.atlassian.xwork.ext.SpringServletContextReferenceResolver">

        <interceptors>
            <interceptor name="reference-resolver" class="com.opensymphony.xwork.interceptor.ExternalReferencesInterceptor"/>
            <interceptor-stack name="myDefaultWebStack">
                <interceptor-ref name="defaultStack"/>
                <interceptor-ref name="reference-resolver"/>
                <interceptor-ref name="model-driven"/>
       <interceptor-ref name="params"/>
            </interceptor-stack>
        </interceptors>

<default-interceptor-ref name="myDefaultWebStack"/>
        <action name="blogUser" class="com.jsblog.action.BlogUserAction">
   <external-ref name="baseDao">baseDaoTarget</external-ref>     //q里是把applicationContext里配|的DAO 注入action?action里要有baseDao属?BR>   <result name="success">/add.htm</result>
  </action>
-------------------------------------------------------------------------

applicationContext.xml

---------------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="no" default-dependency-check="none" default-lazy-init="false">
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName">
            <value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
        </property>
        <property name="url">
            <value>jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=jsblog;SelectMethod=cursor</value>
        </property>
        <property name="username">
            <value>sa</value>
        </property>
        <property name="password">
            <value>jfy</value>
        </property>
    </bean>

    <bean id="sessionFactory"
          class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
        <property name="dataSource">
            <ref local="dataSource"/>
        </property>
        <property name="mappingResources">
            <list>
                <value>com/jsblog/BlogUserForm.hbm.xml</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">
                    net.sf.hibernate.dialect.SQLServerDialect
                </prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>

    <bean id="transactionManager"
          class="org.springframework.orm.hibernate.HibernateTransactionManager">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>


    <bean id="baseDaoTarget" class="com.jsblog.dao.BlogUserDao">
        <property name="sessionFactory">
            <ref local="sessionFactory"/>
        </property>
    </bean>


</beans>
---------------------------------------------------------------------------

BlogUserDao.java
---------------------------------------------------------------------------
package com.jsblog.dao;

import org.springframework.orm.hibernate.support.HibernateDaoSupport;
import org.springframework.orm.hibernate.HibernateCallback;
import org.springframework.orm.hibernate.SessionFactoryUtils;
import com.jsblog.BlogUserForm;

import java.io.Serializable;
import java.util.List;

import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;

public class BlogUserDao extends HibernateDaoSupport implements BaseDao {

    public void insert(BlogUserForm bloguser) {
        getHibernateTemplate().save(bloguser);
    }

 

 

}



剑事 2005-11-06 23:48 发表评论
]]>
可能是dom4j的BUGhttp://www.aygfsteel.com/jfy3d/archive/2005/10/20/16190.html剑事剑事Thu, 20 Oct 2005 14:55:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/10/20/16190.htmlhttp://www.aygfsteel.com/jfy3d/comments/16190.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/10/20/16190.html#Feedback0http://www.aygfsteel.com/jfy3d/comments/commentRss/16190.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/16190.html<?xml:namespace prefix = soap />
<soap:Body>

<VERIFY xmlns="<KEY>guid</KEY>
<IP>string</IP>
</VERIFY>
</soap:Body>


verify?名ؓ xmlns属性的时候就会报?br />
附一个xmldc?br />import org.dom4j.io.XMLWriter;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import java.io.FileWriter;
import org.dom4j.io.OutputFormat;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;

public class XmlTool {
    private String filename;
    private SAXReader saxReader = null;
    private Document document = null;
    private Element cfgElement = null;
    public XmlTool(String filename) {
        this.filename = filename;
        try {
            saxReader = new SAXReader();
            document = saxReader.read(new File(filename));
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    public void setValue(String key, String value) {
        int returnValue = 0;
        try {
            ((Element)( document.selectSingleNode(key))).setText(value);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
    public String getValue(String key) {
    int returnValue = 0;
    try {
        return ((Element)( document.selectSingleNode(key))).getText();
    } catch (Exception ex) {
        ex.printStackTrace();
        return "";
    }
}


    public int writeToFile() {
        int returnValue = 0;
        try {
            XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));
            writer.write(document);
            writer.close();
            returnValue = 1;
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return returnValue;
    }

    public int formatXMLFile(String filename) {
        int returnValue = 0;
        try {
            SAXReader saxReader = new SAXReader();
            Document document = saxReader.read(new File(filename));
            XMLWriter output = null;
            OutputFormat format = OutputFormat.createPrettyPrint();
            format.setEncoding("GBK");
            output = new XMLWriter(new FileWriter(new File(filename)), format);
            output.write(document);
            output.close();
            returnValue = 1;
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return returnValue;
    }

}



剑事 2005-10-20 22:55 发表评论
]]>
JDBC单封?节省大量代码http://www.aygfsteel.com/jfy3d/archive/2005/09/11/12681.html剑事剑事Sun, 11 Sep 2005 12:15:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/09/11/12681.htmlhttp://www.aygfsteel.com/jfy3d/comments/12681.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/09/11/12681.html#Feedback3http://www.aygfsteel.com/jfy3d/comments/commentRss/12681.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/12681.htmlZ提高写程序效率,做了一个简单的装JDBCc?BR>
SqLModify.java

使用Ҏ

SqLModify.modify("insert into usertable(username,password)values('lucy','123456')"); 
q个是静态方法的调用 可以执行insert   update  和直接调用jdbc方式比少写了很多的代?BR>
Z防止Ҏ字符 ?SQL注入可以用另外的调用方式
SqLModify sqlcom = new SqlModify(true);  //true表示建立q接
sqlcom.setSql("insert into usertable(username,password)values(?,?)"); 
sqlcom.setString(1,"lucy");
sqlcom.setString(2,"123456");
sqlcom.exesqlandClose();

如果是插入多条记录可以用@?BR>
SqLModify sqlcom = new SqlModify(true);  //true表示建立q接
sqlcom.setSql("insert into usertable(username,password)values(?,?)"); 
for(int i=0;i<30;i++)
{
   
   sqlcom.setString(1,"lucy");
   sqlcom.setString(2,"123456");
   sqlcom.exesql();
}
sqlcom.closeall();




SqlModify.java
代码

import conn.DBConnManager;

import java.sql.Connection;
import java.sql.PreparedStatement;

public class SqlModify
{
 private String SQL;
 static SqlModify sqlcom = null;
 private DBConnManager conn = null;
 private Connection con = null;
 private PreparedStatement stmt = null;
 
 public SqlModify()
 {
  
 }
 public SqlModify(boolean connect)
 {
  if(connect)
   connect();
 }
 public static int modify(String sqlStr)
 {
  if(sqlcom==null)
    sqlcom = new SqlModify();
  return sqlcom.exec(sqlStr);
 }
 public PreparedStatement getStmt()
 {
  return stmt;
 }
 public void connect(String sqlStr)
 {
  try{
   connect();
   stmt = con.prepareStatement(sqlStr);
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 public void connect()
 {
  try{
   conn = DBConnManager.getInstance();
   con  = conn.getConnection("mssql");
  }catch(Exception e){
   
  }
 }
 public int exesqlandClose()
 {
  int result = exesql();
  closeall();
  return result;
 }
 public int exesql()
 {
  try{
   return stmt.executeUpdate();
  }catch(Exception e){
   e.printStackTrace();
   return -1;
  }
 }
 public void setSql(String sql)
 {
  try{
   stmt = con.prepareStatement(sql);
  }catch(Exception e){
   e.printStackTrace();
  }finally{
   
  }
 }
 public int exec(String sqlStr)
 {
  int flag=-2;

  try{
   connect(sqlStr); 
   int value=stmt.executeUpdate();
   flag=value;
  }catch(java.lang.Exception ex){
   ex.printStackTrace();
  }finally{
   closeall();
  }
  return flag;
 }
 public void closeall()
 {
  try{
   if(stmt!=null)
   {
    stmt.close();
   }
   if(conn!=null)
   {
    conn.releaseConnection("mssql",con);
   }
   
  }catch(Exception e){
   e.printStackTrace();
  }
 }
 public void setString(int col,String value)
 {
  try{
   stmt.setString(col,value);
  }catch(java.lang.Exception ex){
   ex.printStackTrace();
  }  
 }
 public void setInt(int col,int value)
 {

  try{
   stmt.setInt(col,value);
  }catch(java.lang.Exception ex){
   ex.printStackTrace();
  }
   
 }
 public void setLong(int col,long value)
 {
  try{
   stmt.setLong(col,value);
  }catch(java.lang.Exception ex){
   ex.printStackTrace();
  } 
 }
 public void setFloat(int col,float value)
 {
  try{
   stmt.setFloat(col,value);
  }catch(java.lang.Exception ex){
   ex.printStackTrace();
  } 
 }
}



剑事 2005-09-11 20:15 发表评论
]]>
一个不错的ftp java工具?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/08/28/11391.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/11391.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/08/28/11391.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/11391.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/11391.html</trackback:ping><description><![CDATA[下蝲|站<BR><A >http://www.enterprisedt.com/products/edtftpj/overview.html</A><BR><BR>FTPClient ftp new FTPClient("211.136.186.169");建立q接<BR>ftp.login("username","password"); d<BR><A href='ftp://ftp.get("to file",'>ftp.get("to file",</A>"from ftp file"]);     下蝲文g<BR><A href='ftp://ftp.put("file1",'>ftp.put("file1",</A>"file2");                上传文g<img src ="http://www.aygfsteel.com/jfy3d/aggbug/11391.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-08-28 22:35 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/08/28/11391.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>短信游戏Q棋盘战斗机http://www.aygfsteel.com/jfy3d/archive/2005/07/02/7033.html剑事剑事Sat, 02 Jul 2005 07:29:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/07/02/7033.htmlhttp://www.aygfsteel.com/jfy3d/comments/7033.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/07/02/7033.html#Feedback0http://www.aygfsteel.com/jfy3d/comments/commentRss/7033.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/7033.html

剑事 2005-07-02 15:29 发表评论
]]>
短信游戏Q?点牌http://www.aygfsteel.com/jfy3d/archive/2005/07/02/7032.html剑事剑事Sat, 02 Jul 2005 07:25:00 GMThttp://www.aygfsteel.com/jfy3d/archive/2005/07/02/7032.htmlhttp://www.aygfsteel.com/jfy3d/comments/7032.htmlhttp://www.aygfsteel.com/jfy3d/archive/2005/07/02/7032.html#Feedback0http://www.aygfsteel.com/jfy3d/comments/commentRss/7032.htmlhttp://www.aygfsteel.com/jfy3d/services/trackbacks/7032.htmld18张牌Q?? 各两?BR>
开局每h两张Q一张底牌,一张面?BR>面牌大先说话

手上两张牌大规?BR>   Q当两张牌点C同,Ҏ相加过10点就?0Q小?0点ؓ相加ҎQ如一??实际Ҏ?Q一?点一?点实际点Cؓ3
       Ҏ高的?BR>   Q当两张Ҏ相同一?最大一?最,相同两张牌要大于上面不同的两张牌



剑事 2005-07-02 15:25 发表评论
]]>
短信储藏?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/07/02/7030.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/7030.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/07/02/7030.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/7030.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/7030.html</trackback:ping><description><![CDATA[<STRONG>储藏模?BR></STRONG><BR>个h短信储藏<BR>个h短信提取<BR>个h短信搜烦<BR>个h短信删除<BR><BR><STRONG>公共短信交易模块<BR><BR></STRONG>个h短信C2C交易<BR>交易计费<img src ="http://www.aygfsteel.com/jfy3d/aggbug/7030.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-07-02 15:13 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/07/02/7030.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>邮g发?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/06/04/5560.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/5560.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/06/04/5560.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/5560.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/5560.html</trackback:ping><description><![CDATA[java swing版本<BR><BR><IMG height=400 alt=yjqf.jpg src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/yjqf.jpg" width=400 border=0><BR>支持html邮g<img src ="http://www.aygfsteel.com/jfy3d/aggbug/5560.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-06-04 14:51 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/06/04/5560.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MMS手机图象适配pȝQ图Q?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/06/04/5558.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/5558.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/06/04/5558.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/5558.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/5558.html</trackback:ping><description><![CDATA[<STRONG>java swing版本<BR></STRONG><IMG height=506 alt=imgsp.jpg src="http://www.aygfsteel.com/images/blogjava_net/jfy3d/imgsp.jpg" width=405 border=0><BR><BR>分析囄宽高Q同时对长宽q行切割或羃放{换ؓ指定寸Q最损失原囄<BR><BR>支持寸模式和数据库模式(使用手机厂商型号?<BR><BR>转换速度 1900?每分<BR><BR>目前只支持jpg格式<BR><BR>其他格式待加入中<BR><BR><STRONG>web实时版即开?/STRONG><img src ="http://www.aygfsteel.com/jfy3d/aggbug/5558.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-06-04 14:50 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/06/04/5558.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>|站d记忆跌{实现的一U方?/title><link>http://www.aygfsteel.com/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.aygfsteel.com/jfy3d/archive/2005/06/02/5439.html</guid><wfw:comment>http://www.aygfsteel.com/jfy3d/comments/5439.html</wfw:comment><comments>http://www.aygfsteel.com/jfy3d/archive/2005/06/02/5439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/jfy3d/comments/commentRss/5439.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/jfy3d/services/trackbacks/5439.html</trackback:ping><description><![CDATA[<P>记忆d跌{可以打打方便用户使用<BR>getHeader("Referer");方式单不q不能处理post的参?BR>本来都是用在struts,webwork里的Qؓ了容易看明白改写成jsp方式?BR><BR>-------------------------------------------------------------------------------------------------------------<BR>member.jsp   //session限制讉K?BR><BR><%<BR>String url = ""<BR>if(session.getAttribute("username")==null)<BR>{<BR>         url = myRedirect.dealurl(request);//记录当前地址和请求参敎ͼdealurl实际url处理了避免和要请求url有干?因ؓ会有& 字符<BR>         response.sendRedirect("weblogin.jsp?urlQ?+url) ;//重定向到d面<BR>}<BR>%><BR>-------------------------------------------------------------------------------------------<BR>weblogin.jsp<BR><BR><%<BR>String url = request.getParameter("url");<BR>String userid =request.getParameter("userid");<BR>String password =request.getParameter("password");<BR>if(userid!=null) //如果是登录提交执行下面代?BR>{<BR><BR> if(d成功)<BR>  {<BR>   session.setAttribute("userid",userid); <BR>   out.println("<script>alert('d成功Q谢谢光?);self.location.href='"+myRedirect.geturl(url)+"';</script>");//转向到首ơ请求的urlQ?geturl(url)是把转化q的地址转化回来变成真实url.<BR>  }else{<BR>   out.println("<script>alert('用户名或密码错误');history.back();</script>");<BR>  }<BR>}else{//如果不是d提交昄现面d界面<BR>%><BR><table width="311" height="162" border="0" align="center" cellpadding="0" cellspacing="0"><BR>  <tr><BR>      <BR>    <td width="311" height="162" align="center"> 您还没有dQ请先登?lt;br><BR>        <table width="155" border="0" cellpadding="0" cellspacing="5" class="font12"><BR>  <form  name="loginfrm" action="weblogin.jsp" method="post"  id="loginfrm" onSubmit="return checkfrm();"><BR>          <tr> <BR>            <td width="41" height="33" valign="bottom">?amp;nbsp;P</td><BR>            <td width="99" valign="bottom"><input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"></td><BR>          </tr><BR>          <tr> <BR>            <td>?amp;nbsp;码:</td><BR>            <td><input name="password" type="password" class="textstyle" id="password" size="12" style="height:20;width:94"></td><BR>          </tr><BR>          <tr align="center" valign="bottom"> <BR>            <td height="21" colspan="2"> <input type="submit" name="Submit" value="d"><BR>              &nbsp; <a href="reg.jsp" target="_blank">没有注册</a>&nbsp; </td><BR>          </tr><BR>          <tr align="center"> <BR>            <td colspan="2" class="font14"><strong><a href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');return false;">扑֛密码</a></strong></td><BR>          </tr><BR>    <input name="url" type="hidden" value="<%=url%>">q里要有个hidden来保存一下,不然提交没?BR>    <BR>    </form><BR>        </table></P> <P>  <BR>      <BR>    </td><BR>  </tr><BR></table><BR><%<BR>}<BR>%><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    //对url的{换类<BR>{<BR> public static String dealurl(HttpServletRequest request)<BR> {<BR>  String url = "";<BR>  url = request.getRequestURL()+"?";<BR>  url +=param(request);<BR>  if(url.indexOf("&")>-1)<BR>   url=url.replaceAll("&","@#@");//实际上就是把?amp;的字W{化成了@#@<BR>  return url;<BR> }<BR> public static String geturl(String url)//q个是还原方?BR> {<BR>  if(url.indexOf("@#@")>-1)<BR>   url=url.replaceAll("@#@","&");<BR>  return url;     <BR> }<BR> public static String param(HttpServletRequest request)<BR> {<BR>  String url = "";<BR>  Enumeration param = request.getParameterNames();//得到所有参数名<BR>  while(param.hasMoreElements())<BR>  {<BR>   String pname = param.nextElement().toString();<BR>   url += pname+"="+request.getParameter(pname)+"&";<BR>  }<BR>  if(url.endsWith("&"))<BR>  {<BR>   url = url.substring(0,url.lastIndexOf("&"));<BR>  }<BR>  return url;<BR> }<BR>}<BR>q样d览器就会自动{到用户刚刚请求的地址</P><img src ="http://www.aygfsteel.com/jfy3d/aggbug/5439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/jfy3d/" target="_blank">剑事</a> 2005-06-02 09:03 <a href="http://www.aygfsteel.com/jfy3d/archive/2005/06/02/5439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">կ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">봨</a>| <a href="http://" target="_blank">ƽɽ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">»Ȱ</a>| <a href="http://" target="_blank">ͬ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʦ</a>| <a href="http://" target="_blank">DZ</a>| <a href="http://" target="_blank">żҸ</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">е</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ͻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">¤</a>| <a href="http://" target="_blank">ԭ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>