??xml version="1.0" encoding="utf-8" standalone="yes"?>日韩中文一区,国产污污在线观看,国产丝袜在线观看视频http://www.aygfsteel.com/leixiangjian/虚拟世界中的渔Rzh-cnWed, 18 Jun 2025 04:45:30 GMTWed, 18 Jun 2025 04:45:30 GMT60mule源码分析之一http://www.aygfsteel.com/leixiangjian/archive/2009/09/04/293848.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Fri, 04 Sep 2009 04:25:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/09/04/293848.htmlhttp://www.aygfsteel.com/leixiangjian/comments/293848.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/09/04/293848.html#Feedback1http://www.aygfsteel.com/leixiangjian/comments/commentRss/293848.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/293848.html mina是何物?
Mina是一个用于开发高性能和高可用性的|络应用E序基础架构Q它?yu)装了(jin)底层的I/O和线Eƈ发等复杂工作?br /> Mina主要是基于java NIOcd开发;采用非阻塞方式的异步传输、事仉动、批量数据传输;支持TCP、UDP|络协议

首先从服务器端启动NioSocketAcceptor对象q行分析?br /> 1、实例化DefaultSocketSessionConfig?x)话配置器和异步传输NioProcessor处理?br /> 2、实例化AbstractPollingIoAcceptor构造器同时实例化SimpleIoProcessorPool处理器池
      --〉在SimpleProcessorPool中初始化执行?lt;U程?gt;Q然后初始化一个IoProcessor对象数组Q长度ؓ(f)3Q最后将处理器对象放入到IoProcessor数组?br />       --〉处理化传输带元数据
      --〉初始化服务监视?br />       --〉初始化异常监视?br /> 3、初始化qo(h)?br /> 4、初始化选择?

架构介绍

应用l构?br />
深入分析l构?br />
mina的基本应用可以分?层:(x)
1、I/O SerivceQ实际执行I/O?br /> 2、I/OFilter chainQ数据过滤和转换层,主要是把字节转换为需要的数据格式或者反q来处理
3、I/OHandlerQ业务处理层
创徏Mina应用分ؓ(f)3部分Q?br /> 1、创建I/O 2、创滤链
3、创建I/O业务处理



]]>
Dojo入门http://www.aygfsteel.com/leixiangjian/archive/2009/06/29/284599.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Mon, 29 Jun 2009 06:20:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/06/29/284599.htmlhttp://www.aygfsteel.com/leixiangjian/comments/284599.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/29/284599.html#Feedback0http://www.aygfsteel.com/leixiangjian/comments/commentRss/284599.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/284599.html        Dojo 是一个用javascript语言实现的开源DHTML工具包。它是在几个目捐助基础上徏立v来的(nWidgets, Burstlib, f(m)), q也是ؓ(f)什么叫它a \"unified\" toolkit的原因。Dojo的目标是解决开发DHTML应用E序遇到的那些,长期存在 、历史问题。historical problems with DHTML 跨浏览器问题。Dojo让你更容?使web面h动态能力,或在ME_的支持javascript语言的环境中发挥作用?br />
a、利用dojo提供的组Ӟ你可以提升你的web应用E序可用性、交互能力以?qing)功能上的提高?br /> b、你也可?更容易的建立degradeable user interfaces Q?Qdojo提供y?widgets Qanimate transitionsQ?br /> c、利用它的低UAPIs和可兼容的代码,写出M的、单一风格Q复杂)(j)的javascript代码QDojo?event system, I/O APIs, and generic language enhancement form the basis of a powerful programming environment.
d、通过Dojo提供的工P你可以ؓ(f)你的代码写命令行式的单元试代码?br /> e、the Dojo package system使你自己的代码更Ҏ(gu)l护Q偶合性更低?

