??xml version="1.0" encoding="utf-8" standalone="yes"?>国产高清一区日本,免费高清在线,91porn在线观看http://www.aygfsteel.com/ycyk168/category/42825.html生活中的很多事情Qƈ不像If...Else那么单!zh-cnTue, 24 Jul 2012 20:24:30 GMTTue, 24 Jul 2012 20:24:30 GMT60[原创]巧用System.getProperty()~译现有工程的java文ghttp://www.aygfsteel.com/ycyk168/archive/2012/07/24/383890.html零全零美零全零美Tue, 24 Jul 2012 15:44:00 GMThttp://www.aygfsteel.com/ycyk168/archive/2012/07/24/383890.htmlhttp://www.aygfsteel.com/ycyk168/comments/383890.htmlhttp://www.aygfsteel.com/ycyk168/archive/2012/07/24/383890.html#Feedback0http://www.aygfsteel.com/ycyk168/comments/commentRss/383890.htmlhttp://www.aygfsteel.com/ycyk168/services/trackbacks/383890.html    ׃开?a >www.website371.com ?a >www.modaotea.com 两个|站时用的框架是自己写的,其中有一个工h模拟hibernate的思\Q动态生成对象关pL!中间利用freemarker生成.javac!但是始终存在一个很大的问题Q就是生成的.java文gQ没有办法直接编译,当然最好的l果当然是自动编译后能达成JAR包,直接攑֜工程里!
    研究好了半天Q终于找CU解x案,既然是用JAVA生成.java文g自动~译q打成JAR包,
那第一步自然就是用JAVA执行CMD命o了(注意多个命o之间要用“&&”隔开哦,在这个问题上费了我很多旉Q)
W二步:利用javac~译.java文gQ因.java依赖包过多,如果手写要篏MQ!q里正好使用QSystem.getProperty("java.class.path")Q?br />W三步:利用jar命o打包
全部代码如下Q?/p>
public final static String FILE_PATH = "d:\\db2java\\";
    
public final static String PACKAGE_PATH = "com/zzsb/beans/";
    
public final static String CLASS_FILE_PATH = FILE_PATH+"classes";
        String cmd 
= "cmd /c cd /d " + FILE_PATH + 
        
" && " +
        
