??xml version="1.0" encoding="utf-8" standalone="yes"?>国产区图片区小说区亚洲区,亚洲av无码国产精品色午夜字幕,亚洲熟女少妇一区二区 http://m.tkk7.com/licweiwei/zh-cn Thu, 15 May 2025 13:32:23 GMT Thu, 15 May 2025 13:32:23 GMT 60 JSP2.0 & JSTL1.1 http://m.tkk7.com/licweiwei/articles/280933.htmllicwei licwei Tue, 09 Jun 2009 06:26:00 GMT http://m.tkk7.com/licweiwei/articles/280933.html http://m.tkk7.com/licweiwei/comments/280933.html http://m.tkk7.com/licweiwei/articles/280933.html#Feedback 0 http://m.tkk7.com/licweiwei/comments/commentRss/280933.html http://m.tkk7.com/licweiwei/services/trackbacks/280933.html
使用Servlet2.4/jsp2.0
1. 定Web Container支持Serverlet2.4Q?复制支持jstl
1.1版本的jstl.jar,standard.jar 到web-inf/lib?/span>
2. 在Web.xmlQRoot节点改ؓ
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee
3.在jsp中,对core,ftm taglib的引入改?nbsp;
<%@ taglib prefix="c" uri="http://java.sun.com/jsp /jstl/core"% >
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp /jstl/fmt"% >
2.直接在html里面使用ELQ而不?lt;c:out value="">
充分使用JSP2.0的ELQ直接在html中写${book} 而不?lt;c:out
value="${book}">获得简z无比,可比velocity,freemarker的界面?/p>
3.新增的Function标签
Function标签里最有用的一Ҏ取得List,Map的size了。另外有一些StringUtils和Collection的函数?/p>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"% >
${fn:length(myList)}
]]>Java 写文件的4096~冲字节 http://m.tkk7.com/licweiwei/articles/279214.htmllicwei licwei Sun, 31 May 2009 07:19:00 GMT http://m.tkk7.com/licweiwei/articles/279214.html http://m.tkk7.com/licweiwei/comments/279214.html http://m.tkk7.com/licweiwei/articles/279214.html#Feedback 0 http://m.tkk7.com/licweiwei/comments/commentRss/279214.html http://m.tkk7.com/licweiwei/services/trackbacks/279214.html
public static void copyFile(File sourceFile, File targetFile,Boolean preserveFileDate)
throws IOException {
<!-- ........-->
// ~冲数组
byte [] b = new byte [ 4096 ];
int len;
while ((len = inBuff.read(b)) != - 1 ) {
outBuff.write(b, 0 , len);
}
<!-- ........-->
}
拿上面的代码ZQ一直以来, 看别人用java写文仉是用4096字节的缓Ԍ之一在想Z么是4096呢, |上查了一下资料,操作pȝd文g是以ؓ原子操作的, 一般windows的NTFSpȝ的簇大小?096Q所以我惛_因应该是既然底层IO操作一ơ是4096个字节那么缓冲多了也没意义,不会减少底层IO操作的次数?br />
q个x有待考证。。。。。?br />
]]> JSP的重新编?/title> http://m.tkk7.com/licweiwei/articles/157961.htmllicwei licwei Sat, 03 Nov 2007 11:46:00 GMT http://m.tkk7.com/licweiwei/articles/157961.html http://m.tkk7.com/licweiwei/comments/157961.html http://m.tkk7.com/licweiwei/articles/157961.html#Feedback 0 http://m.tkk7.com/licweiwei/comments/commentRss/157961.html http://m.tkk7.com/licweiwei/services/trackbacks/157961.html q?天改面的BUG的时候遇C很郁L问题Q每ơ修改过JSP都不去重新LoadQ后来经人提醒是旉戳的问题Q每ơ保存修改的JSP的时候都要把pȝ旉Ҏ2008q_weblogic才能重新~译。删除applicationQ重新explod也不行?br />
上网查了下资料,才发现weblogic重新~译的条件?br />
JSP容器通过实现StaleChecker接口调用_staticIsStale()Ҏ。该实现接收一个带有清?中所C参数的回调(isResourceStale())。有了这些参敎ͼ该实现可以仅接收所有必需的信息,以推断给定资源是否过期。当资源Q参?Q?foo.jsp的时间戳Q参?Q比存储在已~译cL件中的时间戳q要斎ͼ参数更大Q时Q或者当发行版本不同ӞJSP容器认ؓJSP.class文g“q期”?br />
清单1. staticIsStale()Ҏ
public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) {
if (sci.isResourceStale( " /foo.jsp " , 1089594167518L , " 8.1.2.0 " ,
" America/Los_Angeles " ))
return true ;
return false ;
}
因ؓJSP面的时间戳保存在类文g内部Qƈ且是在编译时计算的,所以修改类文g的时间戳不会对过期检查过E生媄响?/span>
W?个参敎ͼ也就是时区,只在以存格式(.warQ进行部|时使用?
WebLogic发行版本随每个服务包改变Q因此需要ؓ每个服务包重新编译所有JSP。提个要求是Z保JSPcd以利用较新服务包或发行版本中的所有编译器~陷修复或所有JSPq行时更攏V?
所以之前的问题可能是老的class文g的时间戳?008q_只要扑ֈ~译后的class文g删除Q应该就可以重新~译了。项目中JSP class的目录是Q?br />
C:\bea\user_projects\domains\mydomain\myserver\.wlnotdelete\extract\myserver_appliesEAR_applies\jsp_servlet?br />
关于旉戳的详细介绍参考:
http://dev2dev.bea.com.cn/techdoc/2005041305.html
]]>Commons-logging + Log4j 使用?/title> http://m.tkk7.com/licweiwei/articles/155095.htmllicwei licwei Mon, 22 Oct 2007 12:39:00 GMT http://m.tkk7.com/licweiwei/articles/155095.html http://m.tkk7.com/licweiwei/comments/155095.html http://m.tkk7.com/licweiwei/articles/155095.html#Feedback 0 http://m.tkk7.com/licweiwei/comments/commentRss/155095.html http://m.tkk7.com/licweiwei/services/trackbacks/155095.html 通过|上查找资料和项目中的一些应用,记录一?font size="2">Commons-logging + Log4j 的用方法?br />
现在很多都是使用Commons-logging + Log4j l合使用Q而不是全部用Log4j。common-logging,可以自行决定在自己的应用中采用何种实现Qƈ跟所依赖的jar包统一h?br />
据common-logging的官Ҏ档,军_实现方式的策略如下:
1.首先查找org.apache.commons.logging.Log属性,该属性可以在java代码中设|,更常见的是在classpath下的common-logging.properties文g中进行设|?
2.在系l属性中查找org.apache.commons.logging.Log
3.如果c\径中有log4j的jar包,则采用log4j实现
4.如果jdk版本?.4Q采用Jdk14Logger
5.采用common-logging提供的SimpleLog
所以只要在classpath中加入Log4j的jarQCommons-logging 后台使用的还是Log4j作ؓ日志实现cR单独用Log4j的时候需要初始化Q?br />
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log4j {
static Logger logger = Logger.getLogger(Log4j .class);
public static void main(String args[]) {
PropertyConfigurator.configure("log4j.properties");
logger.debug("DEBUG");
}
}
使用Commons-logging + Log4j 实现ҎQ?
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
class TestLog{
public static Log log = LogFactory.getLog(TestLog.class);
public static void testLog(){
log.debug("test Commons-logging + Log4j");
}
}
只要classpath有Log4j的jarQ其实就是用Log4j作ؓ实现c,但是要注意的?font face="Times New Roman">log4j.properties一定要在classpath中,之前一直不知道E序是如何去扑ֈlog4j.properties 的,后来才发现是通过classpathL的,如果classpath中没有具体配|,是到当前类所在目录下L找(不包括包文g夹)?br />
log4j.properties介:
log4j.rootCategory=debug, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log
log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
说明:
①log4j.rootCategory = [ level ] , appenderName, appenderName,
其中,level 是日志记录的优先U?分ؓOFF,FATAL,ERROR,WA R N,INFO,DEBUG,
ALL或者您定义的?Log4j只用四个?优先U从高到低分别是ERROR,
WA R N,INFO,DEBUG.通过在这里定义的U别,您可以控制到应用E序中相应别的?nbsp;
志信息的开?比如在这里定义了INFOU别,则应用程序中所有DEBUGU别的日志信?nbsp;
不被打印出?appenderName是指定日志信息输出到哪个地?您可以同时指定多?nbsp;
输出目的?
②配|日志信息输出目的地Appender,其语法ؓ
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
log4j.appender.appenderName.option = valueN
其中,Log4j提供的appender有以下几U?
org.apache.log4j.ConsoleAppender(控制?,
org.apache.log4j.FileAppender(文g),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文?,
org.apache.log4j.RollingFileAppender(文g大小到达指定寸的时候生一个新的文?,
org.apache.log4j.WriterAppender(日志信息以格式发送到L指定的地?
③配|日志信息的格式(布局),其语法ؓ:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
log4j.appender.appenderName.layout.option = valueN
其中,Log4j提供的layout有以下几U?
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灉|地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的别和信息字符?,
org.apache.log4j.TTCCLayout(包含日志产生的时?U程,cd{等信息)
④Log4J采用cMC语言中的printf函数的打印格式格式化日志信息,打印参数如下:
%m 输出代码中指定的消息
%p 输出优先U?即DEBUG,INFO,WA R N,ERROR,FATAL
%r 输出自应用启动到输出该log信息耗费的毫U数
%c 输出所属的cȝ,通常是所在类的全?nbsp;
%t 输出产生该日志事件的U程?nbsp;
%n 输出一个回车换行符,Windowsq_?\r\n",Unixq_?\n"
%d 输出日志旉点的日期或时?默认格式为ISO8601,也可以在其后指定格式,
比如:%d{yyy MMM dd HH:mm:ss,SSS},输出cM:2002q?0?8?nbsp;22:10:28,921
%l 输出日志事g的发生位|?包括cȝ?发生的线E?以及在代码中的行?
q里?点要说明的,
一是关于log4j.appender.R.File=example.log Q如果不l定l对路径的话Qlog文g的默认\径是user.dirQ可以通过System.getProperty("user.dir")来得到?br />
而是关于%5p [%t] (%F:%L) - %m%n 5代表优先U字W串占用几个位置Q?F代表文g名,%L代表行号?br />
使用xml来充当配|,没有ȝq,所以也不了解,但是在网上也看到q依赖jar包里的log4j配置自己应用的log4j.properties屏蔽掉的问题Q说是classpath中的jxls-core-0.9.5.jar中的log4j.xml,该配|优先于他的log4j.propertiesQ导致log4j.properties讄失效Q不q不太了解是什么原因,但是有hl出了解x案,
手工重新 configure一下:
org.apache.log4j.LogManager.resetConfiguration();
然后Q?/p>
org.apache.log4j.PropertyConfigurator.configure("c:/yourlog4j.properties");
或?/p>
org.apache.log4j.xml.DOMConfigurator.configure("c:/yourlog4j.xml");
]]> XML文g处理Q一Q?/title> http://m.tkk7.com/licweiwei/articles/152726.htmllicwei licwei Sun, 14 Oct 2007 07:04:00 GMT http://m.tkk7.com/licweiwei/articles/152726.html http://m.tkk7.com/licweiwei/comments/152726.html http://m.tkk7.com/licweiwei/articles/152726.html#Feedback 0 http://m.tkk7.com/licweiwei/comments/commentRss/152726.html http://m.tkk7.com/licweiwei/services/trackbacks/152726.html ?Java 领域 XML 文g的技术大致分Zc?XML API ?OXMapping.XML API ?XML 处理的基Q可选技术包括JDOM,Dom4j{;OXMapping ?Object-XML Mapping 的简Uͼq种技术隐藏了 XML 底层操作的细节,可以?XML 文g映射成一?JavaBean 对象Q也可以把一?JavaBean 对象保存成一?XML 文gQ可选技?XStream ?Digester ?Castor {?XML API ?OXMapping 的关pȝg JDBC ?ORMaping 的关p, OXMapping 内部实现使用 XML API 来完成,两种实现技术从不同的层面实C XML 的处理?br />
XML API
此类 XML 处理技术中最行的莫q于DOM4J 了, DOM4J 是一个非帔R怼U的Java XML APIQ具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的Y件。如今你可以看到来多?Java 软g都在使用 DOM4J 来读?XMLQ特别值得一提的是连 Sun ?JAXM 也在?DOM4J
OXMapping
使用 XML API 解析是略昄琐的Q受 ORMapping 技术的启发Qh们发明了 OXMapping 技术,使用 OXMapping 技术,我们可以?XML 文g映射成一?JavaBean 对象Q也可以把一?JavaBean 对象保存成一?XML 文gQ这大大化了我们的开发工作量Q得开发h员能更多的关注应用层面的东西?
开源世界中涌现出很?OXMapping 框架Q包?XStream ?Digester ?Castor {?其中Digester ?#8220;开源名?#8221; Apache 下的子项目,|上可以参考的资料很多?/span>
]]>
վ֩ģ壺
Ůʮ·Ůbbw |
պĻ |
һ3Ƶ |
Ұ¾þø |
Ļձ |
aƬ߹ۿʦ |
Ʒ |
ˬָ߳ëƬ |
պAVһ |
պav |
avҹƷ |
Ʒһ
|
ĻƷѾþ |
avþDz |
Ƶ |
ƷA߹ۿ |
vѹۿ |
ƷƵ |
avƷʵ |
ó˾þAvѸ |
þAV |
ŷxxxxx |
aۺaav |
˾Ʒþ岻 |
ľƷ |
ƬĻ |
B18Ƶ |
һaƬɫëƬվ |
ŷղվ |
òƵ |
ձϵ1ҳϵ |
Ʒ벻߲HE |
92˾ƷƵ |
ƷС˵ר |
þԭAV鶹 |
ѹAAAAAƬ |
һػ¼Ƶ |
Ƶۿ |
LƷþ |
Ļ߿ |
վ߹ۿ |