??xml version="1.0" encoding="utf-8" standalone="yes"?>igao视频网在线视频,久久精品72免费观看,欧美在线观看一区二区三区http://www.aygfsteel.com/liuwei1981/ƣ情?/description>zh-cnWed, 18 Jun 2025 11:29:22 GMTWed, 18 Jun 2025 11:29:22 GMT60d的玩W?http://www.aygfsteel.com/liuwei1981/archive/2007/09/06/143080.html皇马啸西?/dc:creator>皇马啸西?/author>Thu, 06 Sep 2007 01:58:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/09/06/143080.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143080.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/09/06/143080.html#Feedback1http://www.aygfsteel.com/liuwei1981/comments/commentRss/143080.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143080.html下面的类计算q缓存了一个dQƈ且在另一个类中打印这个d       

class Cache{

             static {

                   initializeIfNecessary();

              }

          private static int sum;

          public static int getSum(){

                initializeIfNecessary();

                return sum;

           }

         private static boolean initialized = false;

        private static synchronized void initializeIfNecessary(){

              if(!initialized){

                     for(int i=0;  i <  100;  i++  )

                         sum+=i;

                    initialized = true;

                  }

          }

        }

 

pubic class Client  {

    pubilc static void main(String[] args){

            System.out.println(Cache.getSum());

   }

 }

E序是一个典型的半开循环Q应该打印出1?9的整数dQ即4950Q但E序q行打印的ؓ9900Q是预期值的两倍?/p>

E序在确保sum在用之前就已经初始化这个问题上Q遇Cȝ。程序结合了惰性初始化和积极初始化Q还使用上了同步Q以保~存在多U程环境下也能工作,但程序无法完成预期的工作?/p>

