﻿<?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-Java.net#BlogJava</title><link>http://www.blogjava.net/gaofeng/</link><description>Java.net</description><language>zh-cn</language><lastBuildDate>Thu, 30 Apr 2026 02:16:56 GMT</lastBuildDate><pubDate>Thu, 30 Apr 2026 02:16:56 GMT</pubDate><ttl>60</ttl><item><title>用友NC-UAP开发节点命名规则</title><link>http://www.blogjava.net/gaofeng/articles/292826.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Thu, 27 Aug 2009 07:09:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/articles/292826.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/292826.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/articles/292826.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/292826.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/292826.html</trackback:ping><description><![CDATA[<p>以两位数字作为根节点，子节点后跟H开始。<br />
例如： 88&nbsp;&nbsp;&nbsp; 根节点<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 88H0&nbsp;&nbsp; 次级节点<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 88H001&nbsp;&nbsp; </p>
<p>以此类推。否则会报演示版</p>
<p>注： 5.01版本需要打上一个补丁才能应用上面的规则 </p>
<img src ="http://www.blogjava.net/gaofeng/aggbug/292826.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2009-08-27 15:09 <a href="http://www.blogjava.net/gaofeng/articles/292826.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EJB3中JPA配置注意事项</title><link>http://www.blogjava.net/gaofeng/archive/2007/07/09/129038.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Mon, 09 Jul 2007 06:37:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/archive/2007/07/09/129038.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/129038.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/archive/2007/07/09/129038.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/129038.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/129038.html</trackback:ping><description><![CDATA[<p>JPA开发中,可以通过设置persistence.xml文件根据Bean定义建表,但是当更改主键生成策略的时候,需要把xml文件中的策略改为create-drop,否则如果是update,则更改的策略不会更新...例如:ID的生成策略原来是oracle的序列,后来改为sql server的IDENTITY,此时,如果不是create-drop,更新不会体现.<br>在使用junit进行测试时,如果没有配置log4j属性文件,则会出现两条警告...如果服务器是JBoss,虽然已经在JBoos中配置log4j.xml,但还是不行,需要在类路径下配置log4j.properties</p><img src ="http://www.blogjava.net/gaofeng/aggbug/129038.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-09 14:37 <a href="http://www.blogjava.net/gaofeng/archive/2007/07/09/129038.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBoss中的数据源配置</title><link>http://www.blogjava.net/gaofeng/archive/2007/07/06/128566.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Fri, 06 Jul 2007 06:16:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/archive/2007/07/06/128566.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/128566.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/archive/2007/07/06/128566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/128566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/128566.html</trackback:ping><description><![CDATA[JBoss默认在Default中有个数据源DefaultDS,使用的是内置的HSQLDB数据库,我需要配置的是Sql server2000..<br>首先在%JBOSS_HOME%\docs\example\jca目录下找到mssql-ds.xml. 此文件就是配置sql server数据库的模板文件.可以根据此文件修改其中的数据库连接信息:url、driver、username、password..我使用的是jtds-1.2.jar作为驱动.配置信息如下:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">datasources</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">local-tx-datasource</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">jndi-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">MSSQLDS</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">jndi-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">connection-url</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">jdbc:jtds:sqlserver://10.60.2.212:1433/ejbtest;tds=8.0;lastupdatecount=true</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">connection-url</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">driver-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">net.sourceforge.jtds.jdbc.Driver</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">driver-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">user-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">sa</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">user-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">password</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">1</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">password</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;sql&nbsp;to&nbsp;call&nbsp;when&nbsp;connection&nbsp;is&nbsp;created<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;new-connection-sql&gt;some&nbsp;arbitrary&nbsp;sql&lt;/new-connection-sql&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;sql&nbsp;to&nbsp;call&nbsp;on&nbsp;an&nbsp;existing&nbsp;pooled&nbsp;connection&nbsp;when&nbsp;it&nbsp;is&nbsp;obtained&nbsp;from&nbsp;pool&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;check-valid-connection-sql&gt;some&nbsp;arbitrary&nbsp;sql&lt;/check-valid-connection-sql&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;corresponding&nbsp;type-mapping&nbsp;in&nbsp;the&nbsp;standardjbosscmp-jdbc.xml&nbsp;(optional)&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">metadata</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">type-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">MS&nbsp;SQLSERVER2000</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">type-mapping</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">metadata</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">local-tx-datasource</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">datasources</span><span style="COLOR: #0000ff">&gt;</span></div>
将此文件发到你的项目配置文件夹,我使用的是默认的default目录...JBoss会自动检测到改动并对数据源进行jndi绑定....<br>因为数据库驱动包可以供多个项目共用,因此可以把jtds-1.2.jar放到%JBOSS_HOME%\server\default\lib下... 如果使用的是其它数据库,步骤一样,只要把你用的数据库驱动包放到lib下,然后拷贝一个ds.xml文件修改一下就ok了..
<img src ="http://www.blogjava.net/gaofeng/aggbug/128566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-06 14:16 <a href="http://www.blogjava.net/gaofeng/archive/2007/07/06/128566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JBoss4.2.0GA中日志的配置</title><link>http://www.blogjava.net/gaofeng/archive/2007/07/05/128359.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Thu, 05 Jul 2007 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/archive/2007/07/05/128359.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/128359.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/archive/2007/07/05/128359.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/128359.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/128359.html</trackback:ping><description><![CDATA[JBoss的日志配置都通过xml的形式配置的,而大多项目应用又是通过log4j.properties来配置的..一下子还真的不适应.正好趁此机会复习一下log4j在JBoss下的xml的配置方式.<br>在应用中使用最多的一般有两种:输出到控制台、文件...下面就给出这两种输出方式的配置.<br>首先用UE打开位于%JBOSS_HOME%\server\default\conf\jboss-log4j.xml<br>1、控制台<br>如果使用的时Eclipse,则是输出到Console..正式应用中输出到JBoss的CMD.<br>找到文件中默认的CONSOLE配置..拷贝复制,改名为mylog1...<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">appender&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="mylog1"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.apache.log4j.ConsoleAppender"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">errorHandler&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="org.jboss.logging.util.OnlyOnceErrorHandler"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Target"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="System.out"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">配置日志级别,这里位DEBUG</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Threshold"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="DEBUG"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">layout&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="org.apache.log4j.PatternLayout"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;The&nbsp;default&nbsp;pattern:&nbsp;Date&nbsp;Priority&nbsp;[Category]&nbsp;Message\n&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="ConversionPattern"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="%d{ABSOLUTE}&nbsp;%-5p&nbsp;[%c{1}]&nbsp;%m%n"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">layout</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">appender</span><span style="COLOR: #0000ff">&gt;</span></div>
其它保持默认就好了...<br>2、文件<br>JBoss中缺省的FILE配置是每日回滚,如果一天的日志量大于了单个文件的大小,则当前的日志文件就会被覆盖..因此一般都设置一个根据文件大小回滚的配置.<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">appender&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="mylog2"</span><span style="COLOR: #ff0000">&nbsp;class</span><span style="COLOR: #0000ff">="org.jboss.logging.appender.RollingFileAppender"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">errorHandler&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="org.jboss.logging.util.OnlyOnceErrorHandler"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="File"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="${jboss.server.log.dir}/mylog2.log"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="Append"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;Rollover&nbsp;at&nbsp;midnight&nbsp;each&nbsp;day&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="DatePattern"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="'.'yyyy-MM-dd"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;Rollover&nbsp;at&nbsp;the&nbsp;top&nbsp;of&nbsp;each&nbsp;hour<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param&nbsp;name="DatePattern"&nbsp;value="'.'yyyy-MM-dd-HH"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">layout&nbsp;</span><span style="COLOR: #ff0000">class</span><span style="COLOR: #0000ff">="org.apache.log4j.PatternLayout"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;The&nbsp;default&nbsp;pattern:&nbsp;Date&nbsp;Priority&nbsp;[Category]&nbsp;Message\n&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">param&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="ConversionPattern"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="%d&nbsp;%-5p&nbsp;[%c]&nbsp;%m%n"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">&lt;!--</span><span style="COLOR: #008000">&nbsp;The&nbsp;full&nbsp;pattern:&nbsp;Date&nbsp;MS&nbsp;Priority&nbsp;[Category]&nbsp;(Thread:NDC)&nbsp;Message\n<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param&nbsp;name="ConversionPattern"&nbsp;value="%d&nbsp;%-5r&nbsp;%-5p&nbsp;[%c]&nbsp;(%t:%x)&nbsp;%m%n"/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">--&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">layout</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">appender</span><span style="COLOR: #0000ff">&gt;</span></div>
<p>这里把默认的org.jboss.logging.appender.DailyRollingFileAppender换为org.jboss.logging.appender.RollingFileAppender<br>完全可以顾名思义.File属性用于指定日志文件存放的位置...</p>
<p>定义好了两个配置后,需要定义一个logger标记</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">logger&nbsp;</span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="yourclass"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">level&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="DEBUG"</span><span style="COLOR: #ff0000">&nbsp;</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">appender-ref&nbsp;</span><span style="COLOR: #ff0000">ref</span><span style="COLOR: #0000ff">="mylog1"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">appender-ref&nbsp;</span><span style="COLOR: #ff0000">ref</span><span style="COLOR: #0000ff">="mylog2"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">logger</span><span style="COLOR: #0000ff">&gt;</span></div>
设置级别位DEBUG调试..引用前面定义mylog1,mylog2...logger标记的name属性表示需要日志输出的包.可以指定为包路径也可以指定为类名.例如:com.xxx 表示com.xxx下的所有类就会被输出,com.xxx.yyy.zzz(zzz为类名)表示zzz类将会输出.
<img src ="http://www.blogjava.net/gaofeng/aggbug/128359.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-05 15:20 <a href="http://www.blogjava.net/gaofeng/archive/2007/07/05/128359.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>EJB3 Stateless Session Bean的开发步骤</title><link>http://www.blogjava.net/gaofeng/archive/2007/07/05/128269.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Thu, 05 Jul 2007 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/archive/2007/07/05/128269.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/128269.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/archive/2007/07/05/128269.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/128269.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/128269.html</trackback:ping><description><![CDATA[1、开发只存在远程接口的无状态会话Bean<br>a.定义一个普通的Java接口..<br>b.定义一个类实现此接口.并指定 @Stateless @Remote两个注释.说明时远程无状态会话Bean<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">//</span><span style="COLOR: #008000">远程接口</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">interface</span><span style="COLOR: #000000">&nbsp;MyFirstTest&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;xxxx();<br>}</span></div>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008000">//</span><span style="COLOR: #008000">实现类</span><span style="COLOR: #008000"><br></span><span style="COLOR: #000000">@Stateless<br>@Remote({MyFirstTest.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">})<br></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;MyFirstTestBean&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;xxxx()&nbsp;{<br>&nbsp;&nbsp;&nbsp;&nbsp;}<br>}</span></div>
c.将此ejb打包成jar,发布到JBoss....客户端就可以访问了.JNDI:MyFirstTestBean/remote<br>2、开发只存在本地接口的无状态会话Bean @Stateless @Local,步骤和远程无状态会话Bean相同..<br>3、开发存在Remote和Local接口的无状态Session Bean<br>步骤一样,只是在实现类的注释上同时加入Remote和Local注释...<br>总结:a.Stateless Session Bean不会保留客户端调用的状态,被容器实例话后就会被放到会话池中,这样如果Session Bean中存在自己的属性,就会被保存下来.这样下个客户端访问时就会看到上个客户端的Bean属性...<br>b.目前的EJB3实现可以支持同时指向远程接口和本地接口,这样就不需要再在应用中来回切换接口了. 
<img src ="http://www.blogjava.net/gaofeng/aggbug/128269.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-05 10:37 <a href="http://www.blogjava.net/gaofeng/archive/2007/07/05/128269.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在JBoss4.2.0GA中配置JSF+EJB3遇到的问题</title><link>http://www.blogjava.net/gaofeng/articles/128125.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Wed, 04 Jul 2007 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/articles/128125.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/128125.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/articles/128125.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/128125.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/128125.html</trackback:ping><description><![CDATA[启动时总是报类转换异常org.jboss.web.jsf.integration.config.JBossJSFConfigureListener..之前在Tomcat下部署都是成功的,竟然在JBoss下报这个错误...在google上搜了半天也没有找到答案..最后在JBoss的论坛上面看到有人提到此问题..原来是JSF1.2参考实现的问题.JBoss和Sun的实现各不相同,就造成了上面的类转换异常..于是换下原来Sun的实现,在%JBOSS_HOME%/server\default\deploy\jboss-web.deployer\jsf-libs下拷贝出JBoss的JSF实现..启动服务器,成功!! 
<img src ="http://www.blogjava.net/gaofeng/aggbug/128125.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-04 15:56 <a href="http://www.blogjava.net/gaofeng/articles/128125.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Eclipse中开发JSF</title><link>http://www.blogjava.net/gaofeng/articles/127842.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Wed, 04 Jul 2007 03:00:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/articles/127842.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/127842.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/articles/127842.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/127842.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/127842.html</trackback:ping><description><![CDATA[<span style="FONT-SIZE: 12pt">Eclipse3.3刚刚发布,正在学习JSF,于是使用Eclipse3.3做了一个JSF的Demo,很简单,主要是页面的跳转、组件和Bean的绑定等基础... <br>1、工具准备: Eclipse3.3&nbsp; WTP2.0 (最好下载一个all-in-one的版本..省的麻烦)...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 依赖包:jsf1.2.04-p02,目前的最新版本.内含:jsf-api.jar;jsf-impl.jar.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; jstl.jar;standard.jar;commons-beanutils.jar;commons-collections.jar<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;commons-digester.jar<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Web服务器使用Tomcat6..我用的是6.0.10,目前最近的好像是6.0.13.<br>&nbsp;2、在Eclipse中新建一个Dynamic Web Project...Project name任意..Target Runtime选择Apache Tomcat v6.0,下一步可以设置应用的组件,这里把JSF选上.其余默认..<br>3、完成后,项目的文件结构已经建好,开始编码:<br>首先定义一个PersionBean:<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">&nbsp;1</span>&nbsp;<span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;com.xzuf.jsf;<br></span><span style="COLOR: #008080">&nbsp;2</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000">&nbsp;java.io.Serializable;<br></span><span style="COLOR: #008080">&nbsp;3</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">&nbsp;4</span>&nbsp;<span style="COLOR: #008000">&nbsp;*&nbsp;PersonBean<br></span><span style="COLOR: #008080">&nbsp;5</span>&nbsp;<span style="COLOR: #008000">&nbsp;*&nbsp;</span><span style="COLOR: #808080">@author</span><span style="COLOR: #008000">&nbsp;xzgf&nbsp;&lt;a&nbsp;href='mailto:javac_oracle@163.com'&gt;javac_oracle@163.com&lt;/a&gt;<br></span><span style="COLOR: #008080">&nbsp;6</span>&nbsp;<span style="COLOR: #008000">&nbsp;*&nbsp;@create&nbsp;2007-7-2<br></span><span style="COLOR: #008080">&nbsp;7</span>&nbsp;<span style="COLOR: #008000">&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">&nbsp;8</span>&nbsp;<span style="COLOR: #000000"></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;PersonBean&nbsp;</span><span style="COLOR: #0000ff">implements</span><span style="COLOR: #000000">&nbsp;Serializable&nbsp;{<br></span><span style="COLOR: #008080">&nbsp;9</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;name;<br></span><span style="COLOR: #008080">10</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000">&nbsp;String&nbsp;password;<br></span><span style="COLOR: #008080">11</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">12</span>&nbsp;<span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@return</span><span style="COLOR: #008000">&nbsp;the&nbsp;password<br></span><span style="COLOR: #008080">13</span>&nbsp;<span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">14</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getPassword()&nbsp;{<br></span><span style="COLOR: #008080">15</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;password;<br></span><span style="COLOR: #008080">16</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">17</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">/**</span><span style="COLOR: #008000"><br></span><span style="COLOR: #008080">18</span>&nbsp;<span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;</span><span style="COLOR: #808080">@param</span><span style="COLOR: #008000">&nbsp;password&nbsp;the&nbsp;password&nbsp;to&nbsp;set<br></span><span style="COLOR: #008080">19</span>&nbsp;<span style="COLOR: #008000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #008000">*/</span><span style="COLOR: #000000"><br></span><span style="COLOR: #008080">20</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;setPassword(String&nbsp;password)&nbsp;{<br></span><span style="COLOR: #008080">21</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.password&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;password;<br></span><span style="COLOR: #008080">22</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">23</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;String&nbsp;getName()&nbsp;{<br></span><span style="COLOR: #008080">24</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000">&nbsp;name;<br></span><span style="COLOR: #008080">25</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">26</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000">&nbsp;setName(String&nbsp;name)&nbsp;{<br></span><span style="COLOR: #008080">27</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">this</span><span style="COLOR: #000000">.name&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;name;<br></span><span style="COLOR: #008080">28</span>&nbsp;<span style="COLOR: #000000">&nbsp;&nbsp;&nbsp;&nbsp;}<br></span><span style="COLOR: #008080">29</span>&nbsp;<span style="COLOR: #000000">}<br></span><span style="COLOR: #008080">30</span>&nbsp;<span style="COLOR: #000000"></span></div>
接着在faces-config.xml注册刚定义的PersonBean,使得可以在应用中直接使用bean的实例.<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">managed-bean</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">description</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jsf&nbsp;test&nbsp;bean</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">description</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">managed-bean-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;personBean</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">managed-bean-name</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">managed-bean-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.xzuf.jsf.PersonBean</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">managed-bean-class</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">managed-bean-scope</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">managed-bean-scope</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">managed-bean</span><span style="COLOR: #0000ff">&gt;</span></div>
当然,在新版的Eclipse中已经可以图形化的对Bean进行定义了,只要使用默认的打开方式,就可以看到一个非常直观的界面..方便了各种配置...<br>接着定义两个jsp页面,并增加jsf标签..完整的代码请到附件中下载..<br>firstjsf.jsp<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">center</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h3</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Please&nbsp;enter&nbsp;your&nbsp;user&nbsp;name&nbsp;and&nbsp;password</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">h3</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">f:view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:form&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="myForm"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:panelGrid&nbsp;</span><span style="COLOR: #ff0000">columns</span><span style="COLOR: #0000ff">="2"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:outputText&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="User&nbsp;Name:"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:outputText</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:inputText&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="#{personBean.name}"</span><span style="COLOR: #ff0000">&nbsp;required</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:inputText</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:outputText&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="Password:"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:outputText</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:inputSecret&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="userpassword"</span><span style="COLOR: #ff0000">&nbsp;value</span><span style="COLOR: #0000ff">="#{personBean.password}"</span><span style="COLOR: #ff0000">&nbsp;required</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">h:inputSecret</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:outputText&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:outputText</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:commandButton&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="Login"</span><span style="COLOR: #ff0000">&nbsp;action</span><span style="COLOR: #0000ff">="login"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:commandButton</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:graphicImage&nbsp;</span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="waveImg"</span><span style="COLOR: #ff0000">&nbsp;url</span><span style="COLOR: #0000ff">="/images/wave.med.gif"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:graphicImage</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:message&nbsp;</span><span style="COLOR: #ff0000">showSummary</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000">&nbsp;showDetail</span><span style="COLOR: #0000ff">="true"</span><span style="COLOR: #ff0000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style</span><span style="COLOR: #0000ff">="color:&nbsp;red;&nbsp;font-family:&nbsp;'New&nbsp;Century&nbsp;Schoolbook',&nbsp;serif;&nbsp;font-style:&nbsp;oblique"</span><span style="COLOR: #ff0000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id</span><span style="COLOR: #0000ff">="errors1"</span><span style="COLOR: #ff0000">&nbsp;for</span><span style="COLOR: #0000ff">="userpassword"</span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">h:panelGrid</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">h:form</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">f:view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">center</span><span style="COLOR: #0000ff">&gt;</span></div>
welcome.jsp<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">f:view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:outputText&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="#{personBean.name}"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:outputText</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">&nbsp;Hello!!<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">br</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Your&nbsp;password&nbsp;is&nbsp;:<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h:outputLabel&nbsp;</span><span style="COLOR: #ff0000">value</span><span style="COLOR: #0000ff">="#{personBean.password}"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">h:outputLabel</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">h3</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000">Welcome&nbsp;to&nbsp;JavaServerFace</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">h3</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">f:view</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span></div>
还是在faces-config.xml.中配置页面导航,可以通过拖拽设置...<br>全部保存后,右击项目,在Debug中选择Debug on server.....</span> 
<img src ="http://www.blogjava.net/gaofeng/aggbug/127842.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-04 11:00 <a href="http://www.blogjava.net/gaofeng/articles/127842.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>准备学习JSF</title><link>http://www.blogjava.net/gaofeng/articles/127581.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Mon, 02 Jul 2007 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/articles/127581.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/127581.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/articles/127581.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/127581.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/127581.html</trackback:ping><description><![CDATA[<br>
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>这几天看了一下JSF,感觉很不错...组件设计类似于Swing,交互通过事件机制来实现...对于有过Swing经验的开发人员应该很熟悉...我看的是&lt;Java Server Faces编程&gt;,这本书讲的很好,比较容易懂,适合于我这样的初学者...<img alt="" src="http://www.blogjava.net/javascripts/fckeditor/editor/images/smiley/msn/regular_smile.gif">.我有本书的电子版pdf格式..效果还可以...如果需要可以给我邮件,我发给大家...</p>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/gaofeng/aggbug/127581.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-02 11:57 <a href="http://www.blogjava.net/gaofeng/articles/127581.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>搬家至此...</title><link>http://www.blogjava.net/gaofeng/articles/127437.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Mon, 02 Jul 2007 01:46:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/articles/127437.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/127437.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/articles/127437.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/127437.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/127437.html</trackback:ping><description><![CDATA[由于在JavaEye上的博客在公司访问实在太慢,现搬至此.... 
<img src ="http://www.blogjava.net/gaofeng/aggbug/127437.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-07-02 09:46 <a href="http://www.blogjava.net/gaofeng/articles/127437.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]如何在Tomcat中定义JNDI数据源</title><link>http://www.blogjava.net/gaofeng/articles/127582.html</link><dc:creator>Java.net</dc:creator><author>Java.net</author><pubDate>Wed, 27 Jun 2007 05:50:00 GMT</pubDate><guid>http://www.blogjava.net/gaofeng/articles/127582.html</guid><wfw:comment>http://www.blogjava.net/gaofeng/comments/127582.html</wfw:comment><comments>http://www.blogjava.net/gaofeng/articles/127582.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gaofeng/comments/commentRss/127582.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gaofeng/services/trackbacks/127582.html</trackback:ping><description><![CDATA[<br>网站：<a href="http://www.javaeye.com/">JavaEye</a> 作者：<a href="http://xzgf.javaeye.com/">jvincent</a> 发表时间: 2007-06-27 13:50 此文章来自于 <a href="http://www.javaeye.com/">http://www.JavaEye.com</a> <br>声明：本文系JavaEye网站原创文章，未经JavaEye网站或者作者本人书面许可，任何其他网站严禁擅自发表本文，否则必将追究法律责任！<br>原文链接：<a style="COLOR: red" href="http://xzgf.javaeye.com/blog/94619"> http://xzgf.javaeye.com/blog/94619 </a><br><br>
<table width="100%">
    <tbody>
        <tr>
            <td>
            <p>
            <p><font face=Arial>如何定义JNDI数据源 (抽取翻译了一下Tomcat文档的JNDI数据源的部分,不对的地方请指正..)</font></p>
            <br>
            <p><font face=Arial><font size=4><font size=1>内容提要:</font><br><br></font><strong>1、介绍<br><br>2、数据连接池的配置<br><br>3、不使用连接池的解决方案<br><br>4、Oracle数据源配置举例</strong></font></p>
            <br>
            <p><font face=Arial>1、总体介绍 Introdution</font></p>
            <br>
            <p><font face=Arial>配置JNDI数据源是配置JNDI资源的一个特例,过程和方法都差不多..<br><br>请注意:在Tomcat 5.0.x 和 Tomcat 5.5.x版本之间,JNDI资源的配置已经发生了变化,所以,如果你使用的是以上版本需要修改一下配置语法..<br><br>本文假定你已经理解了Context和Host的配置,如果没有,请自行学习..</font></p>
            <br>
            <p><font face=Arial>2、数据连接池的配置 Database Connection Pool(DBCP) Configurations</font></p>
            <br>
            <p><font face=Arial>DBCP提供了对JDBC2.0的支持,如果你使用的1.4版本JVM,DBCP将支持JDBC3.0..<br><br>2.1 安装 Installation<br><br>DBCP使用Jakarta-Commons Database Connection Pool,它依赖以下三个包:<br><br>Jakarta-Commons DBCP</font><font face=Arial><br><br>Jakarta-Commons Collections<br><br>Jakarta-Commons Pool<br><br>在Tomcat的安装目录提供了一个集成的jar包 $CATALINA_HOME/lib/tomcat-dbcp.jar..<br><br>3 避免数据连接池泄露 Preventing DB connection pool leaks<br><br>顾名思义,数据连接池负责创建和管理数据库连接.重用一个已经存在的数据连接要比每次都打开新建(new)一个连接效率高的多..<br><br>但连接池通常个问题:一个Web应用程序需要关闭ResultSet's,Statement's,Connections's等资源.如果应用程序关闭资源失败,就是导致这些资源无法在被重用,即数据连接池泄露.最终如果没有足够的有效的连接,将导致应用程序连接失败.<br><br>对于这个问题有个解决方法;Jakarta-Commons的DBCP可以通过配置来跟踪、恢复那些关闭失败的连接.不但可以恢复,而且还可以生成堆栈轨迹..<br><br>为了关闭和重用那个被遗弃的资源,可以在DBCP数据源的资源配置中加入一下属性:<br><br></font></p>
            <br>
            <div class=code_title>xml 代码</div>
            <br>
            <div class=dp-highlighter><br>
            <div class=bar></div>
            <br>
            <ol class=dp-xml><br>
                <li class=alt><span><span class=attribute>removeAbandoned</span><span>=</span><span class=attribute-value>"true"</span><span>&nbsp;&nbsp;</span></span> <br></li>
            </ol>
            <br></div>
            <br>
            <p><br><br>当有效的数据连接低于DBCP设置的时候,就会重用被遗弃的资源..默认是false;<br><br></p>
            <br>
            <div class=code_title>xml 代码</div>
            <br>
            <div class=dp-highlighter><br>
            <div class=bar></div>
            <br>
            <ol class=dp-xml><br>
                <li class=alt><span><span class=attribute>removeAbandonedTimeout</span><span>=</span><span class=attribute-value>"60"</span><span>&nbsp;&nbsp;</span></span> <br></li>
            </ol>
            <br></div>
            <br>
            <p><br><br>设置被抛弃的数据连接在多少秒之后可以被删除...默认是300秒.<br><br></p>
            <br>
            <div class=code_title>xml 代码</div>
            <br>
            <div class=dp-highlighter><br>
            <div class=bar></div>
            <br>
            <ol class=dp-xml><br>
                <li class=alt><span><span class=attribute>logAbandoned</span><span>=</span><span class=attribute-value>"true"</span><span>&nbsp;&nbsp;</span></span> <br></li>
            </ol>
            <br></div>
            <br>
            <p><br><br>如果想要记录下被抛弃数据连接的堆栈轨迹可以设为true..默认false;</p>
            <br>
            <p><font face=Arial>4、Oracle配置举例<br><br>Tomcat只能识别*.jar文件,如果数据库驱动为*.zip,则需要修改扩展名为jar..对于Oracle9i应该使用 oracle.jdbc.OracleDriver,因为 oracle.jdbc.driver.OracleDriver 已经不建议使用..将来也不一定支持了..<br><br>4.1 配置server.xml<br><br></font></p>
            <br><font face=Arial><br>
            <div class=code_title>xml 代码</div>
            <br>
            <div class=dp-highlighter><br>
            <div class=bar></div>
            <br>
            <ol class=dp-xml><br>
                <li class=alt><span><span class=tag>&lt;</span><span class=tag-name>Resource</span><span>&nbsp;</span><span class=attribute>name</span><span>=</span><span class=attribute-value>"jdbc/myoracle"</span><span>&nbsp;</span><span class=attribute>auth</span><span>=</span><span class=attribute-value>"Container"</span><span>&nbsp;&nbsp;</span></span> <br>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=attribute>type</span><span>=</span><span class=attribute-value>"javax.sql.DataSource"</span><span>&nbsp;</span><span class=attribute>driverClassName</span><span>=</span><span class=attribute-value>"oracle.jdbc.OracleDriver"</span><span>&nbsp;&nbsp;</span> <br>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=attribute>url</span><span>=</span><span class=attribute-value>"jdbc:oracle:thin:@127.0.0.1:1521:mysid"</span><span>&nbsp;&nbsp;</span> <br>
                <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=attribute>username</span><span>=</span><span class=attribute-value>"scott"</span><span>&nbsp;</span><span class=attribute>password</span><span>=</span><span class=attribute-value>"tiger"</span><span>&nbsp;</span><span class=attribute>maxActive</span><span>=</span><span class=attribute-value>"20"</span><span>&nbsp;</span><span class=attribute>maxIdle</span><span>=</span><span class=attribute-value>"10"</span><span>&nbsp;&nbsp;</span> <br>
                <li class=alt><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class=attribute>maxWait</span><span>=</span><span class=attribute-value>"-1"</span><span class=tag>/&gt;</span><span>&nbsp; &nbsp;&nbsp;</span> <br></li>
            </ol>
            <br></div>
            <br>
            <p>4.2 配置web.xml<br><br></p>
            <br>
            <div class=code_title>xml 代码</div>
            <br>
            <div class=dp-highlighter><br>
            <div class=bar></div>
            <br>
            <ol class=dp-xml><br>
                <li class=alt><span><span class=tag>&lt;</span><span class=tag-name>resource-ref</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span></span> <br>
                <li class=""><span>&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>description</span><span class=tag>&gt;</span><span>Oracle&nbsp;Datasource&nbsp;example</span><span class=tag><span class=tag-name>description</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span> </span><br>
                <li class=alt><span>&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>res-ref-name</span><span class=tag>&gt;</span><span>jdbc/myoracle</span><span class=tag><span class=tag-name>res-ref-name</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span> </span><br>
                <li class=""><span>&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>res-type</span><span class=tag>&gt;</span><span>javax.sql.DataSource</span><span class=tag><span class=tag-name>res-type</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span> </span><br>
                <li class=alt><span>&nbsp;</span><span class=tag>&lt;</span><span class=tag-name>res-auth</span><span class=tag>&gt;</span><span>Container</span><span class=tag><span class=tag-name>res-auth</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span> </span><br>
                <li class=""><span></span><span class=tag><span class=tag-name>resource-ref</span><span class=tag>&gt;</span><span>&nbsp;&nbsp;</span> </span><br></li>
            </ol>
            <br></div>
            <br>
            <p>4.3 代码示例<br><br></p>
            <br>
            <div class=code_title>java 代码</div>
            <br>
            <div class=dp-highlighter><br>
            <div class=bar></div>
            <br>
            <ol class=dp-j><br>
                <li class=alt><span><span>Context&nbsp;initContext&nbsp;=&nbsp;</span><span class=keyword>new</span><span>&nbsp;InitialContext(); &nbsp;&nbsp;</span></span> <br>
                <li class=""><span>Context&nbsp;envContext&nbsp;&nbsp;=&nbsp;(Context)initContext.lookup(</span><span class=string>"java:/comp/env"</span><span>); &nbsp;&nbsp;</span> <br>
                <li class=alt><span>DataSource&nbsp;ds&nbsp;=&nbsp;(DataSource)envContext.lookup(</span><span class=string>"jdbc/myoracle"</span><span>); &nbsp;&nbsp;</span> <br>
                <li class=""><span>Connection&nbsp;conn&nbsp;=&nbsp;ds.getConnection(); &nbsp;&nbsp;</span> <br>
                <li class=alt><span></span><span class=comment>//etc.&nbsp;</span><span>&nbsp;&nbsp;</span> <br></li>
            </ol>
            <br></div>
            <br>
            <p>&nbsp;英文原文地址:<a href="http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html">tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html</a>&nbsp;</p>
            <br>
            <p>&nbsp;</p>
            <br>
            <p>2007-06-27</p>
            <br></font><font face=Arial>jvincent</font>
            <p>&nbsp;</p>
            </td>
        </tr>
    </tbody>
