??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲六月丁香婷婷综合,亚洲av无码专区在线电影,亚洲色图.comhttp://www.tkk7.com/qiubite520/category/52217.htmlzh-cnSat, 14 Mar 2015 13:54:33 GMTSat, 14 Mar 2015 13:54:33 GMT60 Spring配置数据源的三种方式 Qdbcp,c3p0,jndiQ?/title><link>http://www.tkk7.com/qiubite520/articles/423460.html</link><dc:creator>丘比?/dc:creator><author>丘比?/author><pubDate>Sat, 14 Mar 2015 09:07:00 GMT</pubDate><guid>http://www.tkk7.com/qiubite520/articles/423460.html</guid><wfw:comment>http://www.tkk7.com/qiubite520/comments/423460.html</wfw:comment><comments>http://www.tkk7.com/qiubite520/articles/423460.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qiubite520/comments/commentRss/423460.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qiubite520/services/trackbacks/423460.html</trackback:ping><description><![CDATA[     摘要: 1,使用org.springframework.jdbc.datasource.DriverManagerDataSource   说明QDriverManagerDataSource建立q接是只要有q接新Z个connection,Ҏ没有q接池的作用?nbsp;  <bean id="dataSource" cla...  <a href='http://www.tkk7.com/qiubite520/articles/423460.html'>阅读全文</a><img src ="http://www.tkk7.com/qiubite520/aggbug/423460.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qiubite520/" target="_blank">丘比?/a> 2015-03-14 17:07 <a href="http://www.tkk7.com/qiubite520/articles/423460.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Eclipse快捷键大?/title><link>http://www.tkk7.com/qiubite520/articles/412925.html</link><dc:creator>丘比?/dc:creator><author>丘比?/author><pubDate>Fri, 25 Apr 2014 03:01:00 GMT</pubDate><guid>http://www.tkk7.com/qiubite520/articles/412925.html</guid><wfw:comment>http://www.tkk7.com/qiubite520/comments/412925.html</wfw:comment><comments>http://www.tkk7.com/qiubite520/articles/412925.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qiubite520/comments/commentRss/412925.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qiubite520/services/trackbacks/412925.html</trackback:ping><description><![CDATA[<div style="widows: 2; text-transform: none; text-indent: 0px; font: bold 14px/20px georgia, verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; margin-bottom: 10px; letter-spacing: normal; color: rgb(75,75,75); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="postTitle">Eclipse快捷键大?/div> <div style="widows: 2; text-transform: none; text-indent: 0px; font: 13px/20px georgia, verdana, Arial, helvetica, sans-seriff; white-space: normal; orphans: 2; letter-spacing: normal; color: rgb(75,75,75); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="postbody"><font size="2">Ctrl+1 快速修?最l典的快捷键,׃用多说了)<br />Ctrl+D: 删除当前?nbsp;<br />Ctrl+Alt+↓ 复制当前行到下一?复制增加)<br />Ctrl+Alt+↑ 复制当前行到上一?复制增加)<br />Alt+↓ 当前行和下面一行交互位|?特别实用,可以省去先剪?再粘贴了)<br />Alt+↑ 当前行和上面一行交互位|?同上)<br />Alt+← 前一个编辑的面<br />Alt+→ 下一个编辑的面(当然是针对上面那条来说了)<br />Alt+Enter 昄当前选择资源(工程,or 文g or文g)的属?br />Shift+Enter 在当前行的下一行插入空?q时鼠标可以在当前行的Q一位置,不一定是最?<br />Shift+Ctrl+Enter 在当前行插入I(原理同上?<br />Ctrl+Q 定位到最后编辑的地方<br />Ctrl+L 定位在某?nbsp;(对于E序过100的h有音?<br />Ctrl+M 最大化当前的Edit或View (再按则反?<br />Ctrl+/ 注释当前?再按则取消注?br />Ctrl+O 快速显C?nbsp;OutLine<br />Ctrl+T 快速显C当前类的承结?br />Ctrl+W 关闭当前Editer<br />Ctrl+K 参照选中的Word快速定位到下一?br />Ctrl+E 快速显C当前Editer的下拉列?如果当前面没有昄的用黑体表示)<br />Ctrl+/(键? 折叠当前cM的所有代?br />Ctrl+×(键? 展开当前cM的所有代?br />Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代?<br />Ctrl+Shift+E 昄理当前打开的所有的View的管理器(可以选择关闭,Ȁzȝ操作)<br />Ctrl+J 正向增量查找(按下Ctrl+J?你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显C没有找C,查一个单词时,特别实用,q个功能Idea两年前就有了)<br />Ctrl+Shift+J 反向增量查找(和上条相?只不q是从后往前查)<br />Ctrl+Shift+F4 关闭所有打开的Editer<br />Ctrl+Shift+X 把当前选中的文本全部变呛_?br />Ctrl+Shift+Y 把当前选中的文本全部变为小?br />Ctrl+Shift+F 格式化当前代?br />Ctrl+Shift+P 定位到对于的匚wW?譬如{}) (从前面定位后面时,光标要在匚wW里?后面到前?则反?<br /><br />下面的快捷键是重构里面常用的,本hp己喜Ƣ且常用的整理一??一般重构的快捷键都是Alt+Shift开头的?<br />Alt+Shift+R 重命?nbsp;(是我自己最q的一个了,其是变量和cȝRename,比手工方法能节省很多力_?<br />Alt+Shift+M 抽取Ҏ (q是重构里面最常用的方法之一?其是对一大堆泥团代码有用)<br />Alt+Shift+C 修改函数l构(比较实用,有N个函数调用了q个Ҏ,修改一ơ搞?<br />Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变?其是多处调用的时?<br />Alt+Shift+F 把Class中的local变量变ؓfield变量 (比较实用的功?<br />Alt+Shift+I 合ƈ变量(可能q样说有点不妥Inline)<br />Alt+Shift+V Ud函数和变?不怎么常用)<br />Alt+Shift+Z 重构的后悔药(Undo)<br /><br />~辑<br />作用?nbsp;功能 快捷?nbsp;<br />全局 查找q替?nbsp;Ctrl+F <br />文本~辑?nbsp;查找上一?nbsp;Ctrl+Shift+K <br />文本~辑?nbsp;查找下一?nbsp;Ctrl+K <br />全局 撤销 Ctrl+Z <br />全局 复制 Ctrl+C <br />全局 恢复上一个选择 Alt+Shift+↓ <br />全局 剪切 Ctrl+X <br />全局 快速修?nbsp;Ctrl1+1 <br />全局 内容辅助 Alt+/ <br />全局 全部选中 Ctrl+A <br />全局 删除 Delete <br />全局 上下文信?nbsp;Alt+Q?br />Alt+Shift+?<br />Ctrl+Shift+Space <br />Java~辑?nbsp;昄工具提示描述 F2 <br />Java~辑?nbsp;选择装元素 Alt+Shift+↑ <br />Java~辑?nbsp;选择上一个元?nbsp;Alt+Shift+← <br />Java~辑?nbsp;选择下一个元?nbsp;Alt+Shift+→ <br />文本~辑?nbsp;增量查找 Ctrl+J <br />文本~辑?nbsp;增量逆向查找 Ctrl+Shift+J <br />全局 _脓 Ctrl+V <br />全局 重做 Ctrl+Y <br /><br /> <br />查看<br />作用?nbsp;功能 快捷?nbsp;<br />全局 攑֤ Ctrl+= <br />全局 ~小 Ctrl+- <br /><br /> <br />H口<br />作用?nbsp;功能 快捷?nbsp;<br />全局 Ȁzȝ辑器 F12 <br />全局 切换~辑?nbsp;Ctrl+Shift+W <br />全局 上一个编辑器 Ctrl+Shift+F6 <br />全局 上一个视?nbsp;Ctrl+Shift+F7 <br />全局 上一个透视?nbsp;Ctrl+Shift+F8 <br />全局 下一个编辑器 Ctrl+F6 <br />全局 下一个视?nbsp;Ctrl+F7 <br />全局 下一个透视?nbsp;Ctrl+F8 <br />文本~辑?nbsp;昄标尺上下文菜?nbsp;Ctrl+W <br />全局 昄视图菜单 Ctrl+F10 <br />全局 昄pȝ菜单 Alt+- <br /><br /> <br />D<br />作用?nbsp;功能 快捷?nbsp;<br />Java~辑?nbsp;打开l构 Ctrl+F3 <br />全局 打开cd Ctrl+Shift+T <br />全局 打开cd层次l构 F4 <br />全局 打开声明 F3 <br />全局 打开外部javadoc Shift+F2 <br />全局 打开资源 Ctrl+Shift+R <br />全局 后退历史记录 Alt+← <br />全局 前进历史记录 Alt+→ <br />全局 上一?nbsp;Ctrl+, <br />全局 下一?nbsp;Ctrl+. <br />Java~辑?nbsp;昄大纲 Ctrl+O <br />全局 在层ơ结构中打开cd Ctrl+Shift+H <br />全局 转至匚w的括?nbsp;Ctrl+Shift+P <br />全局 转至上一个编辑位|?nbsp;Ctrl+Q <br />Java~辑?nbsp;转至上一个成?nbsp;Ctrl+Shift+↑ <br />Java~辑?nbsp;转至下一个成?nbsp;Ctrl+Shift+↓ <br />文本~辑?nbsp;转至?nbsp;Ctrl+L <br /><br /> <br />搜烦<br />作用?nbsp;功能 快捷?nbsp;<br />全局 出现在文件中 Ctrl+Shift+U <br />全局 打开搜烦对话?nbsp;Ctrl+H <br />全局 工作Z的声?nbsp;Ctrl+G <br />全局 工作Z的引?nbsp;Ctrl+Shift+G <br /><br /> <br />文本~辑<br />作用?nbsp;功能 快捷?nbsp;<br />文本~辑?nbsp;改写切换 Insert <br />文本~辑?nbsp;上滚?nbsp;Ctrl+↑ <br />文本~辑?nbsp;下滚?nbsp;Ctrl+↓ <br /><br /> <br />文g<br />作用?nbsp;功能 快捷?nbsp;<br />全局 保存 Ctrl+X <br />Ctrl+S <br />全局 打印 Ctrl+P <br />全局 关闭 Ctrl+F4 <br />全局 全部保存 Ctrl+Shift+S <br />全局 全部关闭 Ctrl+Shift+F4 <br />全局 属?nbsp;Alt+Enter <br />全局 新徏 Ctrl+N <br /><br /> <br />目<br />作用?nbsp;功能 快捷?nbsp;<br />全局 全部构徏 Ctrl+B <br /><br /> <br />源代?br />作用?nbsp;功能 快捷?nbsp;<br />Java~辑?nbsp;格式?nbsp;Ctrl+Shift+F <br />Java~辑?nbsp;取消注释 Ctrl+\ <br />Java~辑?nbsp;注释 Ctrl+/ <br />Java~辑?nbsp;d导入 Ctrl+Shift+M <br />Java~辑?nbsp;l织导入 Ctrl+Shift+O <br />Java~辑?nbsp;使用try/catch块来包围 未设|,太常用了Q所以在q里列出,自己讄?br />也可以用Ctrl+1自动修正?nbsp;<br /><br /> <br />q行<br />作用?nbsp;功能 快捷?nbsp;<br />全局 单步q回 F7 <br />全局 单步跌 F6 <br />全局 单步跛_ F5 <br />全局 单步跛_选择 Ctrl+F5 <br />全局 调试上次启动 F11 <br />全局 l箋 F8 <br />全局 使用qo器单步执?nbsp;Shift+F5 <br />全局 d/去除断点 Ctrl+Shift+B <br />全局 昄 Ctrl+D <br />全局 q行上次启动 Ctrl+F11 <br />全局 q行臌 Ctrl+R <br />全局 执行 Ctrl+U <br /><br /> <br />重构<br />作用?nbsp;功能 快捷?nbsp;<br />全局 撤销重构 Alt+Shift+Z <br />全局 抽取Ҏ Alt+Shift+M <br />全局 抽取局部变?nbsp;Alt+Shift+L <br />全局 内联 Alt+Shift+I <br />全局 Ud Alt+Shift+V <br />全局 重命?nbsp;Alt+Shift+R <br />全局 重做 Alt+Shift+Y</font></div><img src ="http://www.tkk7.com/qiubite520/aggbug/412925.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qiubite520/" target="_blank">丘比?/a> 2014-04-25 11:01 <a href="http://www.tkk7.com/qiubite520/articles/412925.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用SWT开发WEB应用http://www.tkk7.com/qiubite520/articles/412884.html丘比?/dc:creator>丘比?/author>Thu, 24 Apr 2014 06:33:00 GMThttp://www.tkk7.com/qiubite520/articles/412884.htmlhttp://www.tkk7.com/qiubite520/comments/412884.htmlhttp://www.tkk7.com/qiubite520/articles/412884.html#Feedback0http://www.tkk7.com/qiubite520/comments/commentRss/412884.htmlhttp://www.tkk7.com/qiubite520/services/trackbacks/412884.html