E序输出打印是控制标志initialized 的问题。qq上一个朋友问的一本书里的问题Q我也找到那本书了,是惰性初始化Qstatic初始化)的问题,控制标志在static完成初始化后又重新被构造器赋gؓfalseQ初始化d值的Ҏ被执行了两次?/p>

]]>
ȝ一下维护了一q的一个Y件系l的软g体系Q一Q?http://www.aygfsteel.com/liuwei1981/archive/2007/09/06/143078.html皇马啸西?/dc:creator>皇马啸西?/author>Thu, 06 Sep 2007 01:57:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/09/06/143078.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143078.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/09/06/143078.html#Feedback0http://www.aygfsteel.com/liuwei1981/comments/commentRss/143078.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143078.html       q个理pȝ有自q一套网l体p,因ؓ我ƈ没有参与其中的网l体pȝ搭徏与后期的l护工作Q只是大概的了解一些:

      1.|络体系的结构ؓ树状拓扑l构Q主要依据该公司的组l机构徏立,该公司组l机构分为d怸U,分公怸U,县公司一U以及直接负责煤炭运销具体的工作的公司一U。网l体pM此而徏Q也分ؓ四|络?/font>

     2.使用一套c/s体系的YӞ完成基础数据的收集,q定时上报到县公司或者直属的分公司,然后数据汇d析后通过q套软g提交Q统一储存到d司数据库服务器?/font>

    3.Ҏ该行业的业务Q每q全省的煤炭q量Q特别是通过铁\渠道的运量,在年初通过{订的全q合同决定,该年的业务也以此q量为准?/font>

     q套软g成型?002q_在当时的条g限制下这是一套最为有效的软g工作体系了,但也有其~陷Q?/font>

      1. 管基础数据攉大都已经为通过电子U量pȝ实现自动数据提取Q但在上报过E中Q仍有可能对数据q行改QY件ؓ此专门增设了一个子功能pȝQ但使用情况不容乐观Q收效甚微?/font>

      2. 数据l一存储在d司数据库服务器中Q方便管理,在最初的设计中,数据库没有设计负载分以及镜像备份的{处理,随着pȝ的用,数据量的增加Q数据库负蝲增大QY件反应速度来慢?/font>

      q个~陷在今q年初运量提报和每个月初的各个分公司的运量提报中ؓ明显Q数据库出现多次当机情况Q处理过多次Q但收效不明显,在用高峰期需要注意数据库的用情c?/font>

     q个pȝ的网l部分就写这么多吧,毕竟不太熟悉Q还是掺杂了软g的非|络部分Q?-)。下一开始写q个软g的web架构部分Q主要是mvc框架和dao框架部分?/font>



]]>
[导入]10条你不需要Y件架构师的理由(Top 10 reasons why you don’t need SoftwaQ(转)http://www.aygfsteel.com/liuwei1981/archive/2007/09/04/143068.html皇马啸西?/dc:creator>皇马啸西?/author>Tue, 04 Sep 2007 07:36:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/09/04/143068.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143068.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/09/04/143068.html#Feedback1http://www.aygfsteel.com/liuwei1981/comments/commentRss/143068.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143068.html |站Q?a >JavaEye 作者:liuwei1981 发表旉: 2007-09-04 15:36 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/120263 " style="color:red;"> http://liuwei1981.javaeye.com/blog/120263

 


The Architect (dedicated non-programming technical decision maker and problem solver for business):


架构师(专用非编E技术决{者,业务问题解决者)



  1. Has outdated programming knowledge and experience, loss of touch with modern development approaches and practices.                                                                                                                                                                                             q时的编E知识和l验Q对C的Y件开发方式和实践~Zx?nbsp;  

  2. Don’t program and don’t know much about evolving system internals, but makes key technical decisions. Often has completely irrelevant and unreal picture what is happening with the system.                                                                       不进行Y件开发,对系l内部知之甚,但却要做出关键的技术决{?font color="#ff0000">对系l经常有完全无关和虚qȝ映像Q不太会译q句Q?/font>?

  3. Tends to complex, premature and generic solutions when the system is still in infancy and nothing is clear. Applies latest modern buzzword technologies as SOA, MDA, SaaS, Software Factories, etc. which look so beautiful in technical magazines, conferences and CV, but cause unnecessary headache for developers.                                      当系l仍处于起始阶段Q都q不明晰的时候,怼做出复杂的,不成熟仅仅通用的决{。用在技术杂志、技术大会和CV上看h如此妙的现代最新的口号Q诸如SOAQMDAQSaaSQSoftware Factories{等Q只是给开发h员带来不必要的头痛?

  4. Plays role of the middleman introducing complexity in coordination and project responsibilities. Represents software team in interactions with business customers reducing communication value for the rest of the team and impacting idea flow.                                                                                                                                                                          以中间h的角Ԍ引入复杂的协调和目的责仅R代表开发组与客戯行交,屏蔽了其他成员的发言权和开发思想上的交流。(译时候意思懂了,但就是表达不出来Q?/font>

  5. Reduces quality of decisions, which become limited to one perspective; decision making starts lacking diversity, independence and decentralization, which are essential attributes of collective intelligence.                                          军_仅仅局限在某个角度 Q降低了决策的质量;最初的军_~Z多样性,独立性和向下兼容Q这些都是集体决{的本质?nbsp;                     

  6. Creates tension with developers who experience mismatch between grand design and reality. Often continues pushing design decisions until the system becomes overly complex, difficult to change and becomes completely unusable.                                                                                                                                                                                             在缺乏大型设计和实现l验的开发者之间制造紧张氛围。不断的做出军_Q系l变得过度复杂,难于改变Q和应用?

  7. Secures job and justifies high salary - becomes authoritative center for solving business problems without much input from the team.                                                                                                                                                                            有稳定的工作和高薪,成ؓ解决业务问题的权威,但却从未融入到团队当中?

  8. Causes loss of sense of ownership, motivation and accountability in developers by detaching them from the key architecture decisions.                                                                                                                                                                     把开发h员排除在关键架构决策之外Q让他们~Zd性和责Q感?

  9. Concentrates project knowledge and the big picture in one head, limiting (and sometimes preventing) complete understanding for others.                                                                                                                                                                 只精通工E知识和大局一面,对其他方面几乎一无所知?

  10. Contributes to creation of specialized IT verticals that hurt relations with the business.                                                     擅长在纵向专门的IT斚w建立联系Q但同时却切断了业务上的兌?




?10条你不需要Y件架构师的理由(Top 10 reasons why you don’t need SoftwaQ(转) ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>

推荐相关文章Q?br/>   学习pQ可能每个h都有自己喜欢的方法!
  老爸的情书中英对照,爆笑




JavaEye推荐
上v乐福狗信息技术有限公?诚聘技术经理和开发工E师
免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!
京沪I蓉四地免费注册QSOA技术高手汇聚交?
上vQ优U公司hQ高薪诚?资深Java工程?/a>
q州Q优易公司:诚聘Java工程师,开发经?
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://liuwei1981.javaeye.com/blog/120263

]]>
[导入]ȝ一下维护了一q的一个Y件系l的软g体系(? http://www.aygfsteel.com/liuwei1981/archive/2007/09/03/143069.html皇马啸西?/dc:creator>皇马啸西?/author>Mon, 03 Sep 2007 10:30:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/09/03/143069.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143069.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/09/03/143069.html#Feedback0http://www.aygfsteel.com/liuwei1981/comments/commentRss/143069.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143069.html |站Q?a >JavaEye 作者:liuwei1981 发表旉: 2007-09-03 18:30 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/119882 " style="color:red;"> http://liuwei1981.javaeye.com/blog/119882

            完成该系l后Q所完成的后期维护工作中Q最大的以部分就是数据统计查询分析功能的完善了?/font>


       pȝ软g框架提供了一套报表生成系l来完成数据l计查询的功能。这条报表生成系l可以生成excel和pdf两种格式的统计报表?/font>


       q个pȝ使用报表的流E大致ؓQ?/font>


       1.每个功能都提供一pd的报表,在Y件中q些报表以二l字W串数组的数据格式保存,每个字符串数l对象包括该报表的唯一键|报表名称Q报表条件提供页面以及生成该报表的具体的JavacR?/font>


       2.选择需要生成的报表Q系l将该报表的唯一键g入统一的报表控制类Q首先是跌{到生成该报表的条仉面,按照功能划分报表的主要原因就是每个功能的报表条g一_可以使用l一的控制类?/font>


       3.提交条g后,l一的报表控制类会调用该报表的生成类,q些c需要承统一的接?提供了一个统一的方法,q回数据cd为Vector集合的对象,q个Vector对象容器数据对象要求为:


     两个Vector对象Q一个ؓ表头VectorQ一个ؓ表体VectorQ这两个Vector对象中存储的数据为字W串数组对象?/font>


   在具体应用中Q只要将数据填充到字W串数组中,再依ơ放入Vector中,报表框架会生成报表?/font>


   q个框架的一个确定就是只能接受字W串数组对象Q如果生成excel格式的报表,无法Ҏ生成的报表进行计,必须手动的将数据调整为数字型?/font>


 




?ȝ一下维护了一q的一个Y件系l的软g体系(? ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>





JavaEye推荐
上v乐福狗信息技术有限公?诚聘技术经理和开发工E师
免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!
京沪I蓉四地免费注册QSOA技术高手汇聚交?
上vQ优U公司hQ高薪诚?资深Java工程?/a>
q州Q优易公司:诚聘Java工程师,开发经?
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://liuwei1981.javaeye.com/blog/119882

]]>
[导入]E序员是如何喝酒的?Q{Q?/title><link>http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143070.html</link><dc:creator>皇马啸西?/dc:creator><author>皇马啸西?/author><pubDate>Mon, 27 Aug 2007 02:06:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143070.html</guid><wfw:comment>http://www.aygfsteel.com/liuwei1981/comments/143070.html</wfw:comment><comments>http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143070.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuwei1981/comments/commentRss/143070.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuwei1981/services/trackbacks/143070.html</trackback:ping><description><![CDATA[ <br/> |站Q?a >JavaEye</a> 作者:<a >liuwei1981</a> 发表旉: 2007-08-27 10:06 此文章来自于 <a >http://www.JavaEye.com</a> <br/>声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!<br/> 原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/117096 " style="color:red;"> http://liuwei1981.javaeye.com/blog/117096 </a><br/><br/> <table width="100%"><tr><td><p>大家喝的是啤酒,q时你入座了Q给自己倒了杯可乐,q叫低配|;l自己倒了杯啤酒,q叫标准配置Q给自己倒了杯茶_q茶的颜色还跟啤酒一Pq叫木马Q给自己倒了杯可乐,q滴了几滴醋Q不仅颜色跟啤酒一P不冒热气q有泡Q这叫超U木马;你同事给你到了杯白酒Q这叫推荐配|?<br /><p>       人到齐了Q酒席开始了。你C个h喝了一口Q这叫单元测试;你跟旁边的h说哥们咱们随意,q叫交叉试Q但是他说不行,q杯要干了,q叫压力试Q于是你说那大家一h吧,q叫内部试Q这时候boss向全ZD杯,q叫公开试?/p> <br /><p>      菜过三EQ你׃跟他们客气了Q你向对面的人敬酒,q叫p2pQ他回敬你,你又再敬他,q叫TCPQ你向一桌h挨个敬酒Q这叫o牌环Q你说只要是兄弟干了这杯,q叫q播?/p> <br /><p>   有一个hq来向这卓敬酒,你说不行Q你先过了我q关Q这叫防火墙。你的小弟们q来敬你酒,q叫一对多?/p> <br /><p>   酒过三E后,你也该活动活动了Q你一桌一桌的赎ͼq叫轮询Q你H然看见某一桌的漂亮mmQ走了过去,q叫优先U;你去了坐下来׃打算CQ这叫死循环Q你的老大举杯邀你过去,你只好走q去Q这叫激zM件?/p> <br /><p>  你向一桌敬酒,他们_“不行Q不行,我们都喝白的?rdquo;于是你也喝白的。这叫本地化Q你向boss敬酒Q可是boss被围hQ你只能站在外围Q这叫排队;你终于到了内_心翼的向前一步,q叫讉K临界区;你拍照boss的肩膀说哥们咱们再喝已被,q叫界?/p></p></td></tr></table> <br/> <br/><br/> <span style="color:red;"><a href=" http://liuwei1981.javaeye.com/blog/117096 " style="color:red;">?E序员是如何喝酒的?Q{Q??的评Z很精彩,Ƣ迎您也d评论。查看详l?>></a></span> <br/><br/> <br/><br/><br/><br/> <span style="color:#E28822;">JavaEye推荐</span><br/> <a target="_blank" >上v乐福狗信息技术有限公?诚聘技术经理和开发工E师</a><br/> <a target="_blank" >免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!</a><br/> <a target="_blank" >京沪I蓉四地免费注册QSOA技术高手汇聚交?</a><br/> <a >上vQ优U公司hQ高薪诚?资深Java工程?/a><br/> <a > q州Q优易公司:诚聘Java工程师,开发经? </a><br/> <a >上vQ尤恩斯国际集团Q诚聘开发工E师</a><br/> <a >北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA</a><br/> <br/><br/> <br>文章来源:<a href=' http://liuwei1981.javaeye.com/blog/117096 '> http://liuwei1981.javaeye.com/blog/117096 </a><img src ="http://www.aygfsteel.com/liuwei1981/aggbug/143070.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuwei1981/" target="_blank">皇马啸西?/a> 2007-08-27 10:06 <a href="http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143070.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]E序员的未来Q{Q?/title><link>http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143071.html</link><dc:creator>皇马啸西?/dc:creator><author>皇马啸西?/author><pubDate>Mon, 27 Aug 2007 01:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143071.html</guid><wfw:comment>http://www.aygfsteel.com/liuwei1981/comments/143071.html</wfw:comment><comments>http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143071.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuwei1981/comments/commentRss/143071.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuwei1981/services/trackbacks/143071.html</trackback:ping><description><![CDATA[ <br/> |站Q?a >JavaEye</a> 作者:<a >liuwei1981</a> 发表旉: 2007-08-27 09:18 此文章来自于 <a >http://www.JavaEye.com</a> <br/>声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!<br/> 原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/117084 " style="color:red;"> http://liuwei1981.javaeye.com/blog/117084 </a><br/><br/> <table width="100%"><tr><td><p><p>                  <font size="4">  一个程序员对自q未来很迷茫,于是去问上帝Q?ldquo;万能的上帝啊Q请你告诉我Q我的未来会怎样Q?rdquo;</font></p> <br /><p><font size="4">            上帝_“我的孩子Q你去问LippmanQ他现在领导的程序员的队伍可能是地球上最大的?rdquo;</font></p> <br /><p><font size="4">           于是他去问LippmanQLippman_“E序员的未来是NE序员?rdquo;</font></p> <br /><p><font size="4">          q个E序员对q个未来不满意,于是他又去问上帝Q?ldquo;万能的上帝呀Q请你告诉我Q我的未来会怎样Q?rdquo;</font></p> <br /><p><font size="4">         上帝_我的孩子Q你去问GatesQ他现在所拥有的胦产可能是地球上最多的?rdquo;</font></p> <br /><p><font size="4">         于是他去问GatesQGates_“E序员的未来是榨取E序员?rdquo;</font></p> <br /><p><font size="4">        q个E序员对q个未来不满意,于是他又去问上帝Q?ldquo;万能的上帝啊Q请你告诉我Q我的未来会怎样Q?rdquo;</font></p> <br /><p><font size="4">        上帝_“我的孩子Q你去问侯捷Q他写的计算Z的读者可能是地球上最多的?rdquo;</font></p> <br /><p><font size="4">        于是他去问侯捗?/font></p> <br /><p><font size="4">        侯捷_“E序员的未来是诱惑E序员?rdquo;</font></p> <br /><p><font size="4">       q个E序员对q个未来不满意,于是又去问上帝:“万能的上帝啊Q请你告诉我Q我的未来会怎样Q?rdquo;</font></p> <br /><p><font size="4">      上帝摇摇_“唉,我的孩子Q你q是别当E序员了?rdquo;</font></p></p></td></tr></table> <br/> <br/><br/> <span style="color:red;"><a href=" http://liuwei1981.javaeye.com/blog/117084 " style="color:red;">?E序员的未来Q{Q??的评Z很精彩,Ƣ迎您也d评论。查看详l?>></a></span> <br/><br/> <br/><br/><br/><br/> <span style="color:#E28822;">JavaEye推荐</span><br/> <a target="_blank" >上v乐福狗信息技术有限公?诚聘技术经理和开发工E师</a><br/> <a target="_blank" >免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!</a><br/> <a target="_blank" >京沪I蓉四地免费注册QSOA技术高手汇聚交?</a><br/> <a >上vQ优U公司hQ高薪诚?资深Java工程?/a><br/> <a > q州Q优易公司:诚聘Java工程师,开发经? </a><br/> <a >上vQ尤恩斯国际集团Q诚聘开发工E师</a><br/> <a >北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA</a><br/> <br/><br/> <br>文章来源:<a href=' http://liuwei1981.javaeye.com/blog/117084 '> http://liuwei1981.javaeye.com/blog/117084 </a><img src ="http://www.aygfsteel.com/liuwei1981/aggbug/143071.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuwei1981/" target="_blank">皇马啸西?/a> 2007-08-27 09:18 <a href="http://www.aygfsteel.com/liuwei1981/archive/2007/08/27/143071.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]ȝ一下维护了一q的一个Y件系l的软g体系(?http://www.aygfsteel.com/liuwei1981/archive/2007/08/23/143072.html皇马啸西?/dc:creator>皇马啸西?/author>Thu, 23 Aug 2007 01:45:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/08/23/143072.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143072.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/08/23/143072.html#Feedback0http://www.aygfsteel.com/liuwei1981/comments/commentRss/143072.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143072.html |站Q?a >JavaEye 作者:liuwei1981 发表旉: 2007-08-23 09:45 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/115574 " style="color:red;"> http://liuwei1981.javaeye.com/blog/115574

           该系lY件框架对sql操作q行了封装,q提供了一批API帮助客户E序员更为简便的q行数据库操作。这些api包括:




  1.        l一的DbConnection理Q客L序员只需要执行的sql语句作ؓ参数传入Qapi会将l果列表以二l字W串数组的Ş式返回。api提供Ҏ的方法,例如页处理{都提供了相应的处理?/font>



  2.        按照功能划分dao操作cR类的编写有自n设计的一套规范。首先该功能的dao操作c设计ؓ接口Q然后按照数据库的不同特D处理实现该接口。例如:接口为TestDAO.javaQ用oracle数据库实现该接口QؓOraTestDAO.javaQ用sqlserver数据库实现该接口QؓSqlTestDAO.java。dao操作cȝ接操作框架对数据库进行操作的DbConnection对象q行业务处理?/font>



  3.       所有的接口实现的dao操作cdweb服务器的一个特D目录中存在一个xml格式的配|文件?
    xml 代码




    1. <DAOLIST>  

    2. <DAO>  

    3. <NAME>testdaoNAME>  

    4. <CLASSNAME>com.test.dao.OraTestDAOCLASSNAME>  

    5. <DESCRIPTION>DESCRIPTION>  

    6. DAO>  

    7.  DAOLIST>  






  4.     在web服务器的同时Q会同时启动一个线E,d该xml文gQƈd数据库配|参数文件。与hibernateq个框架相比Q这个dao理只能在web应用中用?/font>



  5.     前几提到的web层用的Ctrl控制c,在框架设计中不能直接操作dao操作c,而是存在一个中间层Q包括BOcdVOListIterc,~写q两个类都需实现框架提供的接口。bocM要包括数据库的除获取数据列表以外的所有操作,如录入,修改{,VOListItercM门ؓ实现数据列表页设计Q通过该类获取页数据列表ҎQ需要首先声明一个长度ؓ5的Integercd的数l,DbConnectioncȝ该方法需要这个参敎ͼ该列表的当前页数和最大页数返回?/font>



       q个数据库框架还提供了一些方便编写代码的操作Q例如拼装sql语句Q提供了一个这LҎQMakeUpcR代码如下:


java 代码


 





  1. String sql = " INSERT INTO  test_t  (testid,testname) "  

  2.         + " VALUES (@,'#')  ";   

  3.   

  4. String[] key = {   

  5.         test.getId(),test.getName()     

  6.   };   

  7. sql = MakeUp.makeUp(key, sql);  



 


q个makeUpҎ会将sql语句D好,@表示数字占位Q?表示字符占位?/font>


q个pȝ的数据库操作理大致是q样了,比较单,ȝ来说是对dbconncetion 操作q行了重新封装,方便客户E序员的使用?/font>


 




?ȝ一下维护了一q的一个Y件系l的软g体系(? ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>





JavaEye推荐
上v乐福狗信息技术有限公?诚聘技术经理和开发工E师
免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!
京沪I蓉四地免费注册QSOA技术高手汇聚交?
上vQ优U公司hQ高薪诚?资深Java工程?/a>
q州Q优易公司:诚聘Java工程师,开发经?
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://liuwei1981.javaeye.com/blog/115574

]]>
[导入]ȝ一下维护了一q的一个Y件系l的软g体系Q四Q?http://www.aygfsteel.com/liuwei1981/archive/2007/08/22/143073.html皇马啸西?/dc:creator>皇马啸西?/author>Wed, 22 Aug 2007 01:38:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/08/22/143073.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143073.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/08/22/143073.html#Feedback0http://www.aygfsteel.com/liuwei1981/comments/commentRss/143073.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143073.html |站Q?a >JavaEye 作者:liuwei1981 发表旉: 2007-08-22 09:38 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/115158 " style="color:red;"> http://liuwei1981.javaeye.com/blog/115158

           l护的这个Y件系l用了一个比较复杂的pȝ权限理pȝQ原本的设计是将用户对Y件的使用权限控制C最末的菜单,q根据公司组l机构的设计Q上U组l单位可以将自n所获得的权限l授权到自己的下U公司?/font>

       Z授权权限的操作简单话Q不然每ơ都从几百个菜单选项中选择l该用户授权的菜单权限,恐怕这个权限系l管理员p崩溃了?-)Q权限管理系l将权限分ؓ了权限组Q权限域Q基本权限管理?/font>


      权限l和权限域的区别我至今没有太分的清楚Q郁闷中····在不多的使用当中Q主要是讄试用户的权限)感觉上这两种权限范围讄是评U的Q没有谁是谁的上U的关系Q不清楚当初Z么设|成q样Q我用的主要是权限域的设|?/font>


     l用h权下权限Q前提是已经有相应的权限域设|?/font>


   1.权限域设|:权限域需要相应的讄~码Qƈ选择该权限域包括的菜单权限?/font>


   2.在设|好权限域后Q就可以直接该权限域授权到pȝ用户?/font>


   权限理使用了数据库信息理Q现在用v来比较笨拙,不过׃最初的讄q于复杂Q如果用现在比较统一的xml文g配置Q可能用v来也不是很方ѝ?/font>


   每个菜单权限w有一个自w的权限~码Q该pȝ的菜单全部分ZU,~码规范为:一U菜单编码_二菜单~码_三菜单~码。这P在授权权限的时候可以直接将一U菜单授权,用户相应的也获得该一U菜单下所有功能的使用权?/font>


    用户d成功后系l会该用户的合法权限值压C个集合中Q放到sessin对象里?/font>


   权限的控制在pȝ的页面和后台控制c都有实现。页面用了上一提到的面逻辑标签实现控制Q在昄该页面之前,控制cM用了个系l框架提供的公共权限控制cd该用L权限值压到页面g?/font>


  在调用该功能之前Q控制类C判断该用L权限Q有一个通用c,该功能的权限和当前的用户对象作为参C入,该类会判断在用户的权限集合中是否包括该权限,以决定是否l执行该功能程?/font>


  q个pȝ的权限管理部分就是这么多了,下一讲讲这个系l的数据库管理部分。维护的q个软gpȝ使用了一个比较复杂的pȝ权限理pȝQ原本的设计是将用户对Y件的使用权限控制C最末的菜单,q根据公司组l机构的设计Q上U组l单位可以将自n所获得的权限l授权到自己的下U公司?


       Z授权权限的操作简单话Q不然每ơ都从几百个菜单选项中选择l该用户授权的菜单权限,恐怕这个权限系l管理员p崩溃了?-)Q权限管理系l将权限分ؓ了权限组Q权限域Q基本权限管理?/font>


      权限l和权限域的区别我至今没有太分的清楚Q郁闷中····在不多的使用当中Q主要是讄试用户的权限)感觉上这两种权限范围讄是评U的Q没有谁是谁的上U的关系Q不清楚当初Z么设|成q样Q我用的主要是权限域的设|?/font>


     l用h权下权限Q前提是已经有相应的权限域设|?/font>


   1.权限域设|:权限域需要相应的讄~码Qƈ选择该权限域包括的菜单权限?/font>


   2.在设|好权限域后Q就可以直接该权限域授权到pȝ用户?/font>


   权限理使用了数据库信息理Q现在用v来比较笨拙,不过׃最初的讄q于复杂Q如果用现在比较统一的xml文g配置Q可能用v来也不是很方ѝ?/font>


   每个菜单权限w有一个自w的权限~码Q该pȝ的菜单全部分ZU,~码规范为:一U菜单编码_二菜单~码_三菜单~码。这P在授权权限的时候可以直接将一U菜单授权,用户相应的也获得该一U菜单下所有功能的使用权?/font>


    用户d成功后系l会该用户的合法权限值压C个集合中Q放到sessin对象里?/font>


   权限的控制在pȝ的页面和后台控制c都有实现。页面用了上一提到的面逻辑标签实现控制Q在昄该页面之前,控制cM用了个系l框架提供的公共权限控制cd该用L权限值压到页面g?/font>


  在调用该功能之前Q控制类C判断该用L权限Q有一个通用c,该功能的权限和当前的用户对象作为参C入,该类会判断在用户的权限集合中是否包括该权限,以决定是否l执行该功能程?/font>


  q个pȝ的权限管理部分就是这么多了,下一讲讲这个系l的数据库管理部分?/font>




?ȝ一下维护了一q的一个Y件系l的软g体系Q四Q? ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>





JavaEye推荐
上v乐福狗信息技术有限公?诚聘技术经理和开发工E师
免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!
京沪I蓉四地免费注册QSOA技术高手汇聚交?
上vQ优U公司hQ高薪诚?资深Java工程?/a>
q州Q优易公司:诚聘Java工程师,开发经?
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://liuwei1981.javaeye.com/blog/115158

]]>
[导入]ȝ一下维护了一q的一个Y件系l的软g体系Q三Q?http://www.aygfsteel.com/liuwei1981/archive/2007/07/31/143074.html皇马啸西?/dc:creator>皇马啸西?/author>Tue, 31 Jul 2007 04:05:00 GMThttp://www.aygfsteel.com/liuwei1981/archive/2007/07/31/143074.htmlhttp://www.aygfsteel.com/liuwei1981/comments/143074.htmlhttp://www.aygfsteel.com/liuwei1981/archive/2007/07/31/143074.html#Feedback0http://www.aygfsteel.com/liuwei1981/comments/commentRss/143074.htmlhttp://www.aygfsteel.com/liuwei1981/services/trackbacks/143074.html |站Q?a >JavaEye 作者:liuwei1981 发表旉: 2007-07-31 12:05 此文章来自于 http://www.JavaEye.com
声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!
原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/107348 " style="color:red;"> http://liuwei1981.javaeye.com/blog/107348

       q个软g架构使用的mvc架构包括使用自n一套页面逻辑Q标{型比较简单,包括逻辑判断标签、页面赋值标{֒循环list对象取值标{?

     在执行完面hq回的页面没有规定,可以是jspQ也可以是html面Q用上一提到的Common对象跌{面Q方法ؓQcommon.showPage("page")ҎQ因为没有该框架的这部分源代码,只能大概推测Q这个方法是d面Qƈ执行页面含有的逻辑标签和赋|一个方法可以多ơ用该ҎQ最后的执行l果是多个页面顺ơ显C,比如Q?/font>      



page1 =  "page1";

page2 
=  "page2"
;



common.showPage(page1);

common.showPage(page2);

 


page1的页面代码: 



<html>

<body>

hello,this is page1!

</body>

</html>


 


page2的页面代码:


 



<html>

<body>

hello,
this is page2!

</body>

</html>


 


最后显C的面代码Q?/font>


 



<html>

<body>

hello,
this is page1!

</body>

</html>

<html>

<body>

hello,
this is page2!

</body>

</html>

 


       面的逻辑标签很简单:<if><else><endif>Q完成简单的面逻辑判断


在页面最l生成之前执行的代码Qcommon的showpageҎ会将标签作ؓjava代码执行?/font>


        面赋值标{ֆ法很单:($value$)Qvalue获取的参数|使用$W号区隔Q可以和逻辑标签混合使用Q?/font>


   <if ($value$)==1>1<else>2<endif>


    写法有些cM现在行的mvc开源框架?/font>


        另一个常用的循环标签Q?lt;loop ($list$) ></loop> list为@环的集合对象。也可以同时循环多个list集合对象Q但前提是多个对象的集合大小相同Q不然就会出现数l溢出的错误?/font>


        该mvc框架配合了一套js脚本库一同用,因此像一些常用的脚本Ҏ和mvc框架的一些特点结合v来用,js代码~写量减?/font>


        表单提交参数验证有一套统一的方法,现在应该应用的很普遍了。在表单对象标签里增加一些属性,最后提交表单是调用l一表单验证ҎQ该Ҏ会读取该对象的属性,判断该对象值是否符合要求,包括判断复选框对象是否有选择对象Q例如在删除列表中的多个对象使用?/font>


       在常用的查询列表和该列表的某个具体对象时Q脚本库提供了统一的方法:


1、常用的页ҎQ首,NQ上一,下一,跌{到某一늚ҎQ只需要用脚本库中统一的方法,传入表单名称参数Qclass名称Qmethod名称Q蟩转到某一需要再传入面参数卛_Q不需在编写js代码?/font>


2. 查看某一条具体记录,ҎcM于翻|法,同样传入表单名称参数Qclass名称Qmethod名称表单名称参数Qclass名称Qmethod名称Q和该条记录的主键倹{?/font>


    今天写到q里Q下一写写这个系l的权限pȝ?/font>




?ȝ一下维护了一q的一个Y件系l的软g体系Q三Q? ?的评Z很精彩,Ƣ迎您也d评论。查看详l?>>





JavaEye推荐
上v乐福狗信息技术有限公?诚聘技术经理和开发工E师
免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!
京沪I蓉四地免费注册QSOA技术高手汇聚交?
上vQ优U公司hQ高薪诚?资深Java工程?/a>
q州Q优易公司:诚聘Java工程师,开发经?
上vQ尤恩斯国际集团Q诚聘开发工E师
北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA



文章来源: http://liuwei1981.javaeye.com/blog/107348

]]>
[导入]ȝ一下维护了一q的一个Y件系l的软g体系Q二Q?/title><link>http://www.aygfsteel.com/liuwei1981/archive/2007/07/30/143075.html</link><dc:creator>皇马啸西?/dc:creator><author>皇马啸西?/author><pubDate>Mon, 30 Jul 2007 09:09:00 GMT</pubDate><guid>http://www.aygfsteel.com/liuwei1981/archive/2007/07/30/143075.html</guid><wfw:comment>http://www.aygfsteel.com/liuwei1981/comments/143075.html</wfw:comment><comments>http://www.aygfsteel.com/liuwei1981/archive/2007/07/30/143075.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liuwei1981/comments/commentRss/143075.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liuwei1981/services/trackbacks/143075.html</trackback:ping><description><![CDATA[ <br/> |站Q?a >JavaEye</a> 作者:<a >liuwei1981</a> 发表旉: 2007-07-30 17:09 此文章来自于 <a >http://www.JavaEye.com</a> <br/>声明Q本文系JavaEye|站原创文章Q未lJavaEye|站或者作者本Z面许可,M其他|站严禁擅自发表本文Q否则必追I法律责任!<br/> 原文链接Q?a href=" http://liuwei1981.javaeye.com/blog/107034 " style="color:red;"> http://liuwei1981.javaeye.com/blog/107034 </a><br/><br/> <table width="100%"><tr><td><p><p>          <font size="4">   今天ȝ一下这个系lY件用的pȝ架构?/font></p> <br /><p><font size="4">         q个软g使用的mvc框架有点cM于strutsQ我是在2005q开始接触java的,在维护这个系lY件之前用的mvc框架包括struts和webwork两种Q相比较之下Q与strtus更ؓcMQ或怹是因为strus中控制类部分也是直接操作request吧?/font></p> <br /><p><font size="4">        q个mvc框架自n的特点大致有q么几个Q?/font></p> <br /><p><font size="4">        1.q个mvc框架没有使用配置文gQ在webconfig文g中配|有一个L的servletQ负责接受页面提交的hQ进行{发?/font></p> <br /><p><font size="4">           面提交h方式是直接请求这个LservletQ在提交h到这个servlet的同Ӟ提交两个固定的参敎ͼ分别是class和method参数Q通知servlet请求{到相应的c,q调用参C的方法?/font></p> <br /><p><font size="4">         2.Lservlet调用的类为普通的javac,没有Ҏ的要求,比如struts中要l承action父类Q方法写法有严格的要求,为静态方法,不允许有q回参数Q接受的参数也固定,如下Q?/font></p> <br /><p><font size="4">        <font face="Arial"> public static void expMethod(HttpServletRequest req,<br /> <br />                                        HttpServletResponse res,<br /> <br />                                        RequestHash reh) throws     Exception {}</font></font></p> <br /><p><font size="4">          因ؓ没有使用配置文gQ方法调用结束后q回到哪个页面,在该Ҏ中直接赋D面的具体\径。这样修改v来有点复杂,需要重新编译类Qƈ且在调试的时候,如果需要找到该h调用的页面的具体路径Q必L到这个类和方法,不如使用配置文g一目了然?/font></p> <br /><p><font size="4">        3.获取面上的参数Q这个框架提供两U不同的选择?/font></p> <br /><p><font size="4">           框架提供一个Common的对象,该对象封装了对request的部分操作,提供了一?font face="Arial">RequestHash对象Q该对象Z个Vector集合Q页面表单提交的数据已经装到该集合中,参数</font>获取方式为,创徏一个字W串数组Q将需要获取的参数名称赋值到该数l中QCommon的toDataҎq回与字W串数组相对应的参数|如下</font></p> <br /><p><font size="4">          Common common = new Common(req,res);//req request对象Qres为response对象</font></p> <br /><p><font size="4">          <font face="Arial">String[] keys = {"param1","param2"};<br /> <br />          String[] values = common.toData(reh, keys);</font></font></p> <br /><p><font size="4">          此时values数组中,values?】中的gؓparam1表单|相应的ؓparam2的表单倹{?/font></p> <br /><p><font size="4">         如果需要获取一个数l|request的操作是getParamValuesҎQ例如表单中的复选框|RequestHash对象提供了类grequest的这个操作?/font></p> <br /><p><font size="4">         <font face="Arial">reh.getParameterValues("params");</font></font></p> <br /><p><font size="4">         4.为显C页面赋g使用了Common对象?/font></p> <br /><p><font size="4">        a?nbsp;赋值简单的字符串对象:<font face="Arial">common.addString("showParam", param);</font></font></p> <br /><p><font size="4">         W一个参Cؓ面获取该参数g用的名称Q第二个对象名称?/font></p> <br /><p><font size="4">         b、一ơ性赋值多个字W串对象Q?font face="Arial">common.addArray(keys, values);</font></font></p> <br /><p><font size="4">         相对应的Qkeys为页面获取参数值的名称Qvalues为参数的倹{?/font></p> <br /><p><font size="4">        c、赋g个复杂的对象Q例如自定义对象或者一个List对象Q?/font></p> <br /><p><font size="4">            <font face="Arial">common.addObject("voname", vo);</font></font></p> <br /><p><font size="4">          用法一致?/font></p> <br /><p><font size="4">      该框架提供一套通用的js脚本库和一些统一的赋D则,例如d用户对象名称Q子pȝ名称和提C名Uͼ因此common对象赋g提供了一些特D的ҎQ只接受参数的|参数名称为已定义名称Q因此在为页面赋g要注意不要与pȝ框架已定义对象名U冲H?/font></p> <br /><p><font size="4">      今天写到q里Q下一写写这个mvc框架的页面逻辑Q标{还有这个脚本库的内容吧?/font></p></p></td></tr></table> <br/> <br/><br/> <span style="color:red;"><a href=" http://liuwei1981.javaeye.com/blog/107034 " style="color:red;">?ȝ一下维护了一q的一个Y件系l的软g体系Q二Q??的评Z很精彩,Ƣ迎您也d评论。查看详l?>></a></span> <br/><br/> <br/><br/><br/><br/> <span style="color:#E28822;">JavaEye推荐</span><br/> <a target="_blank" >上v乐福狗信息技术有限公?诚聘技术经理和开发工E师</a><br/> <a target="_blank" >免费下蝲IBMC֌版Y?-它基于开攄标准Q支持广泛的开发类型,让您的开发高效自主!</a><br/> <a target="_blank" >京沪I蓉四地免费注册QSOA技术高手汇聚交?</a><br/> <a >上vQ优U公司hQ高薪诚?资深Java工程?/a><br/> <a > q州Q优易公司:诚聘Java工程师,开发经? </a><br/> <a >上vQ尤恩斯国际集团Q诚聘开发工E师</a><br/> <a >北京Q优U公司NHNChina招聘:WEB开?pȝ理,JAVA开? DBA</a><br/> <br/><br/> <br>文章来源:<a href=' http://liuwei1981.javaeye.com/blog/107034 '> http://liuwei1981.javaeye.com/blog/107034 </a><img src ="http://www.aygfsteel.com/liuwei1981/aggbug/143075.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liuwei1981/" target="_blank">皇马啸西?/a> 2007-07-30 17:09 <a href="http://www.aygfsteel.com/liuwei1981/archive/2007/07/30/143075.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank">Ͽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ӣɳ</a>| <a href="http://" target="_blank">ٲ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">»</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">֦</a>| <a href="http://" target="_blank">˫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ع</a>| <a href="http://" target="_blank">Ƽ</a>| <a href="http://" target="_blank">ʯׯ</a>| <a href="http://" target="_blank">ײ</a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">Ů</a>| <a href="http://" target="_blank">ԣ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Դ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank">ƽ½</a>| <a href="http://" target="_blank">˻</a>| <a href="http://" target="_blank">峣</a>| <a href="http://" target="_blank">㽭ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϳ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>