</table>
<br><br><br><span style="COLOR: red"><a style="COLOR: red" href="http://xzgf.javaeye.com/blog/94619">《 如何在Tomcat中定义JNDI数据源 》 的评论也很精彩，欢迎您也添加评论。查看详细 &gt;&gt;</a></span> <br><br>推荐相关文章：<br>&nbsp;&nbsp;<a href="http://www.javaeye.com/topic/92409">IE7下不同用户会共享同一个session会话的问题</a><br>&nbsp;&nbsp;<a href="http://www.javaeye.com/topic/84795">tomcat 内存溢出问题</a><br><br><br><br><br><span style="COLOR: #e28822">JavaEye推荐</span><br><a href="http://www.javaeye.com/topic/92392">广州：梦境网络公司：薪水＋期权诚聘高级人才 C++工程师 和 Java工程师</a><br><a href="http://www.javaeye.com/topic/92382">北京：高薪诚聘Ruby on Rails高手： 月薪15－25K</a><br><a href="http://www.javaeye.com/topic/92797">上海：尤恩斯国际集团：诚聘开发工程师</a><br><a href="http://www.javaeye.com/topic/69984">北京：优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA</a><br><br><br><br>文章来源:<a href="http://xzgf.javaeye.com/blog/94619"> http://xzgf.javaeye.com/blog/94619 </a>
<img src ="http://www.blogjava.net/gaofeng/aggbug/127582.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gaofeng/" target="_blank">Java.net</a> 2007-06-27 13:50 <a href="http://www.blogjava.net/gaofeng/articles/127582.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>