"javac -classpath "+ System.getProperty("java.class.path"+" "+ FILE_PATH+PACKAGE_PATH + "*.java " + 
        
" && " +
        
"jar cf bean-"+TABLE_SCHEMA+"-"+ DateUtil.getCurrentDate14() +".jar " + PACKAGE_PATH+"*.class" +
        
" && " +
        
"jar cf bean-source-"+TABLE_SCHEMA+"-"+ DateUtil.getCurrentDate14() +".jar " + PACKAGE_PATH+"*.java" +
        
" && " +
        
"jar cf bean-all-"+TABLE_SCHEMA+"-"+ DateUtil.getCurrentDate14() +".jar " + PACKAGE_PATH+"*.*" 
        ;
        System.out.println(cmd);
        Process p 
= Runtime.getRuntime().exec(cmd);


可以看一下控制台输出的代码,您就明白了:

cmd /c cd /d d:\db2java\ && javac -classpath E:\job\workspace\DianLiang\WebRoot\WEB-INF\classes;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\acegi-security-1.0.7.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\activation.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\axis.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\axis-ant.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\bonecp-0.7.1.RELEASE.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-attributes-api.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-attributes-compiler.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-beanutils-1.8.3.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-cli-1.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-codec-1.3.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-collections-3.2.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-configuration-1.4.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-discovery-0.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-fileupload-1.2.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-io-2.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-lang-2.5.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-logging.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\commons-pool-1.4.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\ezmorph-1.0.6.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\freemarker.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\guava-r09.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\javassist.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jaxrpc.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jdbcspy.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jodconverter-2.2.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jodconverter-cli-2.2.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\json_simple-1.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\json-lib-2.2.3-jdk15.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\juh-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jurt-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\jxl.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\kaptcha-2.3.2.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\log4j-1.2.15.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\mail.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\mysql-connector-java-5.1.13-bin.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\ognl-2.7.3.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\quartz-2.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\ridl-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\saaj.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\slf4j-api-1.6.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\slf4j-jdk14-1.6.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\unoil-3.0.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\urlrewrite-3.2.0.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\wsdl4j-1.5.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\xstream-1.3.1.jar;E:\job\workspace\DianLiang\WebRoot\WEB-INF\lib\bean-dianliang-20120723181047.jar d:\db2java\com/zzsb/beans/*.java  && jar cf bean-dianliang-20120724232924.jar com/zzsb/beans/*.class && jar cf bean-source-dianliang-20120724232924.jar com/zzsb/beans/*.java && jar cf bean-all-dianliang-20120724232924.jar com/zzsb/beans/*.*

看看System.getProperty()都ؓ我们提供了什么有用信息吧Q?br />

java.version

Java q行时环境版?/span>

java.vendor

Java q行时环境供应商

java.vendor.url

Java 供应商的 URL

java.home

Java 安装目录

java.vm.specification.version

Java 虚拟范版?/span>

java.vm.specification.vendor

Java 虚拟范供应商

java.vm.specification.name

Java 虚拟范名U?/span>

java.vm.version

Java 虚拟机实现版?/span>

java.vm.vendor

Java 虚拟机实C应商

java.vm.name

Java 虚拟机实现名U?/span>

java.specification.version

Java q行时环境规范版?/span>

java.specification.vendor

Java q行时环境规范供应商

java.specification.name

Java q行时环境规范名U?/span>

java.class.version

Java cL式版本号

java.class.path

Java c\?/span>

java.library.path

加蝲库时搜烦的\径列?/span>

java.io.tmpdir

默认的时文件\?/span>

java.compiler

要用的 JIT ~译器的名称

java.ext.dirs

一个或多个扩展目录的\?/span>

os.name

操作pȝ的名U?/span>

os.arch

操作pȝ的架?/span>

os.version

操作pȝ的版?/span>

file.separator

文g分隔W(?UNIX pȝ中是“/”Q?/span>

path.separator

路径分隔W(?UNIX pȝ中是“:”Q?/span>

line.separator

行分隔符Q在 UNIX pȝ中是“/n”Q?/span>

user.name

用户的̎户名U?/span>

user.home

用户的主目录

user.dir

用户的当前工作目?/span>

本文所提供的方法解决了使用JAVA动态编译现有工E中的源文g的简便方法,Z说一下有I可以去www.modaotea.com 喝茶Q老板Z错,对茶q块很专业,不像我这U苦逼的E序员,无聊透顶啊!
文章原创Q{载请以超链接形式标明文章原始出处和作?/p>

零全零美 2012-07-24 23:44 发表评论
]]>
【原创】运用装饰模式截取用戯入构建通用验证http://www.aygfsteel.com/ycyk168/archive/2009/11/24/303441.html零全零美零全零美Tue, 24 Nov 2009 04:15:00 GMThttp://www.aygfsteel.com/ycyk168/archive/2009/11/24/303441.htmlhttp://www.aygfsteel.com/ycyk168/comments/303441.htmlhttp://www.aygfsteel.com/ycyk168/archive/2009/11/24/303441.html#Feedback2http://www.aygfsteel.com/ycyk168/comments/commentRss/303441.htmlhttp://www.aygfsteel.com/ycyk168/services/trackbacks/303441.html 如果有这样一U方法能够通过一个过滤器能够一ơ性的拦截获取所有的用户输入Q那么我们就可以只通过q个qo器来做基的安全性验证,例如我们可以qoSQL语句Q过滤非安全字符{等Q而把业务规则验证留给E序员去实现Q就大大的加快开发效率,同时也可以构Z个通用的用戯入验证框Ӟ减少与程序的紧耦合Q?
例如我们所有用戯入中?<"改ؓ"<"Q将所有的">"改ؓ">"
本文试图L一U方法来解决q个问题Q?
  阅读全文

零全零美 2009-11-24 12:15 发表评论
]]>
装饰Servlet Request对象http://www.aygfsteel.com/ycyk168/archive/2009/11/24/303433.html零全零美零全零美Tue, 24 Nov 2009 03:21:00 GMThttp://www.aygfsteel.com/ycyk168/archive/2009/11/24/303433.htmlhttp://www.aygfsteel.com/ycyk168/comments/303433.htmlhttp://www.aygfsteel.com/ycyk168/archive/2009/11/24/303433.html#Feedback0http://www.aygfsteel.com/ycyk168/comments/commentRss/303433.htmlhttp://www.aygfsteel.com/ycyk168/services/trackbacks/303433.html本文说明了如何将装饰模式应用到servlet request对象上。首先,提出了一个与servlet filter有关的问题,q解释了随之而引入的装饰模式。然后,讨论了如何在servlet环境下用此模式Qƈ列出了用此模式的几个比较有名的Zservlet的项目。最后,文章通过实现一个删除空白符的filter例子Q演CZ装饰模式在servlet中的使用?nbsp; 阅读全文

零全零美 2009-11-24 11:21 发表评论
]]>
վ֩ģ壺 | Ӷ| | | | | | | ȫ| | ̨| | | | ۽| Т| | ֲ| | | ɳ| | | | Ԫı| ɽ| ɳ| ٤ʦ| | | Զ| ˮ| | | ũ| «Ϫ| ƽ| ֵ| ʷ| | |