Dojo通过很少的代码完成了(jin)以上的功能。(以后可能我详l说说dojo的package system Q只需要三个js文gQ。当你写脚本Ӟ只需要包含很的js文gQ大)(j)。也可以选择的(包含Q下载dojo提供的庞大的功能。Dojo provides MultiplePointsOfEntry, InterpreterIndependence, ForwardLookingAPIs, and focuses on ReducingBarriersToAdoption.
  dojo试图建立一U新的标{语aDojoML。目标是Q在DojoML和javascript脚本语言不变的情况下Q用不同的render方式展示数据Q?Renderings may be made available in several rendering contexts (such as SVG, or perhaps even the desktop or Flash)。(比较好啊)(j)更进一步,the DojoML 剖析器可以接受html和svg入,Ҏ(gu)的徏立DegradeableResponsiveApplications?br />
W一部分  安装
W一个小?nbsp; 怎么安装Dojo Toolkit
 Dojo在磁盘上只是一堆文Ӟ它不需要特D的讄Q它可以通过以下三种途径获得Q?br />  1、可以从google的内容分布网l获?br />    加蝲的方法可以参?a >http://code.google.com/intl/zh-CN/apis/ajaxlibs/documentation/index.html#dojo
 2?在你自己的服务器上用Dojo
  a、下载最新的dojo包,地址Q?a >http://dojotoolkit.org/downloadsQ目前最新的包ؓ(f)1.3.1
  b、解压下载的压羃文g
         --dojo-release-1.3.1-src
            ----dijit
            ----dojo
            ----dojox
            ----util
  c、可以通过D:\Apache-Source\dojo\1.3.1\dojo-release-1.3.1-src\dojo-release-1.3.1-src\dijit\themes\themeTester.html q样的\径来查看相关的JS例子
3、每日构Z?br />    你可以通过SVN地址获得
For instance, Dojo Core repository is:
http://svn.dojotoolkit.org/src/dojo/trunk

There are two versions of this view: anonymous and committer.

For users (readonly):
http://svn.dojotoolkit.org/src/view/anon/all/trunk

For committers (read/write):
https://svn.dojotoolkit.org/src/view/committer/all/trunk

W二部分 Ajax
W一个小?ajax
a、ajax and Dojo
1QXHR选项
例子Q?br />

// post some data, ignore the response:
dojo.xhrPost({
form: "someFormId", // read the url: from the action="" of the <form>
timeout: 3000, // give up after 3 seconds
content: { part:"one", another:"part" } // creates ?part=one&another=part with GET, Sent as POST data when using xhrPost
});
// get some data, convert to JSON
dojo.xhrGet({
url:"data.json",
handleAs:"json",
load: function(data){
for(var i in data){
console.log("key", i, "value", data[i]);
}
}
});

2QXHR回调
有三U方法可以附加到XHR选择对象Q以定当数据回调时该怎么做?br />



]]>
petstore--分析http://www.aygfsteel.com/leixiangjian/archive/2009/06/29/284579.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Mon, 29 Jun 2009 04:34:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/06/29/284579.htmlhttp://www.aygfsteel.com/leixiangjian/comments/284579.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/29/284579.html#Feedback0http://www.aygfsteel.com/leixiangjian/comments/commentRss/284579.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/284579.html    CatalogFacade对象在服务器启动时被实例化,然后实例化的CatalogFacade对象攄到ServletContext环境中,q样可以直接从ServletContext环境中取得CatalogFacade对象q行相关数据Ҏ(gu)的调用?br />    index.jsp中涉_一个js框架DOJOQ这个需要进一步的学习(fn)?
   Ҏ(gu)据的增、删、改、查主要用到?jin)JPA来处理?

]]>
petstore--JSFhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/26/284215.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Fri, 26 Jun 2009 01:19:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/06/26/284215.htmlhttp://www.aygfsteel.com/leixiangjian/comments/284215.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/26/284215.html#Feedback0http://www.aygfsteel.com/leixiangjian/comments/commentRss/284215.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/284215.html --------------------------------------------------------------------------
    JSF是有JCPQJAVA Community ProcessQ团队研发出来的一套标准,q在2004q?月发表JavaServer Faces1.0成果?br />
    看到一内容对初学者目前jsf的了(jin)解很重要Q注意这文章是2006q的内容
       JSF1.1 Q?/span> JSF1.2 Q?/span> myfaces,oracle ADF,ajax4jsf Q?/span> facelets, 它们I竟是什么,有什么关pdQ?br />