使用SWT开发WEB应用

Eclipse SWTQ标准部件工具包Q发展迅速,以其良好的性能和漂亮的外观Q已逐渐成ؓJAVA桌面应用开发的首选控件包。一直以来SWT都是用来开发桌面应用的Q那q个优秀的工具包能否直接用于开发WEB应用呢?如今SmartSWT技术可以让q个x成ؓ现实Q这对SWT来说Q无疑又多了一个用武之地?/p>

SmartSWT?/h2>

Z提高传统WEB应用的界面表现能力,RIA技术应时而生Q各URIAq_通过各种手段来提高丰富的囑Ş界面。如BindowsQ它使用动态HTML技术模拟Windows控gQ还有FlexQ直接用Flash做ؓWEB应用的表现层Q以弥补DHTML技术的不?/p>

而SmartSWT则是ZSWT的RIA发布q_。它可以普通的SWT的应用直接发布成Z个可通过客户端浏览器讉K的WEB应用Q这样就佉K过SWT直接开?富UI的WEB应用成ؓ了现实。不仅如此,ZSWT扩展的许多扩展包也大都可以直接用,如JFace、GEF{?/p>

SmartSWT和SmartClient不一P它ƈ不是SWT应用E序下蝲到客L来运行,而是和B/S模式的WEB应用一P整个应用E序是运行在服务端的Q只是运行过E中图形界面实时显CZ客户端的览器中Qƈ客L的操作事件自动实时返回服务端Q触发服务端原SWT应用的事件处理代码进行处理。服务端的SWT应用所q行的数据库操作和文件操作都是相对于服务器端q行的,而不像C/S应用那样Q需要客L自己数据按自定义的通讯协议传回服务端再q行处理?/p>

SmartSWT底层的通讯是加密而且高效的,在内|的客户端打开服务端的SWT应用Q和原来直接在本Z用相比相差不多。相当于您机器的CPU降一后q行应用E序的感觉?/p>

SmartSWT目前试版本?.1Q表C支持SWT3.1的兼容应用程序?/p>

下图是一个SWT应用QSWT Control ExampleQ在SmartSWTq_部v后,客户端通过IE览器访问的效果Q?/p>

 

安装q行

SmartSWT的测试版仅支持WindowspȝQ根据其用户手册的说明,它的服务端正式版支持Linux、Unix{系l。SmartSWT安装q行非常单,从www.smartswt.com下蝲SmartSWT31压羃包ƈ解压Q在解压目录下有三个子目录SmartSWTClient、SmartSWTServer和WEB?/p>

1. 打开SmartSWTClient目录Q运行Setup.exe安装客户端,该程序将在客L安装一个定制的型JAVA虚拟机?/p>

2. 打开SmartSWTServer目录Q运行Startup.batQ将q行SmartSWT服务端,SmartSWT使用自带的JAVA虚拟机,所以您不用预先准备它?/p>

3. 如果您的客户端和服务端都在同一台机器,则直接进入WEB子目录,用IE打开index.htm文gQ大U?5U钟左右卛_在IE览器中启动SmartSWT桌面Q您q时可以通过Start菜单Q启动内|的DEMOE序体验一番?/p>

开发SmartSWT应用

开发SmartSWT应用基本上和开发普通的SWT应用相同。您可以使用Eclipse的SWT可视化插件来帮助创徏一个SWT应用E序Q比较好的有Designer及Eclipse的VisualEditor{?/p>

用于部v到SmartSWT服务器的SWT应用在开发时有些的限制Q幸好这些通常都只是D手之劻I

1. Display的获取必ȝ一使用Display display = Display.getDefault()ҎQ不能用new Deisplay()创徏QSmartSWT目前不支持多Display的应用,对大多数应用来说q不是问?

2. 创徏的Shell最好必调用shell.setSize()对其寸q行初始化,否则在SmartSWT默认呈最化状?

3. 量不要使用非公开的APIQ因为有量非公开APIQ可能SmartSWTq没有实现它;

4. 量不要使用其它JNI技术和ActiveX控gQ不要用SWING和AWT{非ZSWT的控Ӟ

5. 避免初始化时一ơ创建几十上百个控gQ这样会造成启动旉较长Q应在需要显C时创徏控g?/p>

部vSmartSWT应用

SmartSWT的部|一样很单,只需调试通过的SWTE序的类文gQ按包名目录l构原封不动拯至SmartSWTServer的swtapps目录Q然后在SmartSWTServer.xml文g中按以下格式注册一下,最后重启SmartSWTServerQ你可以通过客户端浏览器启动SmartSWT桌面Q在StartQ?gt;Programs菜单里启动它Q?/p>

 

<!-- Configuration of each SWT Application
  name: the name of the SWT Application
  mainClass: the main class to start the SWT Application
  startup: will it start just after the smartswt desktop started(haven't supported)
  description: the description of the SWT Application
-->
<Application name="ControlExample"
mainClass="org.eclipse.swt.examples.controlexample.ControlExample">
    <startup>false</startup>
    <description>ControlExample Application</description>
</Application>

SmartSWT: RIAq_的强有力竞争?/h2>

SmartSWT同其它RIAq_比较有一些独特的优势。首先它是基于SWT的RIAq_Q依托强大的Eclipse阵营Q有许多扩展技术可用,如JFace、GEF、EMF{,像UML设计器、报表、动画这L复杂囑Ş应用都可以通过SWT实现后,发布到SmartSWTQ从而在WEB上很LC用这些桌面应用独有的表现技术。还有OpenGL、RCPq类应用也有可能在将来得到支持,而且Eclipse不断发展中,SWT相关技术的不断成熟Q都以最快的速度同时q用于WEB应用。而且多年来用U篏的用SWT开发的软gQ不需要修改,或只需量的修改,卛_同时拥有WEB版本?/p>

其次Q很多JAVA应用开发者往往只对JAVA服务端的技术感兴趣Q而对表现层采用的HTML、JS、JSPq类标签语言和脚本技术ƈ不喜Ƣ。而事实上兼通JAVA技术、HTML和脚本技术的E序员也是少之又。这也是造成许多传统J2EE应用的界面表C佳的原因。由于SmartSWT直接采用了SWTQ的整个应用的开发完全是UJAVA技术的开发过E,开发者不再需要与非面向对象的HTML、JS、JSP{标{语a和脚本技术打交道Q整个开发过E完全是桌面应用的开发模式,Z事g驱动。这使得应用开发在技术h员的配备上要Ҏ得多?/p>

此外Q发布到SmartSWT的SWT应用Q客L通过览器用时Q仍然具有和原SWT一LhWindows本地风格的界面,h和真正桌面应用一L表现能力和事件机Ӟ其表现能力和功能是Bindows以及Flex{技术无法真正模拟的?/p>

SmartSWT的局限?/h2>

管SmartSWT有诸多好处,但也存在一些局限性?׃技术实现的原因Q对|络传输速度要求较高。SmartSWT在内|内讉KӞ其用效果和本机上直接用相差不多,但在外网上却几乎不具可用性。这军_了SmartSWT只能用于开发企业内|应用?/p>

另外Q和FlexcMQFlex要求客户端的览器安装一个Flash ActiveX控gQSmartSWT也有cM要求。SmartSWT客户端需要在览器中实时表现服务端SWT应用的图形界面,q对用户操作做出响应Q这需要在客户端安装一个特制的型JAVA虚拟机,q以ActiveX控g的Ş式在IE中用。某些政府机关的敏感部门对这U方?可能比较反感?/p>

选择SmartSWTQ还?..

是否选择SmartSWTQ取决于您的软g应用范围和客戗如果您的Y件是内网的企业应用,您的用户日常办公使用的是WindowspȝQ而且对客L安装一个小的虚拟Z介意的话Q选择SmartSWT无疑是上佳选择 。它您的WEB应用开发充分n受SWT开发的各种便利性和各方的丰富技术支持,完成普通WEB无法完成的功能。SWT界面的表现力和操作便利性,也会使客h意度大大提高?/p>

参考资?/h2>

条评?/h2>



    ]]>
    对spring JdbcTemplate的一个扩?使其支持单Connection)http://www.tkk7.com/qiubite520/articles/411539.html丘比?/dc:creator>丘比?/author>Wed, 26 Mar 2014 14:45:00 GMThttp://www.tkk7.com/qiubite520/articles/411539.htmlhttp://www.tkk7.com/qiubite520/comments/411539.htmlhttp://www.tkk7.com/qiubite520/articles/411539.html#Feedback0http://www.tkk7.com/qiubite520/comments/commentRss/411539.htmlhttp://www.tkk7.com/qiubite520/services/trackbacks/411539.html阅读全文

    ]]>
    Spring事务配置的五U方?/title><link>http://www.tkk7.com/qiubite520/articles/411481.html</link><dc:creator>丘比?/dc:creator><author>丘比?/author><pubDate>Wed, 26 Mar 2014 02:55:00 GMT</pubDate><guid>http://www.tkk7.com/qiubite520/articles/411481.html</guid><wfw:comment>http://www.tkk7.com/qiubite520/comments/411481.html</wfw:comment><comments>http://www.tkk7.com/qiubite520/articles/411481.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qiubite520/comments/commentRss/411481.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qiubite520/services/trackbacks/411481.html</trackback:ping><description><![CDATA[     摘要: 前段旉对Spring的事务配|做了比较深入的研究Q在此之间对Spring的事务配|虽说也配置q,但是一直没有一个清楚的认识。通过q次的学习发觉Spring的事务配|只要把思\理清Q还是比较好掌握的?    ȝ如下Q?    Spring配置文g中关于事务配|L׃个组成部分,分别是DataSource、TransactionM...  <a href='http://www.tkk7.com/qiubite520/articles/411481.html'>阅读全文</a><img src ="http://www.tkk7.com/qiubite520/aggbug/411481.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qiubite520/" target="_blank">丘比?/a> 2014-03-26 10:55 <a href="http://www.tkk7.com/qiubite520/articles/411481.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>H2数据库的Collation中文排序问题解决Ҏhttp://www.tkk7.com/qiubite520/articles/409779.html丘比?/dc:creator>丘比?/author>Wed, 12 Feb 2014 08:53:00 GMThttp://www.tkk7.com/qiubite520/articles/409779.htmlhttp://www.tkk7.com/qiubite520/comments/409779.htmlhttp://www.tkk7.com/qiubite520/articles/409779.html#Feedback0http://www.tkk7.com/qiubite520/comments/commentRss/409779.htmlhttp://www.tkk7.com/qiubite520/services/trackbacks/409779.html

    ]]>
    JSP获取CPU使用率、系l内存、虚拟机内存{情?不用JNI) http://www.tkk7.com/qiubite520/articles/386321.html丘比?/dc:creator>丘比?/author>Mon, 27 Aug 2012 01:01:00 GMThttp://www.tkk7.com/qiubite520/articles/386321.htmlhttp://www.tkk7.com/qiubite520/comments/386321.htmlhttp://www.tkk7.com/qiubite520/articles/386321.html#Feedback0http://www.tkk7.com/qiubite520/comments/commentRss/386321.htmlhttp://www.tkk7.com/qiubite520/services/trackbacks/386321.html阅读全文

    ]]>
    详解 SWT 中的 Browser.setUrl(String url, String postData, String[] headers) 的用?/title><link>http://www.tkk7.com/qiubite520/articles/383652.html</link><dc:creator>丘比?/dc:creator><author>丘比?/author><pubDate>Sat, 21 Jul 2012 13:19:00 GMT</pubDate><guid>http://www.tkk7.com/qiubite520/articles/383652.html</guid><wfw:comment>http://www.tkk7.com/qiubite520/comments/383652.html</wfw:comment><comments>http://www.tkk7.com/qiubite520/articles/383652.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/qiubite520/comments/commentRss/383652.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/qiubite520/services/trackbacks/383652.html</trackback:ping><description><![CDATA[<h2 class="title content-title">详解 SWT 中的 Browser.setUrl(String url, String postData, String[] headers) 的用?/h2> <div class="aeigmmw" id="content" class="content text-content clearfix"> <p>SWT ?org.eclipse.swt.browser.BrowsercM<br />有一个setUrl(String url, String postData, String[] headers)Ҏ?br />我们可以通过q个Ҏq行submit数据?/p> <p>例如Q可以通过q个ҎQ进行用L陆操作?登陆成功后页面会自动跌{至登陆成功页?</p> <p>参数详解Q?br />setUrl(String url, String postData, String[] headers)</p> <p>urlQ表CZ个要post提交的数据地址。相当于Html中form表单中的action属?br />postDataQ表C提交的数据。如果是多个数据需要用&W号分开?br />例如Qname=xiaobaitu&password=12345678<br />headersQ表C提交时http的Headers信息?/p> <p><br />部分代码实例如下Q?br />   <br />   String url = "<a ><font color="#f06d99">http://127.0.0.1/webpages/login.jsp</font></a>"<br />   String postData = "name=xiaobaitu&password=12345678";<br />   String[] headers =<br />   {<br />     "Accept: */*",<br />     "Accept-Language: zh-cn",<br />     "Content-Type: application/x-www-form-urlencoded", // 要有<br />     "Accept-Encoding: gzip, deflate", "Cache-Control: no-cache"<br />   };</p> <p>   browser.setUrl(url, postData, headers);<br />   <br />   注意Q?br />   (1) headers中的 "Content-Type: application/x-www-form-urlencoded"要有哦~~<br />   (2) 如果提交的数据postData中包含中? 则需要对其进行url~码?br />   例如Q如果按照UTF-8~码Q则是URLEncoder.encode(name, "UTF-8");<br /></p></div><img src ="http://www.tkk7.com/qiubite520/aggbug/383652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/qiubite520/" target="_blank">丘比?/a> 2012-07-21 21:19 <a href="http://www.tkk7.com/qiubite520/articles/383652.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Spring原理http://www.tkk7.com/qiubite520/articles/380688.html丘比?/dc:creator>丘比?/author>Wed, 13 Jun 2012 06:34:00 GMThttp://www.tkk7.com/qiubite520/articles/380688.htmlhttp://www.tkk7.com/qiubite520/comments/380688.htmlhttp://www.tkk7.com/qiubite520/articles/380688.html#Feedback0http://www.tkk7.com/qiubite520/comments/commentRss/380688.htmlhttp://www.tkk7.com/qiubite520/services/trackbacks/380688.html一?IoC(Inversion of control): 控制反{  
    概念Q控制权由对象本w{向容器;由容器根据配|文件去创徏实例q创建各个实例之间的依赖关系 
    核心Qbean工厂Q在Spring中,bean工厂创徏的各个实例称作bean 
     
    内部最核心的就是IOC
    动态注入,让一个对象的创徏不用new了,可以自动的生产,q其实就是利用java里的反射 
    反射其实是在运行时动态的d建、调用对象,Spring是在运行时Q跟xml  Spring的配|?nbsp;文g来动态的创徏对象Q和调用对象里的Ҏ??/span>
     
    二、AOP(Aspect-Oriented Programming): 面向斚w~程 
    1?代理的两U方式: 
    静态代理: 
    ?针对每个具体cd别编写代理类Q?nbsp;
    ?针对一个接口编写一个代理类Q?nbsp;
    动态代理: 
    针对一个方面编写一个InvocationHandlerQ然后借用JDK反射包中的ProxycMؓ各种接口动态生成相应的代理c?nbsp;
    2?AOP的主要原理:动态代?nbsp;

    另一个核心就是AOP
    q个是面向切面~程Q可以ؓ某一cd?q行监督和控Ӟ也就是在调用q类对象的具体方法的前后去调用你指定?模块Q从而达到对一个模块扩充的功能。这些都是通过配置c达到的?nbsp;
    Spring目的Q就是让对象与对象(模块与模块)之间的关pL有通过代码来关联,都是通过配置c说?nbsp;
    理的(SpringҎq些配置 内部通过反射d态的l装对象Q?nbsp;
    要记?/strong>QSpring是一个容器,凡是在容器里的对象才会有Spring所提供的这些服务和功能?nbsp;
    Spring里用的最l典的一个设计模式就是:模板Ҏ模式?nbsp; Spring里的配置是很多的Q很NCQ但是Spring里的_֍也无非就是以上的两点Q把以上两点跟理解了 
    也就基本上掌握了Spring. 

     
    三?/span>spring原理 
                    spring的最大作?/span>ioc/di,类与类的依赖关pd在配|文件中Q?/span>
                    E序在运行时Ҏ配置文g动态加载依赖的c,降低的类与类之间
                    的藕合度。它的原理是?/span>applicationContext.xml加入bean标记,
                    ?/span>bean标记中通过class属性说明具体类名、通过property标签说明
                    该类的属性名、通过constructor-args说明构造子的参数。其一切都?/span>
                    q射Q当通过applicationContext.getBean("id名称")得到一个类实例Ӟ
                    是?/span>bean标签的类名、属性名、构造子的参Cؓ准,通过反射实例对象Q?/span>
                    唤v对象?/span>setҎ讄属性倹{通过构造子?/span>newInstance实例化得到对象?/span>
                    正因?/span>spring一切都是反,反射比直接调用的处理速度慢,所以这也是spring
                    的一个问题?/span>
                    springW二大作用就?/span>aopQ其机理来自于代理模式,代理模式
                    有三个角色分别是通用接口、代理、真实对?/span>
                    代理、真实对象实现的是同一接口Q将真实对象作ؓ
                    代理的一个属性,向客L公开的是代理Q当客户?/span>
                    调用代理的方法时Q代理找到真实对象,调用真实对象
                    ҎQ在调用之前之后提供相关的服务,如事务、安全?/span>
                    日志。其名词分别是代理、真实对象、装备、关切点、连接点?/span>
     
    四、动态代?/span>:
    不用写代理类Q虚拟机Ҏ真实对象实现的接口生一个类Q通过cd例化一个动态代理,在实例化动态代理时真实对?/span>及装备注入到动态代理中Q向客户端公开的是动态代理,当客L调用动态代理方法时Q动态代理根据类的返得到真实对象的Method,调用装备?/span>invokeҎQ将动态代理?/span>Method、方法参C与装备的invokeҎQ?/span>invokeҎ在唤?/span>methodҎ前或后做一些处理?/span>     
                        1、生动态代理的c?/span>:
                                java.lang.refect.Proxy
                        2、装备必d?/span>InvocationHandler接口实现invokeҎ
    五、反:
    什么是cȝq射?
    通过c说明可以得到类的父cR实现的接口、内部类、构造函数、方法、属?/span>q可以根据构造器实例化一个对象,唤v一个方法,取属性|改属性倹{?/span>
    如何得到一个类说明?
      Class cls=c?/span>.class;
      Class cls=对象.getClass();
      Class.forName("c\?/span>");
    如何得到一个方法ƈ唤v?/span>?
      Class cls=c?/span>.class;
       Constructor cons=cls.getConstructor(new Class[]{String.class});
       Object obj=cons.newInstance(new Object[]{"aaa"});
        Method method=cls.getMethod("Ҏ?/span>",new Class[]{String.class,Integer.class});
                            method.invoke(obj,new Object[]{"aa",new Integer(1)}); 
    六?/span>spring的三U注入方?/span>
           setter
           interface
           constructor
    七?/span>spring的核心接口及核类配置文g
            FactoryBean:工厂bean主要实现ioc/di
                   
                    ApplicationContext ac=new FileXmlApplicationContext("applicationContext.xml");
                    Object obj=ac.getBean("id?/span>");
                   
                    applicationContext.xml


    ]]>
    Spring原理http://www.tkk7.com/qiubite520/articles/380687.html丘比?/dc:creator>丘比?/author>Wed, 13 Jun 2012 06:32:00 GMThttp://www.tkk7.com/qiubite520/articles/380687.htmlhttp://www.tkk7.com/qiubite520/comments/380687.htmlhttp://www.tkk7.com/qiubite520/articles/380687.html#Feedback0http://www.tkk7.com/qiubite520/comments/commentRss/380687.htmlhttp://www.tkk7.com/qiubite520/services/trackbacks/380687.html
      EJB的框枉用了一UR略?Invasive)的方法来设计对象Q它要求你在设计中加入符合EJB规范的代码。一些轻量的COP框架Q例如AvalonQ也要求对象设计时必ȝ合某U规范,例如Serviceable接口Q这U做法是典型的Type 1做法?br />
      q种设计思\要求Spring采用一U动态的、灵zȝ方式来设计框架。在Spring的工作原理中大量采用了反。首先Spring要解决的一个问题就是如何管理bean。因为IOC的思想要求bean之间不能够直接调用,而应该采用一U被动的方式q行协作。所以bean的管理是Spring工作原理中的核心部分?br />
      反射和内省在代码的层ơ上思考问题,有时候能够带来出人意料的灉|性。但它的使用有时候也是一个哲学问题,不论是在ORM设计q是在AOP设计上都出现了类似的问题-I竟是用反,q是使用代码生成?br />
      在Spring中,处理q个问题的核心是在org.springframework.beans包中。而其中最为核心的部分Q则是BeanWrapper。BeanWrapperQ顾名思义Q就是bean的包装器。所以,它的主要工作Q就是对M一个beanQ进行属?包括内嵌属?的设|和Ҏ的调用。在

      BeanWrapper的默认实现类BeanWrapperImpl中,虽然代码较长Q但完成的工作却是非常的集中的?br />
      BeanWrapper的深入研I?br />
      我们看看q个BeanWrapper是如何发挥运作的Q假设我们有两个beanQ?br />
      public class Company {  private String name;  private Employee managingDirector;  public String getName() { return this.name;  }  public void setName(String name) { this.name = name;  }  public Employee getManagingDirector() { return this.managingDirector;  }  public void setManagingDirector(Employee managingDirector) { this.managingDirector = managingDirector;  } } public class Employee {  private float salary;  public float getSalary() { return salary;  }  public void setSalary(float salary) { this.salary = salary;  } }

      然后我们使用BeanWrapper来调用这两个beanQ?br />
      Company c = new Company(); BeanWrapper bwComp = BeanWrapperImpl(c); // setting the company name... bwComp.setPropertyValue("name", "Some Company Inc."); // ... can also be done like this: PropertyValue v = new PropertyValue("name", "Some Company Inc."); bwComp.setPropertyValue(v); // ok, lets create the director and tie it to the company: Employee jim = new Employee(); BeanWrapper bwJim = BeanWrapperImpl(jim); bwJim.setPropertyValue("name", "Jim Stravinsky"); bwComp.setPropertyValue("managingDirector", jim); // retrieving the salary of the managingDirector through the company Float salary = (Float)bwComp.getPropertyValue("managingDirector.salary");

      看v来麻烦了许多Q但是这样Spring可以用统一的方式来理bean的属性了?br />
      Bean的制造工?br />
      有了对单个Bean的包装,q需要对多个的beanq行理。在spring中,把beanU_C个核心库中进行管理。bean的生产有两种ҎQ一U是一个bean产生多个实例Q一U是一个bean只生一个实例。如果对设计模式熟悉的话Q我们就会想刎ͼ前者可以采用PrototypeQ后者可以采用Singleton?br />
      注意刎ͼ反射技术的使用使得我们不再像原始的工厂Ҏ模式那样创徏对象。反可以非常灵zȝҎcȝ名称创徏一个对象。所以spring只用了Prototype和Singletonq两个基本的模式?br />
      Spring正是q样处理的,但是我们希望用户能够l护l一的接口,而不需要关心当前的bean到底是Prototype产生的独立的beanQ还是Singleton产生的共享的bean。所以,在org.springframework.beans.factory包中的BeanFactory定义了统一的getBeanҎ?br />
      JDBC再封装JDBC优雅的封装了底层的数据库Q但是JDBC仍然存在诸多的不变。你需要编写大量的代码来完成CRUD操作Q而且QJDBC无论是遇C么样的问题,都抛Z个SQLExceptionQ这U做法在异常使用上被UCؓ不完备的信息。因为问题可能是很复杂的Q也许是数据库连接的问题Q也许是q发控制的问题,也许只是SQL语句出错。没有理q一个简单的SQLException搞定全部的问题了,q种做法有些不负责Q。针对这两个问题QSpring Framework提出了两U解x法:首先Q提供一个框Ӟ把JDBC应用中的获取q接、异常处理、释攄比较通用的操作全部都集中hQ用户只需要提供特定的实现OK了。实现的具体l节采用的是模板Ҏ。D个例子,在org.springframework.jdbc.object包中QMappingSqlQuerycdCSQL查询映射为具体的业务对象。JavaDoc中这样写刎ͼReusable query in which concrete subclasses must implement the abstract mapRow(ResultSet, int) method to convert each row of the JDBC ResultSet into an object. 用户必须实现mapRowҎQ这是典型模板方法的应用。我们拿一个具体的例子来看看:

      class UserQuery extends MappingSqlQuery {  public UserQuery(DataSource datasource) { super(datasource, "SELECT * FROM PUB_USER_ADDRESS WHERE USER_ID = ?"); declareParameter(new SqlParameter(Types.NUMERIC)); compile();  }  // Map a result set row to a Java object  protected Object mapRow(ResultSet rs, int rownum) throws SQLException { User user = new User(); user.setId(rs.getLong("USER_ID")); user.setForename(rs.getString("FORENAME")); return user;  }  public User findUser(long id) { // Use superclass convenience method to provide strong typing return (User) findObject(id);  } }

      其次是第二个问题Q最ȝ的地方应该说是需要截住JDBC的异常,然后判断异常的类型,q新抛出异常。错误的问题可以通过q接来获取,所以麻烦的是如何截获异常。Spring 框架采用的方法是回调Q处理回调的cdSpring Framework中被UCؓtemplate ?br />
      JdbcTemplate template = new JdbcTemplate(dataSource); final List names = new LinkedList(); template.query("SELECT USER.NAME FROM USER", new RowCallbackHandler() {  public void processRow(ResultSet rs) throws SQLException { names.add(rs.getString(1));  } });

      回调函数是一个匿名类Q其中也使用了模板方法,异常的处理都在父cM完成了?br />
      层间松耦合

      在开放源码界已经出现了大量的ZMVC的Web容器Q但是这些容器都仅限于Web的范?Q不涉及Web层次后端的连接,Spring作ؓ一个整体性的框架Q定义了一UWeb层和后端业务层的q接方式Q?q个思\仍然疏运图MVC的范_但耦合更松散,不依赖于具体的集成层ơ?br />
      public class GoogleSearchController implements Controller {  private IGoogleSearchPort google;  private String googleKey;  public void setGoogle(IGoogleSearchPort google) { this.google = google;  }  public void setGoogleKey(String googleKey) { this.googleKey = googleKey;  }  public ModelAndView handleRequest( HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  String query = request.getParameter("query");  GoogleSearchResult result =  // Google property definitions omitted...  // Use google business object  google.doGoogleSearch(this.googleKey, query,start, maxResults, filter, r estrict, safeSearch, lr, ie, oe);  return new ModelAndView("googleResults", "result", result); }  }

      回调函数是一个匿名类Q其中也使用了模板方法,异常的处理都在父cM完成了?br />2.Spring是一个开源框Ӟ它由Rod Johnson创徏。它是ؓ了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从单性、可试性和松耦合的角度而言QQ何Java应用都可以从Spring中受益?
    • 目的Q解决企业应用开发的复杂?
    • 功能Q用基本的JavaBean代替EJBQƈ提供了更多的企业应用功能
    • 范围QQ何Java应用 单来_Spring是一个轻量的控制反?IoC)和面向切?AOP)的容器框架?
    轻量——从大与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大只?MB多的JAR文g里发布。ƈ且Spring所需的处理开销也是微不道的。此外,Spring是非侵入式的Q典型地QSpring应用中的对象不依赖于Spring的特定类?控制反{——Spring通过一U称作控制反转(IoCQ的技术促q了松耦合。当应用了IoCQ一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认ؓIoC与JNDI相反——不是对象从容器中查找依赖Q而是容器在对象初始化时不{对象请求就d依赖传递给它?面向切面——Spring提供了面向切面编E的丰富支持Q允讔R过分离应用的业务逻辑与系l服务Q例如审计(auditingQ和事务Q)理Q进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们ƈ不负责(甚至是意识)其它的系lx点,例如日志或事务支持?容器——Spring包含q管理应用对象的配置和生命周期,在这个意义上它是一U容器,你可以配|你的每个bean如何被创?#8212;—Z一个可配置原型QprototypeQ,你的bean可以创徏一个单独的实例或者每ơ需要时都生成一个新的实?#8212;—以及它们是如何相互关联的。然而,Spring不应该被混同于传l的重量U的EJB容器Q它们经常是庞大与笨重的Q难以用?框架——Spring可以简单的lg配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文g里。Spring也提供了很多基础功能Q事务管理、持久化框架集成{等Q,应用逻辑的开发留l了你?所有Spring的这些特征你能够编写更q净、更可管理、ƈ且更易于试的代码。它们也为Spring中的各种模块提供了基支持?

    ]]>
    վ֩ģ壺 ٸԼA| 99þù뾫Ʒ| ղĻ| 9420ѸƵ| һ߹ۿ | ɫ˵| ڵƷƵ| ɫѹۿ| ˳77777߲վ| ҹ޸˾| þùɫAVѿ| ۺϾþ| AVһ| ĻȫƵ| ˳Ƶ69| ޾Ʒ㶮| ۺС˵| ĻӰԺ| 18δֹѹۿ| һaƬþ| ŷaԴ| þþ޾Ʒ| Ļ߾ƷƵѹۿ| ƵѲ| ߹ۿavվ| ַ߹ۿ| ͼƬ߹ۿ| þþþavëƬ| ҹɫƵվ| ƵѲ| ѹۿ߽Ƭ| gogo߹ۿ| AV뾫Ʒ| ޹Ʒþþ| ޾ƷƬþ| ߹ۿ㶮| ѹۿɫƬ| ĻƵ| þw5www| ѲձƬ| һѸ|