Thisisageneralstepthathappenswhenm2e/m2eclipse(MavenintegrationforEclipse)isinstalled,whetherprojectsareactivelyusingitornot.这是因为m2eclipse(maven插件)要在启动时需要进行的一个步骤。
ThisstepcanbedisabledthroughtheEclipsepreferences:Window/Preferences/Maven/"Downloadrepositoryindexupdatesonstartup".Thisoptionisonthemain"Maven"preferencepage(notachildpage).Justunchecktheboxtopreventthisfromhappening.我们可以停止这个动作。方法:Windows->Preferences->Maven取消勾选Downloadrepositoryindexupdatesonstartup
后来才知道这是因为数据库中有个别字段要求不能为空,但是insert语句中没有提供数据,造成了这个错误。
关键是错误信息不明确直观,不容易知道是这个原因
Mostlikelyyoudon'thavetheunlimitedstrengthfileinstallednow.
Youmayneedtodownloadthisfile:
Installthefilein${java.home}/jre/lib/security/.
1.Shutdowntheworkspace.
2.Deletethefilecom.genuitec.eclipse.ast.deploy.core.prefswhichislocatedat
3.StarttheIDE.
定义是:要求在正常观看距离下,足以使人肉眼无法分辨其中的单独像素。因此它并没有限定像素值多少。
4K就是水平方向每一行的像素值达到或是接近1024的4倍,8K就是达到或接近8倍。
以此为标准,4K一般图像就是指4096*2160的分辨率。当然,这也不是硬性要求,像市场上很多4K屏幕其实是3840*2160或是3656*2664,这些都是4K图像分辨率的范畴。
答:不一定,二者不能平行比较。
因为4K和8K是限定了像素点的多少,而Retina是要求正常距离看不到像素点。
WhenusingdatabaseURLslikejdbc:h2:~/test,thedatabaseisstoredintheuserdirectory.ForWindows,thisisusuallyC:\DocumentsandSettings\
Bug
Improvement
这是mybatis从ibatis更名过来后,发布的第2个版本(第1个版本是3.0.1)。在这个版本中只修复了4个bug(感觉数目有点少,难道是因为上一个版本的bug真的如此之少),增加了一个小功能.作者的话:尽管只有5个修改,但我还是觉得值得为此发布一个新版本。这5个修改是:1、在org.apache.ibatis.Session中增加了一个新方法:voidselect(Stringstatement,ResultHandlerhandler);原来只有:voidselect(Stringstatement,Objectparameter,ResultHandlerhandler);voidselect(Stringstatement,Objectparameter,RowBoundsrowBounds,ResultHandlerhandler);
2、修复了ManagedConnection中关闭连接的问题3、修复了schemamigration中,语句提交(statementcommit)不正确的问题4、修复了延迟加载已经预读取属性时的问题5、修复了schemamigration中,FileInputStream没有正确关闭的问题
jquery有一个很方便的插件UITableFilter可以根据输入的内容隐藏显示表格中相应的数据行。因为目前使用的tapestry捆绑的是prototype,所以就自己写了一个类似的插件。
CardLayout布局管理器能够帮助用户处理两个以至更多的成员共享同一显示空间,它把容器分成许多层,每层的显示空间占据整个容器的大小,但是每层只允许放置一个组件,当然每层都可以利用Panel来实现复杂的用户界面.布局管理器(CardLayout)就象一副叠得整整齐齐的扑克牌一样,有54张牌,但是你只能看见最上面的一张牌,每一张牌就相当于布局管理器中的每一层.
流式布局管理器把容器看成一个行集,好象平时在一张纸上写字一样,一行写满就换下一行。行高是用一行中的控件高度决定的。FlowLayout是所有JApplet/JApplet的默认布局。在生成流式布局时能够指定显示的对齐方式,默认情况下是居中(FlowLayout.CENTER)
GridLayout将成员按网格型排列,每个成员尽可能地占据网格的空间,每个网格也同样尽可能地占据空间,从而各个成员按一定的大小比例放置。如果你改变大小,GridLayout将相应地改变每个网格的大小,以使各个网格尽可能地大,占据Container容器全部的空间。基本布局策略是把容器的空间划分成若干行乘若干列的网格区域,组件就位于这些划分出来的小区域中,所有的区域大小一样。组件按从左到右,从上到下的方法加入。
BoxLayout布局能够允许将控件按照X轴(从左到右)或者Y轴(从上到下)方向来摆放,而且沿着主轴能够设置不同尺寸。
HTTP,HypertextTransferProtocol,isthemethodbywhichclients(i.e.you)andserverscommunicate.Whensomeoneclicksalink,typesinaURLorsubmitsoutaform,theirbrowsersendsarequesttoaserverforinformation.Itmightbeaskingforapage,orsendingdata,buteitherway,thatiscalledanHTTPRequest.Whenaserverreceivesthatrequest,itsendsbackanHTTPResponse,withinformationfortheclient.Usually,thisisinvisible,thoughI'msureyou'veseenoneoftheverycommonResponsecodes-404,indicatingapagewasnotfound.Thereareafairfewmorestatuscodessentbyservers,andthefollowingisalistofthecurrentonesinHTTP1.1,alongwithanexplanationoftheirmeanings.
好像还有点问题
自定义prefix一般来说是3个步骤,1、定义一个BindingFactory,这个需要实现BindingFactory接口2、定义一个Binding继承AbstractBinding3、注册这个Binding
看一下具体的prefix的类:
1.先开始看SpringSide吧。主要看寒冬日志版3.2.1开始有的JMS演示和WebService演示
一直觉得EJB好像已经日薄西山了,但是实际上生命力还挺顽强的。另外,还有WebService,SOA这个概念还是有人相信的。所以,延伸项目有:JMS,MQ
privateList
在Input页面中,需要把onFormSubmit改一下:ObjectonFormSubmit(){List
其中,需要注意的是output中的onActivate方法,基参数的顺序必须和List中放入的参数顺序一致。
在上一篇中我们研究了如何实现SpringSecurity中JspTag的
这就是Filter的代码,这个Filter必须实现ComponentRequestFilter接口。值得注意的是其构造函数所需要用到的4个参数,这4个参数都是Tapestry5本身自有的服务,所以我们什么也不用做,Tapestry5自动会将服务的实例注入进来,这就是Tapestry-IOC的威力。ComponentRequestFilter接口一共有4个方法需要实现,具体代码如下:
现在我们需要把刚定义的Filter注册到系统中,很简单,只要在AppModule中添加以下函数就行了:
......
//ifusernameandpasswordisvalid:auth.setPrivliegeList(.....);
2.在需要权限控制的页面模板中:
*Object/XMLMapping(OXM):asknownfromSpringWebServices,nowinSpringFrameworkcore.MarshallingandUnmarshallerabstractionswithout-of-the-boxsupportforJAXB2,Castor,etc.ComeswithintegrationoptionsforXMLpayloadsinSpringMVCandSpringJMS.
根据前面的4部分内容,我们已经了解了Tapestry的基本概念,掌握了配置、组件等内容。现在我们通过剖析Tapestry的入门示例来对Tapestry进行一个总体上认识。1、web.xml
Thisisthestartpageforthisapplication,agoodplacetostartyourmodifications.Justtoprovethisislive:
Thecurrenttimeis:${currentTime}.
[
首先要注意在html的tag中加入了Tapestry的命名空间。第二、${currentTime}就是Tapestry的Tag了,这里就会调用对应class的getCurrentTime方法在页面上显示对应的值。第三、
3、需要的library:commons-codec.jarjavassist.jarlog4j.jarslf4j-api.jarslf4j-log4j.jartapestry5-annotations-5.1.0.5.jartapestry-core-5.1.0.5.jartapestry-ioc-5.1.0.5.jar
4、再加上一个log4j.properties,这就是一个最简单的tapestry应用所需要的全部东西了。怎么样,感觉还是挺简单的吧。
1,上网本所占份额很小
Google计划推出ChromeOS是基于对上网本需求强劲的预期,不过,虽然上网本很重要,但在PC销售中所占比重仍很小。
另外,Google可能还有个想法:对微软来说,他们需要靠出售操作系统获利,而对Google来说,可以免费贡献Chrome。然而,诸如Linux这样的免费操作系统已经存在多年,但Linux在操作系统市场仅占很小份额,约为1%。
ChromeOS主要还是依靠那些上网本用户,他们不需要特别的应用,因此能接受低价但又能提供相当功能的操作系统。
2,微软或许会拼命回击
想想,如果微软宣布2010年Windows7上网本版将免费提供,那还有多少人会用ChromeOS。至少从理论上来说,任何目前Google能做的事情,微软都能做得更好。
如果微软变得疯狂,任何事情都可能发生。多年来,微软的敌人一直是它自己。像ChromeOS这样的外部刺激或许会帮助微软获得活力,就如免疫系统一样消灭入侵的外来威胁。
3,Google在云计算应用上缺少建树
目前,GoogleDocs算是Google推出的最好的云计算应用,其它的乏善可陈。而且,就GoogleDocs来说,仍有很多事情无法做到。如果偶尔使用,倒也不错,但作为完全替代的解决方案,无法满足要求。
4,Chrome并不是一个真正的操作系统
Google希望推出的ChromeOS对用户来说隐藏操作系统的影子,而直接提供方便易用的应用。但究竟有多少操作系统的功能会被牺牲掉?
而另外,如果Chrome越接近真正的操作系统,那它就更像Linux。而这又不是Google希望看到的。
5,兼容性问题
对硬件和软件兼容性问题的解决是微软能一直统治操作系统市场的原因之一。微软在通过推行标准解决兼容性问题的同时也成为垄断者。不过,消费者还是投了微软的票,因为他们不必再担心兼容性问题。
因此,ChromeOS对于那些可以说是一次性使用的上网本来说,或许有点用处,但对整个操作系统市场来说将是微不足道的一份子。
Tapestry5.1经过数个alpha,Beta版的非正式发布,今天终于在主页看到最终正式版5.1.0.5的发布。
//...getterandsetter}这里最重要的是Result里面params的写法,params后面的大括号中,奇数个字符串是key值,偶数个字符串是value值。其中,inputName的值-inputStream要和Class中的InputStream的属性名一致,而Result中的value的值也要与之一致。
1.Toolstosatisfyyourcalendar,contactmanagement,todolistandnotesneeds.2.SynchronizationwithOutlook,WindowsMobiledevices,Palm,iPOD,GoogleCalendar.3.Simpleprintoutofanyorallmodulesandquickexportofyourdataintothemostusefulformats(iCal,vCard,HTML).4.StrongdataprotectionusingAdvancedEncryptionStandard(AES)algorithm.5.IntuitiveinterfaceinmanylanguagesincludingGerman,Italian,FrenchandSpanish.
Andherearethenamedmasksprovidedbydefault(youcaneasilychangetheseoraddyourown):
Acoupleissues:
*我首先尝试使用JSF。一开始选择JSF的原因主要是:1、Stuts2自己提供了JSF的Plugin2、JSF是Sun作为标准提出,而且已经通过的。从Google的趋势搜索上也可以看出,搜索JSF的人在增多。3、JSF作为一种以组件为基础的WebFramework有其独到之处,其内建的和其他许多开源的组件使用起来相当方便、强大。当然,对于不同的应用来说也有不利之处(后面会提到),但是如果能够坚持长期使用,逐渐积累组件库的话,JSF是一个很好的选择。4、JSF的文档(或者说是书籍)还是比较多的。
*我的第二个选择是FreeMarker选择FreeMarker的原因是:1、FreeMarker是Struts2缺少的模板引擎,Struts2的标签大部分是使用FreeMarker的,使用FreeMarker的话,连Plugin都省去了。2、FreeMarker相对比较轻量级、因为他本身只是一个模板引擎,与JSF这样一个大而全的WebFramework相对,轻巧多了。3、FreeMarker的学习起来非常容易,只要把他网站上的Document过一遍,基本上就OK了。4、FreeMarker虽然体积小,功能还是相当强的,I18N,Converter之类的东西基本都全了,至少我所需要的功能全有。5、FreeMarker相当灵活,他不象JSF把底层的东西封装了以后,暴露出一些属性可以设置,如果你需要的属性不能设置,你就没有办法了。在FreeMarker你直接操作最底层的东西,拥有很大的灵活性。当然,牺牲了一些方便性,比如,要用FreeMarker生成一个下拉框,就需要较多的工作量了。
测试之后,使用FreeMarker的性能很不错,在大数据量操作的情况下,至少一个数量级的性能提升。
主要原因是freeMarker的值直接从action中取得的,所以避开了ognl的stackvalue.
*我的最终结论,如果要在Struts2中,展示或者操作大量数据,强烈推荐使用FreeMarker。
Jt2.7的部分部件的功能得到了增强,而且增加了一个Jt自动化向导。Jt向导一个在Jt框架上建起来的应用,能够自动生成应用的框架结构。Jt向导能够在设计模式(包括Jt消息、DAO,MVC,GoF)的基础上自动生成应用模块。目前Jt向导实现了与MVCStruts和DAOHibernate的集成。DAO的映射文件,Struts的配置文件,视图(JSPs),Java类都能够使用Jt向导来自动生成。具体的功能包括:
*实现了J2EE设计模式,包括J2EEbusinessdelegate,J2EESessionFacade,J2EEServiceLocator和J2EEValueObject。
*通过实现WebService适配器和代理集成WebService。JtmessagingAPI极大地简化了webservice的开发和部署。
*与businessprocessmodeling(BPM)的集成。Jt框架提供了一个jBPM的适配器。jBPM是一个BPM技术的开源实现。Jt应用现在可以使用流程图来模块化,这是一个非常好的模块化业务流程的方法。
*与MVC设计模式和Ajax的集成。统一化的Jt模块和适配器提供了Jt框架API和上述两种技术间的透明接口。业务逻辑可以由Jt框架模块或BPM业务流程来实现。
*与Hibernate的集成。Jt适配器提供了与Hibernate的透明接口。
*与JDBC的集成
*通过实现命令模式,支持Log,排队机制和操作的回退。
*与JavaMail的集成
*与EJB的集成。EJB客户端可以透明地存取远程框架对象。比EJB开发要简单的多。另外还实现了J2EEServiceLocator模式。
*方便的定制应用。主要通过配置文件完成:对象的属性可以从资源文件中加载。
*与JSP的集成
*通过XML适配器、助手、和内建的bean/XML映射与XMLAPI的集成
上面的JavaScript基本上是从dhtmlx的例子中修改而来,理解起来并不复杂,只有String.prototype._dhx_trim=function(){returnthis.replace(/ /g,"").replace(/(^[\t\n\r]*)|([\t\n\r]*$)/g,"");}这一段代码含义不明。三、Action
四、menu.jsp
最近,继续研究了Struts2性能的调优方法,总结了一下,得出新三步曲:
4.使用FreeMarker的最新版本2.3.13,因为在版本2.3.11中,FreeMarker针对性能进行了改进,以下是FreeMarker2.3.11的releasenotes:2.3.11Dateofrelease:2007-12-04Thisreleasecontainsseveralperformanceandusabilityimprovements.
其实,经过上面2个步骤,我并没有发现应用的性能有显著的改善,可能我的页面中从ValueStack中的存取操作并不是特别多,也不是特别的复杂,所以,Ognl对我的影响并不明显。
6.最后使用了JProfiler对Tomcat进行了监控,最后发现问题在自定义模板上,我将页面的自定义模板全部删除,果然页面的响应速度有了较大的提升。