<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>gyfmp5</title>
    <description></description>
    <link>http://gyfmp5.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>Echang</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/212568" style="color:red;">http://gyfmp5.javaeye.com/blog/212568</a>&nbsp;
          发表时间: 2008年07月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a href="http://www.echangnet.cn" target="_blank">Echang</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/212568#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 08 Jul 2008 03:24:24 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/212568</link>
        <guid>http://gyfmp5.javaeye.com/blog/212568</guid>
      </item>
      <item>
        <title>自己新建的个人空间，有空大家去逛逛交流交流</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/188300" style="color:red;">http://gyfmp5.javaeye.com/blog/188300</a>&nbsp;
          发表时间: 2008年04月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>网站地址: <a href="http://www.my4j.com">www.my4j.com</a>
&nbsp; </p>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/188300#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 30 Apr 2008 10:14:18 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/188300</link>
        <guid>http://gyfmp5.javaeye.com/blog/188300</guid>
      </item>
      <item>
        <title>DBDesigner使用笔记</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/131705" style="color:red;">http://gyfmp5.javaeye.com/blog/131705</a>&nbsp;
          发表时间: 2007年10月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div>DBDesigner使用笔记</div>
<div>&nbsp;</div>
<div>表格之间的关系</div>
<div>DD总共有 6个绘制表间关系的图标</div>
<div>从上到下依次是<br />
Create new 1:n Non identifying Relation.Tool (Shift+R)<br />
创建一个新的 1:n 非识别关系 的工具<br />
Create new 1:1 Non identifying Relation.Tool (Shift+R)<br />
创建一个新的 1:n 非识别关系 的工具<br />
Create new n:m Relation (Click on one table,then on the other table to link these two table by a n:mrelation)<br />
创建一个新的 n:m 关系</div>
<div><br />
Create New 1:1 Generalisation Tool (A 1:1 relation which has its own graphical representation)<br />
创建一个新的1:1 主从 的工具</div>
<div>Create New 1:1 Relation (Click on one table,then on the other table to link these two tables by a 1:1 relation )<br />
创建一个新的1:1 关系的工具</div>
<div>Create New 1:n Relation (Click on one table,then on the other table to link these two tables by a 1:n relation )<br />
创建一个新的1:n 关系的工具</div>
<div><br />
1当我不给表建立主键的时候建立连接并不会影响表中字段名<br />
但是当我给两个表都建立了主键的时候 使用创建新的1:n非识别关系工具连接两个表 DD为<br />
我在从表中自动创建了一个指向主表的外键并使用 双色菱形表示了表间的1:n关系<br />
同时还建立一个索引</div>
<div>2当创建1:1非识别关系的时候，DD为我在从表中自动创建了一个指向主表的外键并使用单色菱形表示<br />
1:1关系,并在从表中创建了一个外键的索引</div>
<div><br />
3 当创建n:m关系时 DD为我自动创建了一个关系表 这个关系表中含有指向主和从表的外键并且同时创建了索引</div>
<div><br />
4 创建主从关系时 DD创建了和 1:1关系表类似的外键和索引 两者区别在于 关系种类是 派生对象<br />
注意 箭头指向父亲表 子表为派生关系。</div>
<div><br />
5 ,6 基本和1 和2 一样 只是 表间关系中不是非识别的关系</div>
<div>问题：<br />
非识别是什么意思？<br />
需要尝试一下非识别和没有非识别的区别。</div>
<div><br />
总结：<br />
被自动创建的外键都不能修改名字<br />
表间关系被删除的时候关联外键也会被删除<br />
主表中主键被更改的时候从表中外建会被删除但是如果再次创建关系就会从新建立，并且没有索引<br />
注意菱形图示 黑色表示多条 白色表示一条 箭头指向表示父亲 灰线表示非识别 黑线相反</div>
<div>总结表间关系大类有两种 1:1 1:n <br />
n:m 关系需要中间有 一个和两个表都是 1:n的关系表出现 估计</div>
<div>1)CakePHP中模型的表间关系如何和DD中的图示对应<br />
CakePHP中的 hasAndBelongsToMany 关系也就是对这样表示的支持<br />
hasOne 1:1&nbsp;&nbsp; 定义在主表中外键在从表中<br />
belongsTo 1:1&nbsp; 定义在从表中外键在从表中<br />
hasMany 1:n&nbsp; 定义在主表中外键在从表中&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
hasAndBelongsToMany ？？</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<div>思考：<br />
思考一下如何使用 DD来间关系型表。</div>
<div><br />
尝试<br />
1)尝试使用DD创建Mysql数据库中的关系表。<br />
&nbsp;创建试验项目列车时刻表数据库<br />
数据<br />
&nbsp;列车名称 地点名称 到站时间 到站顺序 列车到站状态&nbsp; <br />
数据实体<br />
&nbsp;列车 地点 &nbsp;</div>
<div>&nbsp;</div>
<div>需要尝试一下非识别和没有非识别的区别。<br />
尝试使用DD来创建CakePHP的模型 <br />
注意DD自动创建的主键是 &quot;id表名&quot; 格式 <br />
而CP则希望使用id来做每一个标的主键</div>
<div><br />
使用感悟</div>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/131705#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 13 Oct 2007 20:16:14 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/131705</link>
        <guid>http://gyfmp5.javaeye.com/blog/131705</guid>
      </item>
      <item>
        <title>jboss数据链接出错</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/122444" style="color:red;">http://gyfmp5.javaeye.com/blog/122444</a>&nbsp;
          发表时间: 2007年09月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          ** BEGIN NESTED EXCEPTION ** <br /><br />java.io.EOFException<br /><br />STACKTRACE:<br /><br />java.io.EOFException<br />        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1934)<br />        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2380)<br />        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2909)<br />        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)<br />        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)<br />        at com.mysql.jdbc.Connection.execSQL(Connection.java:3020)<br />        at com.mysql.jdbc.Connection.execSQL(Connection.java:2949)<br />        at com.mysql.jdbc.Statement.executeQuery(Statement.java:959)<br />        at cn.busytrade.bops.dao.customer.impl.BopsClientInfoDAO.getBopsClientInfo(BopsClientInfoDAO.java:916)<br />        at cn.busytrade.bops.dao.customer.impl.BopsClientInfoDAO.getBopsClient(BopsClientInfoDAO.java:443)<br />        at cn.busytrade.bops.action.customer.ClienterTrainingAction.getResultList(ClienterTrainingAction.java:256)<br />        at cn.busytrade.bops.action.customer.ClienterTrainingAction.getClienterRefers(ClienterTrainingAction.java:167)<br />        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />        at java.lang.reflect.Method.invoke(Method.java:597)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)<br />        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />        at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />        at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)<br />        at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:225)<br />        at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)<br />        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />        at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)<br />        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)<br />        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)<br />        at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)<br />        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)<br />        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)<br />        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)<br />        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)<br />        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)<br />        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)<br />        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)<br />        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)<br />        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)<br />        at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)<br />        at java.lang.Thread.run(Thread.java:619)<br /><br /><br />** END NESTED EXCEPTION **<br /><br /><br /><br />Last packet sent to the server was 3 ms ago.<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2592)<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2909)<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1600)<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1695)<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.Connection.execSQL(Connection.java:3020)<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.Connection.execSQL(Connection.java:2949)<br />20:18:30,126 INFO  [STDOUT]     at com.mysql.jdbc.Statement.executeQuery(Statement.java:959)<br />20:18:30,126 INFO  [STDOUT]     at cn.busytrade.bops.dao.customer.impl.BopsClientInfoDAO.getBopsClientInfo(BopsClientInfoDAO.java:916)<br />20:18:30,126 INFO  [STDOUT]     at cn.busytrade.bops.dao.customer.impl.BopsClientInfoDAO.getBopsClient(BopsClientInfoDAO.java:443)<br />20:18:30,126 INFO  [STDOUT]     at cn.busytrade.bops.action.customer.ClienterTrainingAction.getResultList(ClienterTrainingAction.java:256)<br />20:18:30,126 INFO  [STDOUT]     at cn.busytrade.bops.action.customer.ClienterTrainingAction.getClienterRefers(ClienterTrainingAction.java:167)<br />20:18:30,127 INFO  [STDOUT]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />20:18:30,127 INFO  [STDOUT]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />20:18:30,127 INFO  [STDOUT]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />20:18:30,127 INFO  [STDOUT]     at java.lang.reflect.Method.invoke(Method.java:597)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />20:18:30,127 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:186)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:116)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.webwork.dispatcher.DispatcherUtils.serviceAction(DispatcherUtils.java:225)<br />20:18:30,128 INFO  [STDOUT]     at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:202)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />20:18:30,129 INFO  [STDOUT]     at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)<br />20:18:30,129 INFO  [STDOUT]     at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)<br />20:18:30,129 INFO  [STDOUT]     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)<br />20:18:30,129 INFO  [STDOUT]     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)<br />20:18:30,129 INFO  [STDOUT]     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)<br />20:18:30,130 INFO  [STDOUT]     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)<br />20:18:30,130 INFO  [STDOUT]     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)<br />20:18:30,130 INFO  [STDOUT]     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)<br />20:18:30,130 INFO  [STDOUT]     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)<br />20:18:30,130 INFO  [STDOUT]     at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)<br />20:18:30,130 INFO  [STDOUT]     at java.lang.Thread.run(Thread.java:619)<br />20:18:32,566 INFO  [Server] Runtime shutdown hook called, forceHalt: true<br />20:18:32,567 INFO  [Server] JBoss SHUTDOWN: Undeploying all packages<br />20:18:32,569 INFO  [TomcatDeployer] undeploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/<br />20:18:32,587 INFO  [TomcatDeployer] undeploy, ctxPath=/BopsBeta2, warUrl=.../deploy/BopsBeta2.war/<br />20:18:32,596 INFO  [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MySqlDS' from JNDI name 'java:MySqlDS'<br />20:18:32,605 INFO  [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' from JNDI name 'java:JmsXA'<br />20:18:32,617 INFO  [testTopic] Unbinding JNDI name: topic/testTopic<br />20:18:32,618 INFO  [securedTopic] Unbinding JNDI name: topic/securedTopic<br />20:18:32,618 INFO  [testDurableTopic] Unbinding JNDI name: topic/testDurableTopic<br />20:18:32,619 INFO  [testQueue] Unbinding JNDI name: queue/testQueue<br />20:18:32,621 INFO  [A] Unbinding JNDI name: queue/A<br />20:18:32,622 INFO  [B] Unbinding JNDI name: queue/B<br />20:18:32,623 INFO  [C] Unbinding JNDI name: queue/C<br />20:18:32,623 INFO  [D] Unbinding JNDI name: queue/D<br />20:18:32,624 INFO  [ex] Unbinding JNDI name: queue/ex<br />20:18:32,627 INFO  [DLQ] Unbinding JNDI name: queue/DLQ<br />20:18:32,628 INFO  [ConnectionFactoryBindingService] Unbound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' from JNDI name 'java:DefaultDS'<br />20:18:33,410 INFO  [HypersonicDatabase] Database standalone closed clean<br />20:18:33,449 INFO  [MailService] Mail service 'java:/Mail' removed from JNDI<br />20:18:33,456 INFO  [TomcatDeployer] undeploy, ctxPath=/web-console, warUrl=.../deploy/management/console-mgr.sar/web-console.war/<br />20:18:33,534 INFO  [TomcatDeployer] undeploy, ctxPath=/jbossmq-httpil, warUrl=.../deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/<br />20:18:33,542 INFO  [TomcatDeployer] undeploy, ctxPath=/, warUrl=.../deploy/jbossweb-tomcat55.sar/ROOT.war/<br />20:18:36,623 INFO  [Http11Protocol] Pausing Coyote HTTP/1.1 on http-0.0.0.0-8080<br />20:18:36,698 ERROR [Connector] Protocol handler pause failed<br />java.net.ConnectException: Connection refused
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/122444#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 09 Sep 2007 20:41:31 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/122444</link>
        <guid>http://gyfmp5.javaeye.com/blog/122444</guid>
      </item>
      <item>
        <title>100本名著，每本名著浓缩成一句话</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/114716" style="color:red;">http://gyfmp5.javaeye.com/blog/114716</a>&nbsp;
          发表时间: 2007年08月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="postText">
<p>1．神要是公然去跟人作对，那是任何人都难以对付的。（《荷马史诗》） </p>
<p>　　2．生存还是毁灭，这是一个值得思考的问题。（《哈姆霄特》） </p>
<p>　　3．善良人在追求中纵然迷惘，却终将意识到有一条正途。（《浮士德》） </p>
<p>　　4．认识自己的无知是认识世界的最可靠的方法。（《随笔集》） </p>
<p>　　5．你以为我贫穷、相貌平平就没有感情吗?我向你发誓，如果上帝赋予我财富和美貌，我会让你无法离开我，就像我现在无法离开你一样。虽然上帝没有这么做，可我们在精神上依然是平等的。（《简&middot;爱》） </p>
<p>　　6．大人都学坏了，上帝正考验他们呢，你还没有受考验，你应当照着孩子的想法生活。（《童年》） </p>
<p>　　7，你越没有心肝，就越高升得快，你毫不留情地打击人家，人家就怕你。只能把男男女女当作驿马，把它们骑得筋疲力尽，到了站上丢下来，这样你就能达到欲望的最高峰。（《高老头》） </p>
<p>　　8．我只想证明一件事，就是，那时魔鬼引<span id="more-161"></span>诱我，后来又告诉我，说我没有权利走那条路，因为我不过是个虱子，和所有其余的人一样。（《罪与罚》） </p>
<p>　　9．你瞧，桑丘&middot;潘沙朋友，那边出现了三十多个大得出奇的巨人。（《堂&middot;吉诃德》） </p>
<p>　　10．我并不愿意你受的苦比我受的还大，希斯克利夫。我只愿我们永远不分离：如果我有一句话使你今后难过，想想我在地下也感到一样的难过，看在我自己的份上，饶恕我吧! （《呼啸山庄》） </p>
<p>　　11．幸福的家庭是相同的，不幸的家庭各有各的不同。（《安娜&middot;卡列尼娜》） </p>
<p>　　12．唉，奴隶般的意大利，你哀痛之逆旅，你这暴风雨中没有舵手的孤舟，你不再是各省的主妇，而是妓院! （《神曲》） </p>
<p>　　13．将感情埋藏得太深有时是件坏事。如果一个女人掩饰了对自己所爱的男子的感情，她也许就失去了得到他的机会。（《傲慢与偏见》） </p>
<p>　　14．钟声又鸣响了&hellip;&hellip;一声又一声，静谧而安详，即使在女人做新娘的那个好月份里，钟声里也总带有秋天的味道。（《喧嚣与骚动》） </p>
<p>　　15．一个人并不是生来要被打败的，你尽可以把他消灭掉，可就是打不败他。（《老人与海》） </p>
<p>　　16．当然，行是行的，这固然很好，可是千万别闹出什么乱子来啊。（《套中人》） </p>
<p>　　17．面包!面包!我们要面包! （（《萌芽》） </p>
<p>　　18．我从没有爱过这世界，它对我也一样。（（《拜伦诗选》） </p>
<p>　　19．爱情应该给人一种自由感，而不是囚禁感。（（《儿子与情人》） </p>
<p>　　20．暴风雨将要在那一天，甚至把一些槲树吹倒，一些教堂的高塔要倒塌，一些宫殿也将要动摇! （《海涅诗选》） </p>
<p>　　21．自己的行为最惹人耻笑的人，却永远是最先去说别人坏话的人。（《伪君子》） </p>
<p>　　22．这时一种精神上的感慨油然而生，认为人生是由啜泣、抽噎和微笑组成的，而抽噎占了其中绝大部分。（《欧&middot;亨利短篇小说选》） </p>
<p>　　23．历史喜爱英勇豪迈的事迹，同时也谴责这种事迹所造成的后果。（《神秘岛》） </p>
<p>　　24．整个下半天，人都听凭羊脂球去思索。不过本来一直称呼她作&ldquo;夫人&rdquo;，现在却简单地称呼她作&ldquo;小姐&rdquo;了，谁也不很知道这是为着什么，仿佛她 从前在评价当中爬到了某种地位，现在呢，人都想把她从那种地位拉下一级似的，使她明白自己的地位是可羞的。（《莫泊桑短篇小说选》） </p>
<p>　　25．如果冬天来了，春天还会远吗? （《雪莱诗选》） </p>
<p>　　26．我明白了，我已经找到了存在的答案，我恶心的答案，我整个生命的答案。其实，我所理解的一切事物都可以归结为荒诞这个根本的东西。（《恶心》） </p>
<p>　　27．世界上有这样一些幸福的人，他们把自己的痛苦化作他人的幸福，他们挥泪埋葬了自己在尘世间的希望，它却变成了种子，长出鲜花和香膏，为孤苦伶仃的苦命人医治创伤。（《汤姆叔叔的小屋》） </p>
<p>　　28．当格里高&middot;萨姆莎从烦躁不安的梦中醒来时，发现他在床上变成了一个巨大的跳蚤。（《变形记》） </p>
<p>　　29．当现实折过来严丝合缝地贴在我们长期的梦想上时，它盖住了梦想，与它混为一体，如同两个同样的图形重叠起来合而为一一样。（《追忆似水年华》） </p>
<p>　　30．人与人之间，最可痛心的事莫过于在你认为理应获得善意和友谊的地方，却遭受了烦扰和损害。（《巨人传》） </p>
<p>　　31．现在我说的您要特别注意听：在别人心中存在的人，就是这个人的灵魂。这才是您本身，才是您的意识在一生当中赖以呼吸、营养以至陶醉的东西，这也就是您的灵魂、您的不朽和存在于别人身上的您的生命。（《日瓦戈医生》） </p>
<p>　　32．美德犹如名香，经燃烧或压榨而其香愈烈，盖幸运最能显露恶德而厄运最能显露美德。（《培根论说文集》） </p>
<p>　　33．亲爱的艾妮斯，我出国，为了爱你，我留在国外，为了爱你，我回国，也是为了爱你!（《大卫&middot;科波菲尔》） </p>
<p>　　34．强迫经常使热恋的人更加铁心，而从来不能叫他们回心转意。（《阴谋与爱情》） </p>
<p>　　35．在各种事物的常理中，爱情是无法改变和阻挡的，因为就本性而言，爱只会自行消亡，任何计谋都难以使它逆转。（《十日谈》） </p>
<p>　　36．只要你是天鹅蛋，就是生在养鸡场里也没有什么关系。（《安徒生童话》） </p>
<p>　　37．就投机钻营来说，世故的价值永远是无可比拟的。（《死魂灵》） </p>
<p>　　38. 谁都可能出个错儿，你在一件事情上越琢磨得多就越容易出错。（《好兵帅克历险记》） </p>
<p>　　39．我们经历着生活中突然降临的一切，毫无防备，就像演员进入初排。如果生活中的第一次彩排便是生活本身，那生活有什么价值呢?（《生命中不能承受之轻》） </p>
<p>    40．他发现了人类行为的一da法则，自己还不知道&mdash;&mdash;那就是，为了要使一个大人或小孩极想干某样事情，只需要设法把那件事情弄得不易到手就行了。（《汤姆&middot;索亚历险记》） </p>
<p>　　41．对有信仰的人，死是永生之门。（《失乐园》） </p>
<p>　　42．有一个传说，说的是有那么一只鸟儿，它一生只唱一次，那歌声比世上所有一切生灵的歌声都更加优美动听。（《荆棘鸟》） </p>
<p>　　43．离开一辈子后，他又回到了自己出生的那片土地上。从小到大，他一直是那个地方的目击者。（《尤利西斯》） </p>
<p>　　44．同上帝保持联系是一码事，他们都赞同这一点，但让上帝一天二十四小时都待在身边就是另一码事了。（《第二十二条军规》） </p>
<p>　　45．在甜蜜的梦乡里，人人都是平等的，但是当太阳升起，生存的斗争重新开始时，人与人之间又是多么的不平等。（《总统先生》） </p>
<p>　　46．开发人类智力的矿藏是少不了要由患难来促成的。（《基度山伯爵》） </p>
<p>　　47．离你越近的地方，路途越远；最简单的音调，需要最艰苦的练习。（《泰戈尔诗选》） </p>
<p>　　48．悲伤使人格外敏锐。（《约翰&middot;克里斯朵夫》</p>
<p>　　49．我在女人跟前经常失败，就是由于我太爱她们了。（《忏悔录》） </p>
<p>　　50．她睁大一双绝望的眼睛，观看她生活的寂寞。她像沉了船的水手一样，在雾蒙蒙的天边，遥遥寻找白帆的踪影。（《包法利夫人》） </p>
<p>　　51．我听见美洲在歌唱，我听见各种不同的颂歌。（《草叶集》） </p>
<p>　　52．倘若你能使你的心时常赞叹日常生活的神妙，你的苦痛的神妙必不减少于你的欢乐，你要承受你心天的季候，如同你常常承受从田野上度过的四时。（《先知》） </p>
<p>　　53．现在我住在波勒兹别墅，这里找不到一点儿灰尘，也没有一件东西摆得不是地方，除了我们，这里再没有别人，我们死了。（《北回归线》） </p>
<p>　　54．艳阳高升，原野上的朝露很快便了无痕迹。源氏痛感人生如梦，像朝露一般，愈加万念俱灰。（《源氏物语》） </p>
<p>　　55．那些普普通通而毫无特色的罪行才真正令人迷惑，就像&mdash;个相貌平凡的人最难以让人辨认&mdash;样。（《福尔摩斯探案集》） </p>
<p>　　56．你有一处建在房子里面的小池塘吗?在那个小池塘里，你可以随时观察水中生物生活的每一个片断。（《昆虫记》） </p>
<p>　　57．不要向井里吐痰，也许你还会来喝井里的水。（《静静的顿河》） </p>
<p>　　58．我看到了各个民族彼此敌视，而且默默地，无知地、愚蠢地、甘心地、无辜地在互相残杀。我看到了世界上最聪明的头脑还在发明武器和撰写文章，使这种种敌视和残杀更为巧妙，更为经久。（《西线无战事》） </p>
<p>　　59．这张脸同早晨雪天映在镜子中的那张脸一样，红扑扑的。在岛村看来，这又是介于梦幻同现实之间的另一种颜色。（《雪国》） </p>
<p>    60．一个人只要有意志力，就能超越他的环境。（《马丁&middot;伊登》） </p>
<p>　　61．站在痛苦之外规劝受苦的人，是件很容易的事。（《被缚的普罗米修斯》） </p>
<p>　　62．感情有理智根本无法理解的理由。（《月亮和六便士》） </p>
<p>　　63．世界上一切好东西对于我们，除了加以使用外，实在没有别的好处。（《鲁滨逊漂流记》） </p>
<p>　　64．每当太阳西沉，我坐在河边破旧的码头上，遥望新泽西上方辽阔的天空，我感到似乎有未经开垦的土地，所有的道路，所有的人都在不可思议地走向西部海岸。直到现在我才知道，在衣阿华，小伙子们总是不停地骚动喧闹，因为是那片土地使他们如此无法平静。（《在路上》） </p>
<p>　　65。在与法律之前，合乎&ldquo;自然的&rdquo;只有狮子的力量，或者动物饥寒时的需要，更简单地用一个字表示，便是&ldquo;欲&rdquo;。（《红与黑》） </p>
<p>　　66．上天让我们习惯各种事物，就是用它来代替幸福。（《叶甫盖尼&middot;奥涅金》） </p>
<p>　　67．一个人哪怕只生活过一天，也可以毫无困难地在监狱里过上一百年。（《局外人》） </p>
<p>　　68．往上爬吧，多捞钱吧，进入上层社会，那里准备好了一切。（《美国的悲剧》） </p>
<p>　　69．念书不能增添智慧。（《痛症楼》） </p>
<p>　　70．不管我活着，还是我死去，我都是一只牛虻，快乐地飞来飞去。（《牛虻》） </p>
<p>　　71．一个人把他整个的一生都押在&ldquo;女人的爱&rdquo;那一张牌上头赌博，那张牌输了，他就那样地灰心丧气，弄得自己什么事都不能做，这种人不算一个男人，不过是一个雄性生物。（《父与于》） </p>
<p>　　72．这个家庭的历史是一架周而复始无法停息的机器，是一个转动着的轮子，这只齿轮，要不是轴会逐渐不可避免地磨损的话，会永远旋转下去。（《百年孤独》） </p>
<p>　　73．现在我只信，首先我是一个人，跟你一样的一个&mdash;&mdash;至少我要学做一个人。（《玩偶之家》） </p>
<p>　　74．天才和我们相距仅仅一步。同时代者往往不理解这一步就是千里，后代又盲目相信这千里就是一步。同时代为此而杀了天才，后代又为此而在天才面前焚香。（《侏儒的话》） </p>
<p>　　75．遭受苦难的人在承受痛楚时并不能觉察到其剧烈的程度，反倒是过后延绵的折磨最能使其撕心裂肺。（《红字》） </p>
<p>　　76．人最宝贵的是生命，生命属于人只有一次。人的一生应当这样度过：当他回首往事时，不会因虚度年华而悔恨，也不会因碌碌无为而羞耻。这样， 临终前他就可以自豪地说：&ldquo;我已经把自己整个生命和全部精力都献给了世界上最壮丽的事业&mdash;&mdash;为人类的解放而奋斗。&rdquo;（《钢铁是怎样炼成的》） </p>
<p>　　77．凡是有甜美的鸟歌唱的地方，也都有毒蛇嘶嘶地叫。（《德伯家的苔丝》） </p>
<p>　　78．凡是想依正路达到这深密境界的人应从幼年起，就倾心向往美的形体。（《文艺对话录》） </p>
<p>　　79．友谊就是一切。友谊比才能更重要，比政府更重要，它和家庭几乎是可划等号的。千万别忘记这一点。（《教父》） </p>
<p>　　80．已经活了七十二岁，依然像是昨天的事：居民点的林阴小路，在歇晌的时间，白人居住区，道旁开满金风花的大街，阗无行人。（《物质生活》） </p>
<p>　　81．我明天回塔拉再去想吧。巳那时我就经受得住一切了。明天，我会想出一个办法把他弄回来。毕竟，明天又是另外的一天呢。（《飘》） </p>
<p>　　82．盲目可以增加你的勇气，因为你无法看到危险．（《格列佛游记》） </p>
<p>　　83．本人系疗养与护理院的居住者。我的护理员在观察我，他几乎每时每刻都监视着我：因为门上有个窥视孔，我的护理员的眼睛是那种棕色的，它不可能看透蓝眼睛的我。（《铁皮鼓》） </p>
<p>　　84．每当我追溯自己的青春年华时，那些日子就像是暴风雪之晨的白色雪花一样，被疾风吹得离我而去。（《洛莉塔》） </p>
<p>　　85．宽宏大量，是惟一能够照亮伟大灵魂的光芒。（《巴黎圣母院》） </p>
<p>　　86．很多年以前，那时我的钱包瘪瘪的，陆地上看来没什么好混的了，干脆下海吧，去在我们这个世界上占绝对面积的大海里逛逛吧! （《白鲸》） </p>
<p>　　87．我一贯追求的是：在人的热爱祖国与幻想允许的范围内，获得最大限度的真诚和信任，以及对所有的一切尽可能长久的保证。（《镜中微瑕》） </p>
<p>　　88．这里有一种无处投诉的罪行。这里有一种眼泪不足以象征的悲哀。这里有一种绝大的失败，足以使我们的一切成功都垮台。（《愤怒的葡萄》） </p>
<p>　　89．起来，饥寒交迫的奴隶!起来，全世界受苦的人! （《国际歌》） </p>
<p>　　90．我是说孩子们都在狂奔，也不知道自己是在往哪儿跑，我得从什么地方出来，把他们捉住。我整天就干这样的事。我只想当个麦田的守望者。我知道这有点异想天开，可我真正喜欢干的就是这个。（《麦田的守望者》） </p>
<p>　　91．获取一颗没有被人进攻的经验的心，也就像夺取一座没有守卫的城池一样。（《茶花女》） </p>
<p>　　92．他不知道那个梦已经丢在他背后了，丢在这个城市那边那一片无垠的混沌之中不知什么地方了，那里合众国的黑黝黝的田野在夜色中向前伸展。（《了不起的盖茨比》） </p>
<p>　　93．四月最残忍，从死了的土地滋生丁香，混杂着回忆和欲望，让春雨挑动着呆钝的根。（《荒原》） </p>
<p>　　94．世间的一切虚伪，正像过眼云烟，只有真理才是处世接物的根据。虚伪的黑暗，必为真理的光辉所消灭。（《一千零一夜》） </p>
<p>　　95．下面玩什么花样呢?（《发条橙》） </p>
<p>　　96．昨晚，我梦见自己又回到了曼陀丽庄园。（《蝴蝶梦》） </p>
<p>　　97．我不能想像这样一个人，他认为开棋的时候先走马而不是先走卒对他来说是英勇的壮举，而在象棋指南的某个犄角里占上一席可怜的位置就意味着 声名不朽，我不能想像，一个聪明人竟然能够在10年、20年、30年、40年之中一而再、再而三地把他全部的思维能力都献给一种荒诞的事情&mdash;&mdash;想尽一切办 法把木头棋子王赶到木板棋盘的角落里，而自己却没有发狂成为疯子。（《象棋的故事》） </p>
<p>　　98．咱家是猫。名字嘛&hellip;&hellip;还没有。（《我是猫》） </p>
<p>　　99．挺起英勇的胸脯前进！看，无数的旗帜满天飞舞！谁在那里向右转？ 向左！ 向左！向左！（《马雅可夫斯基诗选》） </p>
<p>　　100．水里照出的是自己的脸，内心反映的是自己的为人。（《圣经&middot;旧约》）</p>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/114716#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 21 Aug 2007 11:10:12 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/114716</link>
        <guid>http://gyfmp5.javaeye.com/blog/114716</guid>
      </item>
      <item>
        <title>ubuntu下安装lumaqq</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/112901" style="color:red;">http://gyfmp5.javaeye.com/blog/112901</a>&nbsp;
          发表时间: 2007年08月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在ubuntu中安装lumaqq 2006 <br />
环境：ubuntu <br />
要安装QQ首先要安装Java环境。 <br />
1、安装JAVA环境 <br />
打开终端，执行以下命令，或使用《新立得软件管理器》，在其中分别搜索&ldquo;sun-java5-jre&ldquo;和&ldquo;sun-java5-jdk&rdquo;并标记安装。 <br />
<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">sudo&nbsp;apt-get&nbsp;install&nbsp;sun-java5-jre&nbsp;</span></div>
</div>
<br />
<br />
<br />
# 如果空间富裕，建议安装一个JDK。 <br />
<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">sudo&nbsp;apt-get&nbsp;install&nbsp;sun-java5-jdk&nbsp;</span></div>
</div>
<br />
<br />
<br />
设置当前默认的java解释器 <br />
<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">sudo&nbsp;update-alternatives&nbsp;--config&nbsp;java&nbsp;</span></div>
</div>
<br />
<br />
执行后会出现类似如下的画面: <br />
<br />
There are 4 alternatives which provide `java'. <br />
<br />
Selection&nbsp;&nbsp;&nbsp;  Alternative <br />
----------------------------------------------- <br />
*+&nbsp;&nbsp;&nbsp;  1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /usr/lib/jvm/java-gcj/jre/bin/java <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /usr/bin/gij-wrapper-4.1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /usr/bin/gij-wrapper-4.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  /usr/lib/jvm/java-1.5.0-sun/jre/bin/java <br />
<br />
Press enter to keep the default[*], or type selection number: <br />
<br />
输入 有包含 &quot;sun&quot; 的行的前面的数字。如上面显示，则输入 4，然后回车确定。 <br />
<br />
<br />
2、安装QQ <br />
<br />
（1）下载并解压LumaQQ2006 <br />
<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">wget&nbsp;-c&nbsp;http:</span><span style="color: rgb(0, 0, 0);">//</span><span style="color: rgb(0, 0, 0);">lumaqq</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">linuxsir</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">org</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">download</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">lumaqq_2006M2-linux_gtk2_x86_no_jre</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">tar</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">gz<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />sudo&nbsp;tar&nbsp;zxvf&nbsp;lumaqq_2006M2-linux_gtk2_x86_no_jre</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">tar</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">gz&nbsp;-C&nbsp;</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">opt</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span></div>
</div>
<br />
（2）配置环境 <br />
<br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">sudo&nbsp;chown&nbsp;-R&nbsp;root</span><span style="color: rgb(128, 0, 0);">:root</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">opt</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">LumaQQ</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />sudo&nbsp;chmod&nbsp;-R&nbsp;</span><span style="color: rgb(0, 0, 0);">755</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">opt</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">LumaQQ</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);"><br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />sudo&nbsp;gedit&nbsp;</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">usr</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">share</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">applications</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">LumaQQ</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">desktop&nbsp;</span></div>
</div>
<br />
在新增的文件内加入下面这几行 <br />
<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">
<div><img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: rgb(0, 0, 0);">[Desktop&nbsp;Entry]<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Name</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">LumaQQ<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Comment</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">QQ&nbsp;Client<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Exec</span><span style="color: rgb(0, 0, 0);">=/</span><span style="color: rgb(0, 0, 0);">opt</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">LumaQQ</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">lumaqq<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Icon</span><span style="color: rgb(0, 0, 0);">=/</span><span style="color: rgb(0, 0, 0);">opt</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">LumaQQ</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">QQ</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">png<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Terminal</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">false<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: rgb(0, 0, 255);">Type</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">Application<br />
<img src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" alt="" />Categories</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">Application</span><span style="color: rgb(0, 0, 0);">;</span><span style="color: rgb(0, 0, 0);">Network</span><span style="color: rgb(0, 0, 0);">;</span><span style="color: rgb(0, 0, 0);"> <br />
</span></div>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/112901#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 16 Aug 2007 09:12:48 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/112901</link>
        <guid>http://gyfmp5.javaeye.com/blog/112901</guid>
      </item>
      <item>
        <title>apache</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/109873" style="color:red;">http://gyfmp5.javaeye.com/blog/109873</a>&nbsp;
          发表时间: 2007年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font id="font_word" style="font-size: 14px; font-family: 宋体,Verdana,Arial,Helvetica,sans-serif;"><font class="f14" id="zoom"><font color="#000000"><span class="postbody"><font size="2">/etc/apache2/sites-available/site1.xxxx.com </font></span></font></font></font><br />
<br />
&lt;VirtualHost *&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAdmin webmaster@localhost<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName http://www.my4j.com<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomLog&nbsp; /var/log/apache2/bbs.my4j.com-access.log combined<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DocumentRoot /var/www/my4j/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Directory /var/www/my4j/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Options Indexes FollowSymLinks MultiViews<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AllowOverride all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Order allow,deny<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; allow from all<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Directory&gt;<br />
&lt;/VirtualHost&gt;<br />
<br />
<font id="font_word" style="font-size: 14px; font-family: 宋体,Verdana,Arial,Helvetica,sans-serif;"><font class="f14" id="zoom"><font color="#000000"><span class="postbody"><font size="2">ln -s /etc/apache2/sites-available/site1.xxxx.com /etc/apache2/sites-enabled/site1.xxxx.com </font></span></font></font></font><br />
<br />
<br />
<font id="font_word" style="font-size: 14px; font-family: 宋体,Verdana,Arial,Helvetica,sans-serif;"><font class="f14" id="zoom"><font color="#000000"><span class="postbody"><font size="2">/etc/init.d/apache2 force-reload</font></span></font></font></font>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/109873#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 07 Aug 2007 23:10:19 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/109873</link>
        <guid>http://gyfmp5.javaeye.com/blog/109873</guid>
      </item>
      <item>
        <title>花生壳For Ubuntu</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/109769" style="color:red;">http://gyfmp5.javaeye.com/blog/109769</a>&nbsp;
          发表时间: 2007年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <ol type="1"><font class="f14" id="zoom"><font color="#000000">
    <li><strong>下载适合您的unix/linux版本的安装包文件，使用root身份解压缩安装包</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;# tar -zvxf phlinux-1.0-install.suse.9.0.tar.gz<br />
    </li>
    <li><strong>安装包文件将解压缩至phlinux_install目录中<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;</strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;# cd phlinux_install<br />
    </li>
    <li><strong>执行安装脚本</strong> <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;# ./install.sh<br />
    </li>
    <li><strong>执行安装脚本后,将自动以互动配置模式的phlinux程序</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;输入web服务的地址,直接回车 <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Runing phlinux for first configuration...<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Peanuthull&nbsp; &nbsp;Linux-core 1.0 by oray.net, copyright 2005<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; No user configuration found,&nbsp; &nbsp;entering interactive mode automatically!<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; Peanuthull Linux-core&nbsp; &nbsp;Interactive startup.<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;Please input service address(press ENTER use&nbsp; &nbsp;phservice.oray.net):&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;[你的域名］<br />
    </li>
    <li>输入免费花生壳服务器地址,直接回车<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Please input server address(press ENTER use&nbsp; &nbsp;PH031.Oray.Net):［默认］<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;此处提示输入您的花生护照登陆名 <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Please input username(press ENTER use ):<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;此处提供输入花生护照登陆密码 <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Please input password:<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;系统提示是否保存配置文件,在这里输入yes回车. <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Save to configuration file&nbsp; &nbsp;(/etc/phlinux.conf)?(yes/no):<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;以上操作完成,系统将自动登录花生壳服务器,用户可以通过web方式查看当前花生壳客户端的运行状态.<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;花生壳客户端使用&nbsp; &nbsp;6160端口提供web检测服务,例如&nbsp; &nbsp;<a href="http://192.168.0.1:6160/" target="_blank">http://192.168.0.1:6160/</a><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;此监测页面将完全的反应当前花生壳的运行状态.<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<img src="http://www.xxlinux.com/linux/d/file/article/accidence/install/2006-12-04/e172054f2ac2baa208e88bb8ec2d4a2f.gif" border="0" height="482" alt="" width="404" /><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;注：以互动配置模式运行phlinux程序并配置完成后,如监视web页面显示花生壳的在线状态为 &quot;离线 /&nbsp; &nbsp;认证失败&quot;,可能是由于您输入的用户名或密码错误,请重新以互动设置模式运行程序配置 <br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;# /usr/local/phlinux/phlinux&nbsp; &nbsp;-i<br />
    </li>
    </font></font></ol>
    <font class="f14" id="zoom"><font color="#000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<strong>二、花生壳For Linux程序参数说明</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </font></font><blockquote><font class="f14" id="zoom"><font color="#000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; phlinux [参数]<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; 参数列表<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;<strong>--interact</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;-i,&nbsp; &nbsp;互动配置模式运行<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;程序以互动模式提示用户输入必要的参数<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<strong>--daemon</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;-d,&nbsp; &nbsp;后台进程模式运行<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;程序在后台进程中运行,可以使用 kill -9 &lt;PID&gt; 关闭<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; <strong>--help</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;-h, 显示帮助.<br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;</font></font></blockquote><font class="f14" id="zoom"><font color="#000000">&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;三、<strong>常见问题</strong><br />
    &nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; </font></font>
    <ul><font class="f14" id="zoom"><font color="#000000">
        <li><strong>如何以每次开机时自动运行花生壳客户端?</strong><br />
        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;使用RedHat Linux,在/etc/rc.d/rc.local&nbsp; &nbsp;文件中加入一行内容 /usr/local/phlinux/phlinux&nbsp; &nbsp;-d<br />
        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;使用Freebsd,创建一个文件/etc/rc.local并加执行权限，在此文件中加入一行内容 /usr/local/phlinux/phlinux&nbsp; &nbsp;-d </li>
        <li><strong>以后台进程模式运行花生壳客户端程序，如何退出？</strong> <br />
        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;首先用ps&nbsp; &nbsp;-A查看所有进程列表，记住phlinux的pid<br />
        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;再使用kill -9 &lt;PID&gt; 杀掉此进程 </li>
        <li><strong>如何手动修改登陆的用户名及密码</strong><br />
        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;您可以直接编辑/etc/phlinux.conf文件，对登陆用户名及密码进行修改。</li>
        </font></font></ul>
        <ol>
            <div style="font-size: 12px;"><font class="f14" id="zoom"><font color="#000000"># /usr/local/phlinux/phlinux -i<br />
            <br />
            <br />
            二、花生壳For Linux程序参数说明<br />
            <br />
            &nbsp; &nbsp; phlinux [参数]<br />
            <br />
            &nbsp; &nbsp; 参数列表<br />
            &nbsp; &nbsp; --interact<br />
            &nbsp; &nbsp; -i, 互动配置模式运行<br />
            &nbsp; &nbsp; 程序以互动模式提示用户输入必要的参数<br />
            <br />
            &nbsp; &nbsp; --daemon<br />
            &nbsp; &nbsp; -d, 后台进程模式运行<br />
            &nbsp; &nbsp; 程序在后台进程中运行,可以使用 kill -9 &lt;PID&gt; 关闭<br />
            <br />
            &nbsp; &nbsp; --help<br />
            &nbsp; &nbsp; -h, 显示帮助.<br />
            <br />
            三、常见问题<br />
            <br />
            &nbsp; &nbsp; * 如何以每次开机时自动运行花生壳客户端?<br />
            &nbsp; &nbsp;&nbsp; &nbsp;使用RedHat Linux,在/etc/rc.d/rc.local 文件中加入一行内容 /usr/local/phlinux/phlinux -d<br />
            &nbsp; &nbsp;&nbsp; &nbsp;使用Freebsd,创建一个文件/etc/rc.local并加执行权限，在此文件中加入一行内容 /usr/local/phlinux/phlinux -d<br />
            &nbsp; &nbsp; * 以后台进程模式运行花生壳客户端程序，如何退出？<br />
            &nbsp; &nbsp;&nbsp; &nbsp;首先用ps -A查看所有进程列表，记住phlinux的pid<br />
            &nbsp; &nbsp;&nbsp; &nbsp;再使用kill -9 &lt;PID&gt; 杀掉此进程<br />
            &nbsp; &nbsp; * 如何手动修改登陆的用户名及密码<br />
            &nbsp; &nbsp;&nbsp; &nbsp;您可以直接编辑/etc/phlinux.conf文件，对登陆用户名及密码进行修改。<br />
            </font></font>
            <div style="font-size: 12px;"><font class="f14" id="zoom"><font color="#000000">官方教程<br />
            <a href="http://www.oray.net/Help/PeanutHull/Help_PeanutHull_3_PhForLinux.htm" target="_blank">http://www.oray.net/Help/PeanutH ... ll_3_PhForLinux.htm</a><br />
            花生壳for 1.0 下载<br />
            <a href="http://www.mydown.com/soft/network/dnsserver/391/400891_ds.shtml" target="_blank">进入官方指定镜像下载地址</a><br />
            官方地址 ：http://www.oray.net/PeanutHull/PeanutHull_Download_ForLinux.htm</font></font></div>
            </div>
        </ol>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/109769#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 07 Aug 2007 17:01:27 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/109769</link>
        <guid>http://gyfmp5.javaeye.com/blog/109769</guid>
      </item>
      <item>
        <title>ubuntu下安装svn</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/109688" style="color:red;">http://gyfmp5.javaeye.com/blog/109688</a>&nbsp;
          发表时间: 2007年08月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Michael 一口气写了 4 篇文章来介绍怎样<a href="http://bemike.org/blog/2007/06/15/setting-up-subversion-server-intro.html">建立 Subversion 服务器</a>，深入浅出，很适合新手参照。我这篇文章盗用了他的思路，简单说明一下怎样在 Ubuntu 上搭建 Subversion 服务器。<a href="http://subversion.tigris.org/">Subversion</a> 是一款非常好的开源版本控制系统，目前最新版本 1.4.4，新增版本库镜像工具 svnsync 和对 working copy 性能的改进，另外新版也开始支持 BerkeleyDB 4.4。在介绍前必须先搞清楚两个概念，一个是 repository (版本库，以下简称 repo), 一个是 working copy (工作拷贝，以下简称 wc)，前者是项目所在的地方，后者是你做修改的地方。如果你对版本控制这个概念不太了解的话，Michael 简单解释了一下。 <blockquote>
<p>比如我有一个项目，有几百个文件，包括项目的相关文档，图表，和一些视频音频文件，它们都被放在电脑的一个文件夹内。随着 项目的发展，文件夹内的会增加新的文档图表等文件，而老的文件也会被修改，同时也许会有一些文件会被删除。在版本控制系统下，每一次对该项目文件夹下的改 动，都会被记录，如果哪个文件被删错了，或是想把文档恢复到以前的版本，可以轻而易举的达到。更了不起的是，如果该项目被一个团队来执行，该团队的每一个 成员都可以对项目内的文件进行管理和同步，这样就可以保持大家永远 on the same page。</p>
</blockquote>
<p><span id="more-1196"></span></p>
<p>举例说明，只需 4 步在 Ubuntu 上搭建 Subversion 服务器。</p>
<p><strong>一、搭建 Subversion 服务器</strong></p>
<p>1、首先需要安装 subversion 这个软件：<br />
<code>sudo apt-get install subversion</code></p>
<p>2、在 /home/nicky 下建立一个 repo，名称为 testproject：<br />
<code>svnadmin create /home/nicky/testproject</code></p>
<p>3、然后把 /fun/theme 目录下的内容导入到这个 repo 中：<br />
<code>svn import -m &quot;&quot; /fun/theme file:///home/nicky/testproject</code></p>
<p>4、最后给这个 repo 建立一个 svn 自带的 svnserve：<br />
<code>svnserve -d -r /home/nicky/testprojec</code></p>
<p>另外：如果需要设定用户的验证和相应的权限，请看<a href="http://bemike.org/blog/2007/06/17/setting-up-subversion-server-part2.html">这里</a>。</p>
<p><strong>二、使用 Subversion</strong></p>
<p>1、你可以使用下面的命令来获得一个 wc，如把它取名为 projecout。</p>
<p><code>svn checkout svn://127.0.0.1/ projecout</code><br />
或者简写为：<br />
<code>svn co svn://127.0.0.1/ projecout</code></p>
<p>2、如果需要将修改从 wc 中发送到 repo。</p>
<p>先到 wc 所在目录，然后使用下面的命令将修改发送到 repo：<br />
<code>svn commit -m &quot;note&quot;</code></p>
<p><strong>三、常用命令：</strong></p>
<p>取出指定版本，如取出版本 2：<br />
<code>svn checkout --revision 2 svn://....</code></p>
<p>显示提交日志信息：<br />
<code>svn log</code></p>
<p>显示库中的最新信息：<br />
<code>svn log --revision HEAD</code></p>
          <br/>
          <span style="color:red;">
            <a href="http://gyfmp5.javaeye.com/blog/109688#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 07 Aug 2007 11:40:29 +0800</pubDate>
        <link>http://gyfmp5.javaeye.com/blog/109688</link>
        <guid>http://gyfmp5.javaeye.com/blog/109688</guid>
      </item>
      <item>
        <title> WebWork IoC 特性使用</title>
        <author>gyfmp5</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://gyfmp5.javaeye.com">gyfmp5</a>&nbsp;
          链接：<a href="http://gyfmp5.javaeye.com/blog/103246" style="color:red;">http://gyfmp5.javaeye.com/blog/103246</a>&nbsp;
          发表时间: 2007年07月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">
<p>这两天感觉WebWork的IoC特性还是很有用的，记录下来，避免忘记。</p>
</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span>WebWork</span><span style="font-size: 9pt; font-family: 宋体;">相对于</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Struts</span><span style="font-size: 9pt; font-family: 宋体;">支持部分</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">IoC</span><span style="font-size: 9pt; font-family: 宋体;">特性，可以减少各组件间的耦合</span><span style="font-size: 9pt; font-family: 宋体;">，配合接口编程可以给系统带来更大的灵活性</span><span style="font-size: 9pt; font-family: 宋体;">。另一方面，也方便了单元测试。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">第一种、使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">WebWork</span><span style="font-size: 9pt; font-family: 宋体;">默认提供的对</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">JSP</span><span style="font-size: 9pt; font-family: 宋体;">隐含对象的注入支持，不用进行太多的设置就可以在</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">中直接使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">request,session,application</span><span style="font-size: 9pt; font-family: 宋体;">等对象。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">对应接口常用的包括：</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">ParameterAware<span style="">&nbsp; </span></span><span style="font-size: 9pt; font-family: 宋体;">页表表单中传递的参数，经</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">WebWork</span><span style="font-size: 9pt; font-family: 宋体;">转换成</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Map</span><span style="font-size: 9pt; font-family: 宋体;">类型。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">SessionAware<span style="">&nbsp; </span>session</span><span style="font-size: 9pt; font-family: 宋体;">对象接口，经</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">WebWork</span><span style="font-size: 9pt; font-family: 宋体;">转换成</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Map</span><span style="font-size: 9pt; font-family: 宋体;">类型。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">ApplicationAware<span style="">&nbsp; </span>application</span><span style="font-size: 9pt; font-family: 宋体;">对象接口，经</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">WebWork</span><span style="font-size: 9pt; font-family: 宋体;">转换成</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Map</span><span style="font-size: 9pt; font-family: 宋体;">类型。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">ServletRequestAware<span style="">&nbsp; </span>HttpServletRequest</span><span style="font-size: 9pt; font-family: 宋体;">对象接口。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">只要在</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">中加入相应变量，并实现接口方法，就可以在</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">中直接使用，不需要手工生成和管理对象。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">不使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">IoC</span><span style="font-size: 9pt; font-family: 宋体;">时调用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">JSP</span><span style="font-size: 9pt; font-family: 宋体;">对象使用方法</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">:</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ActionContext ctx = ActionContext.getContext();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;</span>HttpServletRequest request = ServletActionContext.getRequest();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HttpSession session = request.getSession();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">这种手工获取隐含对象的方法必须依赖</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Web</span><span style="font-size: 9pt; font-family: 宋体;">容器，不便于进行单元测试。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">IoC</span><span style="font-size: 9pt; font-family: 宋体;">的方法如下例：</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">1</span><span style="font-size: 9pt; font-family: 宋体;">、</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">实现需要访问的相应对象接口。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">AlarmRecordAction.java</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public class AlarmRecordAction extends ActionSupport implements SessionAware {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>private Map session = null;//</span><span style="font-size: 9pt; font-family: 宋体;">定义</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">session</span><span style="font-size: 9pt; font-family: 宋体;">变量</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>public void setSession(Map arg0) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>this.session = arg0;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>public String execute() throws Exception {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String str = session.get(&ldquo;testName&rdquo;);//</span><span style="font-size: 9pt; font-family: 宋体;">可以直接使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">session</span><span style="font-size: 9pt; font-family: 宋体;">，</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Webwork</span><span style="font-size: 9pt; font-family: 宋体;">框架会自行注入实例。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println(&ldquo;JSP Session</span><span style="font-size: 9pt; font-family: 宋体;">对象中的变量</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">testName::&rdquo; + str);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">2</span><span style="font-size: 9pt; font-family: 宋体;">、设置</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">xwork.xml</span><span style="font-size: 9pt; font-family: 宋体;">文件。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Xwork.xml</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;action name=&quot;AlarmRecordAction&quot; class=&quot;AlarmRecordAction&quot;&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;result name=&quot;error&quot; type=&quot;redirect&quot;&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param name=&quot;location&quot;&gt;error.jsp&lt;/param&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/result&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;result name=&quot;success&quot; type=&quot;redirect&quot;&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param name=&quot;location&quot;&gt;success.jsp&lt;/param&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/result&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;interceptor-ref name=&quot;defaultStack&quot;/&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;/action&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">在写</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">JUnit</span><span style="font-size: 9pt; font-family: 宋体;">测试用例时</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">,</span><span style="font-size: 9pt; font-family: 宋体;">如下：</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">AlarmRecordActionTest.java</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public class AlarmRecordActionTest extends MockObjectTestCase {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">AlarmRecordAction action;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">protected void setUp() throws Exception {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">super.setUp();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">action = new AlarmRecordAction();</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&hellip;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public void testExecute() throws Exception {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">action.setSession(new HashMap());</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">assertEquals(&quot;success&quot;, action.execute());</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&hellip;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">这样就可以传入需要的</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">session</span><span style="font-size: 9pt; font-family: 宋体;">，完成</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">单元测试。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">
<p>&nbsp;</p>
</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">第二种、使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">components</span><span style="font-size: 9pt; font-family: 宋体;">，实现自定义组件的依赖注入。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">1</span><span style="font-size: 9pt; font-family: 宋体;">、建立需要在其它类中调用的组件类，可以是实现业务的功能类，也可以是</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">POJO</span><span style="font-size: 9pt; font-family: 宋体;">，需要提供无参数的构造函数。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">AlarmRecord.java</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public class AlarmRecord {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">private String AlarmRecordID;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">private String AlarmRecordType;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public AlarmRecord() {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public void setAlarmRecordID(String id) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">this.AlarmReordID = id;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public String getAlarmRecordID() {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">return this.AlarmRecordID;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&hellip;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">2</span><span style="font-size: 9pt; font-family: 宋体;">、建立组件类的</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Aware</span><span style="font-size: 9pt; font-family: 宋体;">接口。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">AlarmRecordAware.java</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public interface AlarmRecordAware {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>public void setAlarmRecord(AlarmRecord alarm) ;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">3</span><span style="font-size: 9pt; font-family: 宋体;">、</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">类实现组件类</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Aware</span><span style="font-size: 9pt; font-family: 宋体;">接口。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">AlarmRecordAction.java</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public class AlarmRecordAction extends ActionSupport implements AlarmRecordAware {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>....</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">private AlarmRecord alarm;//</span><span style="font-size: 9pt; font-family: 宋体;">定义组件对象</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">public void setAlarmRecord(AlarmRecord alarm) {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">this.alarm = alarm;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>public String execute() throws Exception {</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>String str = alarm.getAlarmRecordID();//</span><span style="font-size: 9pt; font-family: 宋体;">可以直接使用</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">alarm</span><span style="font-size: 9pt; font-family: 宋体;">，不需要自己</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">new</span><span style="font-size: 9pt; font-family: 宋体;">，</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Webwork</span><span style="font-size: 9pt; font-family: 宋体;">框架会自行注入实例。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>System.out.println(&ldquo;alarm id ::&rdquo; + str);</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">...</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">}</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">4</span><span style="font-size: 9pt; font-family: 宋体;">、编辑</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">components.xml</span><span style="font-size: 9pt; font-family: 宋体;">文件，注册组件。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;components&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;component&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;!&mdash;</span><span style="font-size: 9pt; font-family: 宋体;">组件存在范围，可以是</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">request,session,application--&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;scope&gt;session&lt;/scope&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;!&mdash;</span><span style="font-size: 9pt; font-family: 宋体;">组件类</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">--&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;class&gt;AlarmRecord&lt;/class&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;!&mdash;</span><span style="font-size: 9pt; font-family: 宋体;">组件类的</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Aware</span><span style="font-size: 9pt; font-family: 宋体;">接口</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">--&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 36pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;enabler&gt;AlarmRecordAware&lt;/enabler&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/component&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;/components&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">5</span><span style="font-size: 9pt; font-family: 宋体;">、编辑</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">web.xml</span><span style="font-size: 9pt; font-family: 宋体;">文件，加入相关特性支持。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;filter&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;container&lt;/filter-name&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;filter-class&gt;com.opensymphony.webwork.lifecycle.RequestLifecycleFilter&lt;/filter-class&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/filter&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;filter-mapping&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;filter-name&gt;container&lt;/filter-name&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;url-pattern&gt;*.action&lt;/url-pattern&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/filter-mapping&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;listener&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;listener-class&gt;com.opensymphony.webwork.lifecycle.SessionLifecycleListener&lt;/listener-class&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/listener&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;listener&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 4.5pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp; </span>&lt;listener-class&gt;com.opensymphony.webwork.lifecycle.ApplicationLifecycleListener&lt;/listener-class&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp; </span>&lt;/listener&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: white none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 18pt;"><span style="font-size: 9pt; font-family: 宋体;">步骤</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">6</span><span style="font-size: 9pt; font-family: 宋体;">、编辑</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">xwork.xml</span><span style="font-size: 9pt; font-family: 宋体;">文件，让</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">Action</span><span style="font-size: 9pt; font-family: 宋体;">支持组件注入。</span><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;action name=&quot;AlarmRecordAction&quot; class=&quot;AlarmRecordAction&quot;&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;result name=&quot;error&quot; type=&quot;redirect&quot;&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param name=&quot;location&quot;&gt;error.jsp&lt;/param&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/result&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;result name=&quot;success&quot; type=&quot;redirect&quot;&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;param name=&quot;location&quot;&gt;success.jsp&lt;/param&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&lt;/result&gt;</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; text-indent: 40.5pt;"><span lang="EN-US" style="font-size: 9pt; font-family: Tahoma;">&lt;interceptor-ref name=&quot;component&quot;/&gt;</span></p>
<p class="Mso