JSF1.1 ?/span> 1.2 都是 JSF 的标准,定义例如接口、规范( JSF 是面向接口编E的Q,必须通过实现才能被我们所使用Q而实现包括有 JSF RI(Reference Implementation) Q还?/span> myfaces core1.1.4 的实现等?/span> JSF RI ?/span> SUN ?/span> JSF 的实玎ͼ相对来说兼容性比较好Q也比较E_Q因?/span> 1.1 已经很久没更新过?jin),已经转?/span> 1.2 M(jin)Q,?/span> myfaces 更新比较快,功能也比较多一点,初学的推?/clk> JSF RI1.1 可以了(jin)Q?/span> 1.2 需要新?/span> servlet2.5/jsp2.1 以及(qing)服务器支持,现在q不E_?/span>

myfaces Q它是一个大?nobr oncontextmenu="return false" onmousemove="$cE.MoW()" id="clickeyekey1" onmouseover="$cE.s(event,1)" style="font-size: 11.5pt; color: #6600ff; line-height: 16pt; border-bottom: #6600ff 1px dotted; background-color: transparent; text-decoration: underline" onclick='$cE.c(event,1,"",1)' onmouseout="$cE.OuK()">目Q下面有几个子项目,分别?/clk> myfaces core, sandbox ,tabago,tomahawk Q(奇怪的名字Q好难说Q我U它?/span> TOM Q,q有一个新?/span> ADF Faces Q跟 oracle adf 有关Q应该是兼容整合 adf 的功能吧Q?/span> Tabago,tom 都是lg库, tabago 比较好玩的是支持换肤Q还有一些支?/span> ajax 的组Ӟ TOM 则是一个丰富的增强lg库,大概有三十个之多Q例?/span> TREE Q?/span> TAB {等?/span> Sandbox 是测试用的?/span>

Oracle ADF ?/span> oracle ?/span> jsf 做的一个大型的lg库,以前是收费的Q现在开源了(jin)Q我没用q,不好说?/span>

Ajax4jsf 是ؓ(f) jsf 提供 AJAX 支持的一个标{ֺQ用它提供的标{,p在原有的 JSF E序上轻易的加上 AJAX 的功能,而且不用写Q?/span> Javascript ?/span>

Facelets q个是很Ȁ动h?j)的一个框Ӟ有了(jin)q个框架才把 JSF 的组件化发挥出来Q通过模板的方式来l合成我们所需要的lgQ而且可以不?/span> <h:input> q样的标{ֺQ而用 <input type=”text” jsfc=”h:input”> q样的方式来使用lgQ这样就可以方便的?/span> UI 可视化工具去开发我们的 WEB E序。这个框架我?x)在以后的文章中详细的说Q以?qing)?/span> jsp2.0 的模板功能作Ҏ(gu)?/span>
--------------------------------------------------------------------------------
   JSF的session时问题?x)在面上抛出如下异常?x)
javax.faces.application.ViewExpiredException: viewId:/pages/index.faces - View /pages/index.faces could not be restored.
 at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:185)
 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
 at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
 at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
 at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 at java.lang.Thread.run(Unknown Source)
    解决Ҏ(gu)Q?br />           在web.xml中添加如下代码:(x)
  <error-page>
    <exception-type>javax.faces.application.ViewExpiredException</exception-type>
    <location>/pages/SessionRefire.jsp</location>
  </error-page>

----------------------------------------------------
注意Q所有的JSF标签一定要包含?lt;f:view></f:view>q个节点中,不然?x)报一下问题:(x)

javax.servlet.ServletException: Component javax.faces.component.UIViewRoot@f1fad1 not expected type.  Expected: javax.faces.component.UIOutput.  Perhaps you're missing a tag?
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)


 



]]>
Hibernate-配置http://www.aygfsteel.com/leixiangjian/archive/2009/06/25/284113.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Thu, 25 Jun 2009 07:17:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/06/25/284113.htmlhttp://www.aygfsteel.com/leixiangjian/comments/284113.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/25/284113.html#Feedback0http://www.aygfsteel.com/leixiangjian/comments/commentRss/284113.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/284113.html 比如使用QC3PO?br /> C3PO是一个随Hibernate一同分发的开源JDBCq接池?

]]>
转蝲Q用HTML5构徏下一代的Web Formhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/24/283863.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Wed, 24 Jun 2009 01:04:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/06/24/283863.htmlhttp://www.aygfsteel.com/leixiangjian/comments/283863.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/24/283863.html#Feedback0http://www.aygfsteel.com/leixiangjian/comments/commentRss/283863.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/283863.html使用HTML5构徏下一代的Web Form

