dennis_zane
- 浏览: 911105 次
- 性别:
- 来自: 杭州
社区版块
- ( 33)
- ( 1529)
- ( 28)
最新评论
-
hw7777777:
非常感谢作者提供这么好的工具,在使用的过程中遇到一些问题?1、 ...
基于java nio的memcached客户端——xmemcached -
since1978:
多久过去了时间能抹平一切
无路用的人 -
fangruanyjq:
[img][/img]引用
用osworkflow写一个请假例子(提供代码下载) -
thinkingmysky:
楼主,你确定,java memached client能处理并 ...
memcached java client性能测试的几点疑问和说明 -
hellostory:
aaa5131421 写道07年2月hibernate已经出来 ...
dozer与beanutils
文章列表
这篇文章的想法来自于过去的两篇文章:《设计自己的mvc框架》《设计模式之事务处理》链接:http://www.javaresearch.org/article/59935.htmhttp://www.javaresearch.org/article/59043.htm代码下载同样在www.126.com的邮箱里,用户名 sharesources 密码 javafans 本文只是学习性质的文章,我一开始的想法就是修改《设计模式之事务处理》,提供annotation来提供事务支持,支持到方法级别。通过引入一个 @transaction标注,如果被此标注的方法将自动享受事务处理。目的是学习下a ...
- 2007-02-06 12:24
- 浏览 1413
取这样一个标题太大,吸引眼球嘛@_@。
事实是最近读《j2ee设计模式》讲述表达层模式的那几章,书中有一个前端控制器 command模式的workflow例子,就琢磨着可以很简单地扩展成一个mvc框架。花了一个下午改写了下,对书中� ...
- 2007-02-06 11:54
- 浏览 1164
废话不说,代码说话:import javax.naming.*;import javax.naming.namingexception;import javax.rmi.portableremoteobject;import javax.ejb.ejbhome;import javax.ejb.ejblocalhome;import javax.sql.datasource;import java.util.*;import java.sql.*;
- 2007-02-06 11:49
- 浏览 3955
一。缓存过滤器模式1。概念:缓存过滤器模式是通过使用servlet的filter来动态地缓存生成的页面,从而提高web层的性能和伸缩性。工作原理非常简单,当第一次请求到来时,判断是否可以缓存,可以的话就放在缓存里。当下次请求时,直接从缓存中取出,而不是再次请求。2。一个简单实现对html页面的缓存:package cfexample.controller;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;
- 2007-02-06 11:47
- 浏览 2439
首先需要理解的一点是,dom是针对xml的基于树的api,它的实现有很多(各语言基本都有自己的实现),我们讨论的是javascript中或者说xhtml(html)对dom的实现。
一、使用dom
考虑一个html文件:
测试title>head>
<body>
<p>测试p>
</div>
<div class="blog_bottom">
<ul>
<li class='date'>2007-02-06 11:38</li>
<li>浏览 3260</li>
<li><a href='/blog/57552#comments'>评论(0)</a></li>
</ul>
</div>
</div>
<div class="blog_main">
</div>
<div class="blog_main">
<div class="blog_title">
<h3><a href='https://www.iteye.com/blog/dennis-zane-57553'>设计模式之事务处理</a></h3>
<ul class='blog_categories'><strong>博客分类:</strong> <li><a href="/category/10547">设计模式</a></li> </ul>
<div class='news_tag'><a href="https://www.iteye.com/blogs/tag/设计模式">设计模式</a><a href="https://www.iteye.com/blogs/tag/配置管理">配置管理</a><a href="https://www.iteye.com/blogs/tag/dao">dao</a><a href="https://www.iteye.com/blogs/tag/aop">aop</a><a href="https://www.iteye.com/blogs/tag/spring">spring</a></div>
</div>
<div class="blog_content">
事务处理是企业应用需要解决的最主要的问题之一。j2ee通过jta提供了完整的事务管理能力,包括多个事务性资源的管理能力。但是大部分应用都是运行在单一的事务性资源之上(一个数据库),他们并不需要全局性的事务服务。本地事务服务已然足够(比如jdbc事务管理)。
本文并不讨论应该采用何种事务处理方式,主要目的是讨论如何更为优雅地设计事务服务。仅以jdbc事务处理为例。涉及到的dao,factory,proxy,decorator等模式概念,请阅读相关资料。
也许你听说过,事务处理应该做在service层,也许你也正这样做,但是否知道为什么这样做?为什么不放在dao层做事务处理。 ...
</div>
<div class="blog_bottom">
<ul>
<li class='date'>2007-02-06 11:32</li>
<li>浏览 2797</li>
<li><a href='/blog/57553#comments'>评论(2)</a></li>
</ul>
</div>
</div>
<div class="pagination"><a href="/blog/user/dennis-zane?page=20" class="prev_page" rel="prev">« 上一页</a> <a href="/blog/user/dennis-zane?page=1" rel="start">1</a> <a href="/blog/user/dennis-zane?page=2">2</a> <span class="gap">…</span> <a href="/blog/user/dennis-zane?page=19">19</a> <a href="/blog/user/dennis-zane?page=20" rel="prev">20</a> <span class="current">21</span> <span class="disabled next_page">下一页 »</span></div>
</div>
<script>
settimeout(function () {
var naviga_offsettop = 0;
function onload_function() {
naviga_offsettop = jquery("#nav_show_top_stop").position().top;
jquery(window).bind("scroll", naviga_stay_top);
jquery(window).bind("mousewheel", naviga_stay_top);
jquery(document).bind("scroll", naviga_stay_top);
jquery(document).bind("mousewheel", naviga_stay_top);
}
function naviga_stay_top() {
var scrolltop = jquery(document).scrolltop();
if (scrolltop > (naviga_offsettop 250)) {
jquery("#nav_show_top_stop").css({
"position": "fixed"
});
jquery("#nav_show_top_stop").css({
"top": "0px"
});
} else {
jquery("#nav_show_top_stop").css({
"position": "fixed"
});
jquery("#nav_show_top_stop").css({
"top": naviga_offsettop 250 - scrolltop "px"
});
}
}
jquery(document).ready(onload_function());
}, 200);
</script>
</div>
<div id="footer" class="clearfix">
<div id="ad_pop">
<div class="j_adv" data-view="true" data-mod="ad_popu_64" data-mtp="62" data-order="21" data-con="ad_content_2070">
</div>
</div>
</div>
</div>
<script type="text/javascript">
// document.write("<img src='https://stat.iteye.com/?url=" encodeuricomponent(document.location.href) "&referrer=" encodeuricomponent(document.referrer) "&user_id=' width='0' height='0' />");
</script>
global site tag (gtag.js) - google analytics
<script async src="https://www.googletagmanager.com/gtag/js?id=ua-127895514-6"></script>
<script>
window.datalayer = window.datalayer || [];
function gtag(){datalayer.push(arguments);}
gtag('js', new date());
gtag('config', 'ua-127895514-6');
</script>
<script src="//g.csdnimg.cn/common/csdn-report/report.js" type="text/javascript"></script>
<style>
.userinfo {display: none !important;}
.persion_article h3{
background: none !important;
border-bottom: none!important;
padding: 0!important;
margin-bottom: 0!important;
line-height: 1!important;
}
.persion_article .right_box{
margin-top: 0!important;
}
.persion_article .footer_box .feed_new_tit span{
padding-left: 0!important;
}
</style>
<script>
(function($){
var windowheight = $(window).height(),
contentheight = $(".hide-main-content").height()
windowheight = windowheight * 1.2 //获得可视区域高度
if(contentheight > windowheight){
$(".hide-article-box").show()
$(".hide-main-content").css({'height': windowheight,'overflow':'hidden'})
$(".hide-article-box").find("#btn-readmore").click(function(){
$(this).parents('.hide-main-content').removeattr('style')
$(this).parent().hide()
})
}
})(jquery)
</script>
<script type="text/javascript">var $csdn_iteye_jq = jquery.noconflict();// 解决jq与prototype.js命名空间冲突的问题</script>
</body>