作?蒋博 发布?2009q??2?上午4?2?

Architecture,
Java
主题
~程,
语言
标签
W3C,
标识语言

HTML5 是由 WHATWG (Web Hypertext Application Technology Working Group) 发v的,最开始的名称叫做Web Application 1.0Q而后q个标准吸纳?jin)Web Forms 2.0的标准,q一同被W3Cl织所采用Q合q成Z一代的HTML5标准?/p>

前言

HTML语言作ؓ(f)如今~程最为广泛的语言Q具有易用、快捗多览q_兼容{特点,但是随着时代的进步,HTML的标准却停滞不前Q这一ơ还在不断开发中的HTML5标准的更新可以说l这门标记语a带来?jin)新的生命力。本文将着重讨论HTML5中的Web Forms 2.0, 卌单的部分?/p>

表单是网中常见的控??。小到网站注册登录,大到一个企业的数据理pȝQ都基本上有表单的n影。表单之所以如此重要,主要是因为它担负大量的用户和|页后台数据更新交互的Q务。Web开发h员,对于|页表单可以说又爱又恨,q是它方便的收集、组l数据的功能Q恨的是它的功能很大E度上也׃此而已。一些在最l网站用L(fng)hE村^常的功能Q比如说输入cd(g)查、表单校验、错误提C等{,开发h员无不需要花费大量精力利?JavaScript和DOM~程来满些天然所需的功能点Q而随着Ajax的流行,出现的一些JavaScript的工具库Q比如Dojo, YUI{都提供?jin)方便的JavaScript Widget或者API来减d发h员的负担?/p>

HTML5的表单新Ҏ(gu)?/h2>

HTML5 Web Forms 2.0是对目前Web表单的全面提升,它在保持?jin)简便易用的Ҏ(gu)的同时Q增加了(jin)许多内置的控件或者控件属性来满用户的需求,q且同时减少?jin)开发h员的~程。在我看来,HTML5 主要在以下几个方面对目前的Web表单做了(jin)改进Q?/p>

  • 新的控gcd
    • q在为类型检查犯愁吗Q还在ؓ(f)那一长串看不太明白的(g)验输入的正则表达式而苦恼吗QHTML5提供的一pd新的控g天然的具备cd(g)查的功能。比如说URL输入框,Email输入框等?br />
      <input type="url"></input>
      <input type="email"></input>
    • 当然q有非常重要的日期输入框Q要知道使用JavaScript和CSS?#8220;手工”制作一个日期输入框q是非常花功夫的Q类似DojoQYUIq样的类库也无不在这个widget上面大做文章?br />
      <input type="date"></input>
    • 作ؓ(f)我痛苦记忆的一部分Q我l常记得我们开发h员要Z个select下拉别表动态的d非常多的选项,q些选项大多数都是来自数据库Q比如说国家、省?jng)列表等{。这个事情非常繁琐。HTML5支持data属性,为select控g外联数据源!
      <select data="http://domain/getmyoptions"></select>
  • 改进的文件上传控Ӟ你可以用一个控件上传多个文Ӟ自行规定上传文g的类型(acceptQ,你甚臛_以设定每个文件最大的大小QmaxlengthQ。你看出它和一般操作系l提供的文g上传控g的区别了(jin)吗,反正我觉得基本一致了(jin)。在HTML5应用中,文g上传控g变得非常强大和易用?/li>
  • 重复QrepeatQ的模型QHTML5提供一套重复机制来帮助我们构徏一些重复输入列表,其中包括一些诸?add、remove、move-upQmove-down的按钮类型,通过q一套重复的机制Q开发h员可以非常方便的实现我们l常看到的编辑列表,q是一个很常见的模式,我们可以增加一个条目、删除某个条目、或者移动某个条目等{?/li>
  • 内徏的表单校验系l,HTML5Z同类型的输入控g各自提供?jin)新的属性,来控制这些控件的输入行ؓ(f)Q比如我们常见的必填required属性,以及(qing)为数字类型控件提供的max、min{。而在你提交表单的时候,一旦校验错误,览器将不执行提交操作,而会(x)昄相应的检验错误信息?
    <input type="text" required></input>
    <input type="number" min=10  max=100></input>
  • XML SubmissionQ我们一般常见的是form的编码格式是application/x-www-form-urlencoded。开发h员都很清楚这U格式,数据送到服务器端Q可以方便的存取。HTML5提供一U新的数据格式:(x)XML SubmissionQ即application/x-www-form+xml。简单的举例_(d)服务器端直接接收到XML形式的表单数据?br />
    <submission>
        <field name="name" index="0">Peter</field>
        <field name="password" index="0">password</field>
    </submission>

实例分析

我将利用HTML5新的表单pȝ, 做一个简单的用户注册的界面,包括用户名,密码Q出生日期,保密问题{内容,代码如下Q?/p>

<! doctype html>
<html>
<head>
<style>
p label {
width: 180px;
float: left;
text-align: right;
padding-right: 10px
}
table {
margin-left: 80px
}
table td {
border-bottom: 1px solid #CCCCCC
}
input.submit {
margin-left: 80px
}
</style>
</head>
<body>
<form action='/register' enctype="application/x-www-form+xml" method="post">
<p>
<label for='name'>ID(请用Email注册)</label>
<input name='name' required type='email'></input>
</p>
<p>
<label for='password'>密码</label>
<input name='password' required type='password'></input>
</p>
<p>
<label for='birthday'>出生日期</label>
<input type='date' name='birthday' />
</p>
<p>
<label for='gender'>国籍</label>
<select name='country' data='countries.xml'></select>
</p>
<p>
<label for='photo'>个性头?lt;/label>
<input type='file' name='photo' accept='image/*' />
</p>
<table>
<thead>
<td><button type="add" template="questionId">+</button> 保密问题</td>
<td>{案</td>
<td></td>
</thead>
<tr id="questionId" repeat="template" repeat-start="1" repeat-min="1" repeat-max="3">
<td><input type="text" name="questions[questionId].q"></td>
<td><input type="text" name="questions[questionId].a"></td>
<td><button type="remove">删除</button></td>
</tr>
</table>
<p>
<input type='submit' value='send' class='submit' />
</p>
</form>
</body>
</html>

׃目前HTML5标准仍然在开发中Q不同的览器对HTML5Ҏ(gu)的支持都相当有限。其中Opera在表单方面支持得比较好,本实例在Opera9上运行一切正常,效果囑֦下:(x)

q个实例q用?jin)一些HTML5的新的表单元素,比如emailcd的输入框(ID)Q日期类型的输入?出生日期)。ƈ且用了(jin)重复模型来引导用户填写保密问题,而在个性头像的上传中,通过限制文gcdQ方便用户选择囄q行合乎规范的内容上传。而用户选择国籍的下拉选择输入框中Q采用的是外联数据源的Ş式,外联数据源用coutries.xmlQ内容如下:(x)

<select xmlns="http://www.w3.org/1999/xhtml">
<option>China</option>
<option>Japan</option>
<option>Korea</option>
</select>

q且form的enctype是application/x-www-form+xmlQ也是HTML5的XML提交。所以一旦form校验通过Qform的内容将?x)以XML的Ş式提交。你q会(x)发现Q在ID输入框如果没有|或者输入了(jin)非emailcd的字W串Ӟ一旦试图提交表单,׃(x)有提C错误的信息出现Q而这都是览器内|的?/p>

l语

HTML5对表单控件的更新Q无疑是很振奋h?j)的。本文描qC(jin)一部分表单的新Ҏ(gu),q有一部分新特性同样很令h期待。相信随着标准的深入开发以?qing)浏览器对HTML5支持E度的进一步提升,设计一个简单易用的表单的工作,变得非常轻松?/p>

参考资?/h2>
  1. W3C HTML5 规范Q?nbsp;http://www.w3.org/TR/html5/
  2. HTML5 ?HTML4的差异:(x)http://www.w3.org/TR/html5-diff/
  3. Opera dev: Improve your forms with HTML5Q?nbsp;http://dev.opera.com/articles/view/improve-your-forms-using-html5/
  4. Comparison of layout enginesQHTML5Q:(x)
    http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML_5)

关于作?/h2>

蒋博Q主要从事Web前端技术的开发工作,在Web开发与性能分析以及(qing)敏捷实践{领域有较丰富的l验。对HTML5的发展以?qing)各U?JavaScriptcd有比较浓厚的兴趣Q经常关注社交型的网站发展情况,q_喜欢听音乐,看一些历史类书籍。(本文仅代表个点,与公司立场无兟뀂)(j)


lInfoQ中文站投E或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也Ƣ迎大家加入?a target="_blank">InfoQ中文站用戯论组中与我们的编辑和其他读者朋友交?/p>

]]>SpringGuide-d的感?/title><link>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283833.html</link><dc:creator>兄弟(RobbinsQ?/dc:creator><author>兄弟(RobbinsQ?/author><pubDate>Tue, 23 Jun 2009 13:44:00 GMT</pubDate><guid>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283833.html</guid><wfw:comment>http://www.aygfsteel.com/leixiangjian/comments/283833.html</wfw:comment><comments>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283833.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/leixiangjian/comments/commentRss/283833.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/leixiangjian/services/trackbacks/283833.html</trackback:ping><description><![CDATA[    看完q本书给我的感觉Q比较实在,基本上对spring有个初步的认识?br />     接下来我?x)接着?lt;Spring参考手?gt;Q这h好的理解Springq个轻量U的框架?br />     <br />     从纵向第三方框架集成斚w?br />     1?nbsp;web层的集成<br />            spring对于web层集成外部框架有QStruts、webwork、Tapestry、JSF、Dinamica、VRaptor<br />     2、DAO层的集成<br />             spring对于DAO层集成外部框架有QHibernate、Ibatis、JDO<br /> <br />     事务处理上,Spring可以利用不同的事务管理对象进行事务上的配|,Ҏ(gu)不同的数据层环境而定? <img src ="http://www.aygfsteel.com/leixiangjian/aggbug/283833.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/leixiangjian/" target="_blank">兄弟(RobbinsQ?/a> 2009-06-23 21:44 <a href="http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283833.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SpringGuide-事务http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283812.html兄弟(RobbinsQ?/dc:creator>兄弟(RobbinsQ?/author>Tue, 23 Jun 2009 12:08:00 GMThttp://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283812.htmlhttp://www.aygfsteel.com/leixiangjian/comments/283812.htmlhttp://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283812.html#Feedback0http://www.aygfsteel.com/leixiangjian/comments/commentRss/283812.htmlhttp://www.aygfsteel.com/leixiangjian/services/trackbacks/283812.html  下面q段xml配置片断展示?jin)Spring中的事务讑֮方式Q?br /> <beans>
     <bean id="dataSource"
                class="org.apache.commons.dbcp.BasicDataSource"
                destroy-method="close">
              <property name="driverClassName">
                       <value>org.gjt.mm.mysql.Driver</value>
              </property>
              <property name="url">
                        <value>jdbc:mysql://localhost/sample</value>
             </property>
             <property name="username">
                       <value>user</value>
             </property>
             <property name="password">
                        <value>mypass</value>
              </property>
       </bean>
      <bean id="transactionManager"
                 class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
                 <property name="dataSource">
                      <ref local="dataSource" />
                 </property>
       </bean>
        <bean id="userDAO" class="net.xiaxin.dao.UserDAO">
                  <property name="dataSource">
                        <ref local="dataSource" />
                 </property>
         </bean>
        <bean id="userDAOProxy"
                   class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
                 <property name="transactionManager">
                          <ref bean="transactionManager" />
                 </property>
                 <property name="target">
                         <ref local="userDAO" />
                 </property>
                  <property name="transactionAttributes">
                         <props>
                            <prop key="insert*">PROPAGATION_REQUIRED</prop>
                            <prop key="get*">
                               PROPAGATION_REQUIRED,readOnly
                             </prop>
                           </props>
                    </property>
             </bean>
</beans>

------------------------------------------------------------------------------------------------------------------------------------------------------------------
EJB事务处理与Spring事务处理的区别,关键两点Q?br /> 1、Spring可以Q意Java Class U_事务理q里的UserDAO只是我们~写的一个普通Java ClassQ其中包含了(jin)一些基本的数据应用逻辑。通过SpringQ我们即可简单的实现事务的可配置化。也是_(d)我们可以随意为某个类的某个方法指定事务管理机制。与之对比,如果使用EJB容器提供的事务管理功能,我们不得不按照EJB规范~将UserDAO q行攚w,其转换Z个标准的EJB?br /> 2、Spring事务理q不依赖特定的事务资源。EJB 容器必须依赖于JTA 提供事务支持。而Spring 的事务管理则支持JDBC、JTA {多U事务资源。这为我们提供了(jin)更多的选择Q从而也使得我们的系l部|更加灵zR?br />

]]>
Spring-Guide--模板技?/title><link>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283726.html</link><dc:creator>兄弟(RobbinsQ?/dc:creator><author>兄弟(RobbinsQ?/author><pubDate>Tue, 23 Jun 2009 05:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283726.html</guid><wfw:comment>http://www.aygfsteel.com/leixiangjian/comments/283726.html</wfw:comment><comments>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283726.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/leixiangjian/comments/commentRss/283726.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/leixiangjian/services/trackbacks/283726.html</trackback:ping><description><![CDATA[  模板技术相对传lJSP技术有以下三个主要的优势:(x)<br />    1、表现逻辑与业务逻辑的分?br />    2、将UI和程序分,卛_工人员和程序员分离<br />    3、如果需要,模板引擎可以qweb容器单独q行Qؓ(f)pȝ可能的移植需求提供了(jin)更多的弹性空?br /> <br />    目前spring支持以下模板技术:(x) <br />    1、XSLT<br />          XSLT的性能相对较低Q因为在XSLT中,每个节点都是一个java对象Q大量对象的存储对内存占用极大,同时大量对象的频J创建和销毁也对JVM垃圾攉产生?jin)较大的负面影响?br />    2、Velocity<br />          目前最为成熟的模板技术,它是apache jakarta目中的一个子目?br />    3、FreeMarker<br />          对于web开发而言QFreeMarker在生产效率和学习(fn)成本上更具优势,而velocity的相对优势在于更多第三方工具的支持和更广泛的开发和用户团体?br />    <img src ="http://www.aygfsteel.com/leixiangjian/aggbug/283726.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/leixiangjian/" target="_blank">兄弟(RobbinsQ?/a> 2009-06-23 13:13 <a href="http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283726.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring-Guide 关于web容器的加?/title><link>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283710.html</link><dc:creator>兄弟(RobbinsQ?/dc:creator><author>兄弟(RobbinsQ?/author><pubDate>Tue, 23 Jun 2009 03:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283710.html</guid><wfw:comment>http://www.aygfsteel.com/leixiangjian/comments/283710.html</wfw:comment><comments>http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283710.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/leixiangjian/comments/commentRss/283710.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/leixiangjian/services/trackbacks/283710.html</trackback:ping><description><![CDATA[    对于web应用Qspring提供?jin)可配置的ApplicatonContext加蝲机制Q加载器目前有两U加载选择QContextLoaderListener和ContextLoaderServlet<br /> <br />     加蝲器目前有两种选择QContextLoaderListener和ContextLoaderServlet。这两者在功能上完全等同,只是一个是ZServlet2.3版本中新引入的Listener接口实现Q而另一个基于Servlet接口实现。开发中可根据目标Web容器的实际情况进行选择?br /> <br /> 在web.xml中增加:(x)<br /> <listener><br />     <listener-class><br />          org.springframework.web.context.ContextLoaderListener<br />      </listener-class><br /> </listener><br /> -----------------------------------------------------------------<br /> <servlet><br />       <servlet-name>context</servlet-name><br />       <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class><br />       <load-on-startup>1</load-on-startup><br /> </servlet><br /> 通过以上配置QW(xu)eb容器?x)自动加?WEB-INF/applicationContext.xml初始?<br /> <br /> 如果需要指定配|文件位|,可通过context-param加以指定<br /> <context-param><br />        <param-name>contextConfigLocation</param-name><br />        <param-value>/WEB-INF/myApplicationContext.xml</param-value><br /> </context-param><br /> <br /> <img src ="http://www.aygfsteel.com/leixiangjian/aggbug/283710.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/leixiangjian/" target="_blank">兄弟(RobbinsQ?/a> 2009-06-23 11:32 <a href="http://www.aygfsteel.com/leixiangjian/archive/2009/06/23/283710.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">IJ</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>