??xml version="1.0" encoding="utf-8" standalone="yes"?>综合色中文字幕,综合毛片免费视频,综合激情网站http://www.aygfsteel.com/niuky/archive/2009/11/13/302185.htmlniukyniukyFri, 13 Nov 2009 03:38:00 GMThttp://www.aygfsteel.com/niuky/archive/2009/11/13/302185.htmlhttp://www.aygfsteel.com/niuky/comments/302185.htmlhttp://www.aygfsteel.com/niuky/archive/2009/11/13/302185.html#Feedback0http://www.aygfsteel.com/niuky/comments/commentRss/302185.htmlhttp://www.aygfsteel.com/niuky/services/trackbacks/302185.html
Subversion是SVN的服务端Q下载地址Q我下蝲的是svn-win32-1.6.5.zipQ只要解压就可以了?
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91

SVN客户端的下蝲地址Q?
http://tortoisesvn.net/downloads
TortoiseSVN 是一个客LE序Q用来与 subvers 服务器端通讯。Subversion 自带一个客LE序 svn.exe ,?TortoiseSVN 更好操作Q提高效率?


SVN服务端跟客户端下载好了,接下来就可以安装?
我的服务端是解压在D:/svn下,把SVN下bin的\径在Windows环境里配|一?Path指定为D:/svn/bin
接下来就q入命o?在运行里输入CMD,q入命o行后,输入以下命o:
sc create svn binpath= "D:\svn1.6.5\bin\svnserve.exe --service -r D:\svn" displayname= "Subversion Server" depend= Tcpip start= auto

q命令中的D:\svn1.6.5\bin\为服务端的\?D:\svn为存放SVN库的路径,以后所有的目都存攑֜q里。这PSVN׃lWindows服务理Q服务名为svn。每ơ启动电脑的时候就会自动启动SVN服务Q你也可以在Windows服务里更改启动设|,比如Q手动?

如果不想交给Windows服务理Q你也可以在命o行输入以下命令:
sc detele svn //删除名ؓsvn的服?

一旦定义了服务Q就可以使用标准GUI工具Q服务管理控刉板)q行停止、启动和查询Q或者是通过命o行:
net stop svn
net start svn



q行Subversion服务器需要首先要建立一个版本库QRepositoryQ。版本库可以看作是服务器上集中存攑֒理数据的地斏V?

开始徏立版本库。以之前建立的D:\svnI文件夹作ؓ所有版本库的根目录。然后,q入命o行输入如下命令:

svnadmin create d:\svn\repos1
此命令在 d:\svn 下徏立一个版本库 repos1 。repos1 下面会自动生成一些文件夹和文件?

我们也可以?TortoiseSVN 囑Ş化的完成q一步:

先徏立空目录 d:\svn\repos1 Q注意一定是要空的。然后在 repos1 文g夹上“右键->TortoiseSVN->Create Repository here...”Q然后可以选择版本库模式,q里使用默认的FSFS卛_Q然后就创徏了一pd文g夹和文gQ同命o行徏立的一栗?

如果subversion 服务q没有开启,需要启动SVN服务Q启动SVN服务的方法有多种Q没有没有交lWindows理Q可以在命o行中输入Q?
svnserve.exe --daemon --root d:\svn

如果交给Windows服务理Q可以在命oH口输入Q?
net start svn

然后在TortoiseSVN中的版本库浏览器URL输入为:svn://localhost/repo1卛_查看SVN里的文g?


下面是我们的数据Q项目)导入到这个版本库Q以后就q本库理我们的数据。我们的M改动都回被版本库记录下来Q甚x们自׃失、改错数据时版本库也能帮我们扑֛数据?

比如Q我?d:\wwwroot 下有?guestbook 文g夹,里面存放的是我编写的目。在此文件夹?ldquo;右键 -> TortoiseSVN -> Import...” Q在弹出对话框的“URL of repository”输入“svn://localhost/repos1/guestbook”。在“Import message”输入“导入整个留言?rdquo;作ؓ注释?
?OK 后要求输入帐受我们在用户名和密码处都输入 用户名跟密码Q如果没有设|就不要输入Q。完成后 guestbook 中的内容全部导入C svn://localhost/repo1/guestbook ?

我们看到?d:\svn\repo1 没有M变化Q连?guestbook 文g多w没有建立Q唯一的变化就是d:\svn\repo1定w变大了。实际上我们源guestbook中的内容已经导入 repo1 版本库了Q源 guestbook 文g夹可以删除了?

需要注意的是,q一步操作可以完全在另一台安装了 TortoiseSVN 的客h上进行。例如运行svnserve的主机的IP?33.96.121.22Q则URL部分输入的内容就?ldquo;svn://133.96.121.22/repo1/guestbook” ?



配置用户和权?

用文本编辑器打开d:\svn\repos1\conf目录Q修改svnserve.confQ?



# password-db = passwd
改ؓQ?

password-db = passwd
卛_掉前面的 # 注释W,注意前面不能有空根{?

然后修改同目录的passwd文gQ增加一个帐P



[users]
# harry = harryssecret
# sally = sallyssecret
增加帐号Q?

[users]
#harry = harryssecret
#sally = sallyssecret
test = test



基本操作程

1、取出(check outQ?

取出版本库到一个工作拷贝:

来到LI目录下Q比如在f分区建立一个空文g?f:\work ?ldquo;右键 -> SVN Checkout”。在“URL of repository”中输?ldquo;svn://localhost/repo1/guestbook”Q这h们就得到了一?guestbook 中内容的工作拯?

2、存入(check inQ?提交QcommitQ?

在工作拷贝中作出修改q提交:

?guestbook 工作拯中随便打开一个文Ӟ作出修改Q然?ldquo;右键 -> SVN Commit... ”。这h们就把修Ҏ交到了版本库Q版本库Ҏ情况存储我们提交的数据?

在修改过的文件上“右键 -> TortoiseSVN -> Show Log” Q可以看到对q个文g所有的提交。在不同?revision 条目?ldquo;右键 -> Compare with working copy”Q我们可以比较工作拷贝的文g和所?revision 版本的区别?



如果要与eclipse或myeclipse集成Q只M一个eclipse插g可以了。下面是插g的下载地址?
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 阅读全文
cdQ?/b>j2ee~程 查看评论
文章来源:http://hi.baidu.com/ninky/blog/item/f101d9395ca492f93b87cee6.html

niuky 2009-11-13 11:38 发表评论
]]>
[导入]Spring事务配置的五U方?/title><link>http://www.aygfsteel.com/niuky/archive/2009/11/13/302186.html</link><dc:creator>niuky</dc:creator><author>niuky</author><pubDate>Fri, 13 Nov 2009 03:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/niuky/archive/2009/11/13/302186.html</guid><wfw:comment>http://www.aygfsteel.com/niuky/comments/302186.html</wfw:comment><comments>http://www.aygfsteel.com/niuky/archive/2009/11/13/302186.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/niuky/comments/commentRss/302186.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/niuky/services/trackbacks/302186.html</trackback:ping><description><![CDATA[ 前段旉对Spring的事务配|做了比较深入的研究Q在此之间对Spring的事务配|虽说也配置q,但是一直没有一个清楚的认识。通过q次的学习发觉Spring的事务配|只要把思\理清Q还是比较好掌握的?<br> <br> ȝ如下Q?<br> <br> Spring配置文g中关于事务配|L׃个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式Q一般变化的只是代理机制q部分?<br> <br> DataSource、TransactionManagerq两部分只是会根据数据访问方式有所变化Q比如用Hibernateq行数据讉K ӞDataSource实际为SessionFactoryQTransactionManager的实Cؓ HibernateTransactionManager?<br> <span><img class="blogimg" border="0" src="http://hiphotos.baidu.com/foretribe/pic/item/03089ed2665a061f970a16ec.jpg" width="602" small="0"></span><br> <br> <br> Ҏ代理机制的不同,ȝ了五USpring事务的配|方式,配置文g如下Q?<p>    W一U方式:每个Bean都有一个代?/p> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"> <div id="wmqeeuq" class="tools">Java代码</div> </div> <ol class="dp-j"> <li><span><span><bean id=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span>    </span></span></li> <li><span>           <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.LocalSessionFactoryBean"</span><span>>    </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"configLocation"</span><span> value=</span><span id="wmqeeuq" class="string">"classpath:hibernate.cfg.xml"</span><span> />    </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"configurationClass"</span><span> value=</span><span id="wmqeeuq" class="string">"org.hibernate.cfg.AnnotationConfiguration"</span><span> />  </span></span></li> <li><span>    </bean>    </span></li> <li><span>  </span></li> <li><span>    <!-- 定义事务理器(声明式的事务Q?-->    </span></li> <li><span>    <bean id=<span id="wmqeeuq" class="string">"transactionManager"</span><span>  </span></span></li> <li><span>       <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.HibernateTransactionManager"</span><span>>  </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>    </bean>  </span></li> <li><span>     </span></li> <li><span>    <!-- 配置DAO -->  </span></li> <li><span>    <bean id=<span id="wmqeeuq" class="string">"userDaoTarget"</span><span> </span><span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"com.bluesky.spring.dao.UserDaoImpl"</span><span>>  </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>    </bean>  </span></li> <li><span>     </span></li> <li><span>    <bean id=<span id="wmqeeuq" class="string">"userDao"</span><span>    </span></span></li> <li><span>       <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.transaction.interceptor.TransactionProxyFactoryBean"</span><span>>    </span></span></li> <li><span>           <!-- 配置事务理?-->    </span></li> <li><span>           <property name=<span id="wmqeeuq" class="string">"transactionManager"</span><span> ref=</span><span id="wmqeeuq" class="string">"transactionManager"</span><span> />       </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"target"</span><span> ref=</span><span id="wmqeeuq" class="string">"userDaoTarget"</span><span> />    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"proxyInterfaces"</span><span> value=</span><span id="wmqeeuq" class="string">"com.bluesky.spring.dao.GeneratorDao"</span><span> />  </span></span></li> <li><span>        <!-- 配置事务属?-->    </span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"transactionAttributes"</span><span>>    </span></span></li> <li><span>            <props>    </span></li> <li><span>                <prop key=<span id="wmqeeuq" class="string">"*"</span><span>>PROPAGATION_REQUIRED</prop>  </span></span></li> <li><span>            </props>    </span></li> <li><span>        </property>    </span></li> <li><span>    </bean>    </span></li> <li><span>lt;/beans>  </span></li> </ol> </div> <pre style="display: none" class="java" name="code"><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务理器(声明式的事务Q?--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置DAO --> <bean id="userDaoTarget" class="com.bluesky.spring.dao.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="userDao" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置事务理?--> <property name="transactionManager" ref="transactionManager" /> <property name="target" ref="userDaoTarget" /> <property name="proxyInterfaces" value="com.bluesky.spring.dao.GeneratorDao" /> <!-- 配置事务属?--> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> </beans></pre> <p>W二U方式:所有Bean׃n一个代理基c?/p> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"> <div id="wmqeeuq" class="tools">Java代码</div> </div> <ol class="dp-j"> <li><span><span><bean id=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span>    </span></span></li> <li><span>            <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.LocalSessionFactoryBean"</span><span>>    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"configLocation"</span><span> value=</span><span id="wmqeeuq" class="string">"classpath:hibernate.cfg.xml"</span><span> />    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"configurationClass"</span><span> value=</span><span id="wmqeeuq" class="string">"org.hibernate.cfg.AnnotationConfiguration"</span><span> />  </span></span></li> <li><span>     </bean>    </span></li> <li><span>  </span></li> <li><span>     <!-- 定义事务理器(声明式的事务Q?-->    </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"transactionManager"</span><span>  </span></span></li> <li><span>        <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.HibernateTransactionManager"</span><span>>  </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>     </bean>  </span></li> <li><span>      </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"transactionBase"</span><span>    </span></span></li> <li><span>            <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.transaction.interceptor.TransactionProxyFactoryBean"</span><span>    </span></span></li> <li><span>             lazy-init=<span id="wmqeeuq" class="string">"true"</span><span> </span><span id="wmqeeuq" class="keyword">abstract</span><span>=</span><span id="wmqeeuq" class="string">"true"</span><span>>    </span></span></li> <li><span>         <!-- 配置事务理?-->    </span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"transactionManager"</span><span> ref=</span><span id="wmqeeuq" class="string">"transactionManager"</span><span> />    </span></span></li> <li><span>         <!-- 配置事务属?-->    </span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"transactionAttributes"</span><span>>    </span></span></li> <li><span>             <props>    </span></li> <li><span>                 <prop key=<span id="wmqeeuq" class="string">"*"</span><span>>PROPAGATION_REQUIRED</prop>    </span></span></li> <li><span>             </props>    </span></li> <li><span>         </property>    </span></li> <li><span>     </bean>      </span></li> <li><span>     </span></li> <li><span>     <!-- 配置DAO -->  </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"userDaoTarget"</span><span> </span><span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"com.bluesky.spring.dao.UserDaoImpl"</span><span>>  </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>     </bean>  </span></li> <li><span>      </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"userDao"</span><span> parent=</span><span id="wmqeeuq" class="string">"transactionBase"</span><span> >    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"target"</span><span> ref=</span><span id="wmqeeuq" class="string">"userDaoTarget"</span><span> />     </span></span></li> <li><span>     </bean>  </span></li> <li><span></beans> <br> </span></li> </ol> </div> <br> <p>W三U方式:使用拦截?/p> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"> <div id="wmqeeuq" class="tools">Java代码</div> </div> <ol class="dp-j"> <li><span><span><bean id=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span>    </span></span></li> <li><span>            <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.LocalSessionFactoryBean"</span><span>>    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"configLocation"</span><span> value=</span><span id="wmqeeuq" class="string">"classpath:hibernate.cfg.xml"</span><span> />    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"configurationClass"</span><span> value=</span><span id="wmqeeuq" class="string">"org.hibernate.cfg.AnnotationConfiguration"</span><span> />  </span></span></li> <li><span>     </bean>    </span></li> <li><span>  </span></li> <li><span>     <!-- 定义事务理器(声明式的事务Q?-->    </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"transactionManager"</span><span>  </span></span></li> <li><span>        <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.HibernateTransactionManager"</span><span>>  </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>     </bean>   </span></li> <li><span>     </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"transactionInterceptor"</span><span>    </span></span></li> <li><span>        <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.transaction.interceptor.TransactionInterceptor"</span><span>>    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"transactionManager"</span><span> ref=</span><span id="wmqeeuq" class="string">"transactionManager"</span><span> />    </span></span></li> <li><span>         <!-- 配置事务属?-->    </span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"transactionAttributes"</span><span>>    </span></span></li> <li><span>             <props>    </span></li> <li><span>                 <prop key=<span id="wmqeeuq" class="string">"*"</span><span>>PROPAGATION_REQUIRED</prop>    </span></span></li> <li><span>             </props>    </span></li> <li><span>         </property>    </span></li> <li><span>     </bean>  </span></li> <li><span>        </span></li> <li><span>     <bean <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"</span><span>>    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"beanNames"</span><span>>    </span></span></li> <li><span>             <list>    </span></li> <li><span>                 <value>*Dao</value>  </span></li> <li><span>             </list>    </span></li> <li><span>         </property>    </span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"interceptorNames"</span><span>>    </span></span></li> <li><span>             <list>    </span></li> <li><span>                 <value>transactionInterceptor</value>    </span></li> <li><span>             </list>    </span></li> <li><span>         </property>    </span></li> <li><span>     </bean>    </span></li> <li><span>    </span></li> <li><span>     <!-- 配置DAO -->  </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"userDao"</span><span> </span><span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"com.bluesky.spring.dao.UserDaoImpl"</span><span>>  </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>     </bean>  </span></li> <li><span></beans>  </span></li> </ol> </div> <pre style="display: none" class="java" name="code"><bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务理器(声明式的事务Q?--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <property name="transactionManager" ref="transactionManager" /> <!-- 配置事务属?--> <property name="transactionAttributes"> <props> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property> </bean> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> <value>*Dao</value> </list> </property> <property name="interceptorNames"> <list> <value>transactionInterceptor</value> </list> </property> </bean> <!-- 配置DAO --> <bean id="userDao" class="com.bluesky.spring.dao.UserDaoImpl"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans></pre> <p>W四U方式:使用tx标签配置的拦截器</p> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"> <div id="wmqeeuq" class="tools">Java代码</div> </div> <ol class="dp-j"> <li><span><span><context:annotation-config />  </span></span></li> <li><span>    <context:component-scan base-<span id="wmqeeuq" class="keyword">package</span><span>=</span><span id="wmqeeuq" class="string">"com.bluesky"</span><span> />  </span></span></li> <li><span>  </span></li> <li><span>    <bean id=<span id="wmqeeuq" class="string">"sessionFactory"</span><span>    </span></span></li> <li><span>           <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.LocalSessionFactoryBean"</span><span>>    </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"configLocation"</span><span> value=</span><span id="wmqeeuq" class="string">"classpath:hibernate.cfg.xml"</span><span> />    </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"configurationClass"</span><span> value=</span><span id="wmqeeuq" class="string">"org.hibernate.cfg.AnnotationConfiguration"</span><span> />  </span></span></li> <li><span>    </bean>    </span></li> <li><span>  </span></li> <li><span>    <!-- 定义事务理器(声明式的事务Q?-->    </span></li> <li><span>    <bean id=<span id="wmqeeuq" class="string">"transactionManager"</span><span>  </span></span></li> <li><span>       <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.HibernateTransactionManager"</span><span>>  </span></span></li> <li><span>        <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>    </bean>  </span></li> <li><span>  </span></li> <li><span>    <tx:advice id=<span id="wmqeeuq" class="string">"txAdvice"</span><span> transaction-manager=</span><span id="wmqeeuq" class="string">"transactionManager"</span><span>>  </span></span></li> <li><span>        <tx:attributes>  </span></li> <li><span>            <tx:method name=<span id="wmqeeuq" class="string">"*"</span><span> propagation=</span><span id="wmqeeuq" class="string">"REQUIRED"</span><span> />  </span></span></li> <li><span>        </tx:attributes>  </span></li> <li><span>    </tx:advice>  </span></li> <li><span>     </span></li> <li><span>    <aop:config>  </span></li> <li><span>        <aop:pointcut id=<span id="wmqeeuq" class="string">"interceptorPointCuts"</span><span>  </span></span></li> <li><span>            expression=<span id="wmqeeuq" class="string">"execution(* com.bluesky.spring.dao.*.*(..))"</span><span> />  </span></span></li> <li><span>        <aop:advisor advice-ref=<span id="wmqeeuq" class="string">"txAdvice"</span><span>  </span></span></li> <li><span>            pointcut-ref=<span id="wmqeeuq" class="string">"interceptorPointCuts"</span><span> />          </span></span></li> <li><span>    </aop:config>        </span></li> <li><span></beans> <br> </span></li> </ol> </div> <pre style="display: none" class="java" name="code"><context:annotation-config /> <context:component-scan base-package="com.bluesky" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务理器(声明式的事务Q?--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="*" propagation="REQUIRED" /> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="interceptorPointCuts" expression="execution(* com.bluesky.spring.dao.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="interceptorPointCuts" /> </aop:config> </beans></pre> <p>W五U方式:全注?/p> <div id="wmqeeuq" class="dp-highlighter"> <div id="wmqeeuq" class="bar"> <div id="wmqeeuq" class="tools">Java代码</div> </div> <ol class="dp-j"> <li><span><span><context:annotation-config />  </span></span></li> <li><span>     <context:component-scan base-<span id="wmqeeuq" class="keyword">package</span><span>=</span><span id="wmqeeuq" class="string">"com.bluesky"</span><span> />  </span></span></li> <li><span>  </span></li> <li><span>     <tx:annotation-driven transaction-manager=<span id="wmqeeuq" class="string">"transactionManager"</span><span>/>  </span></span></li> <li><span>  </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"sessionFactory"</span><span>    </span></span></li> <li><span>            <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.LocalSessionFactoryBean"</span><span>>    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"configLocation"</span><span> value=</span><span id="wmqeeuq" class="string">"classpath:hibernate.cfg.xml"</span><span> />    </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"configurationClass"</span><span> value=</span><span id="wmqeeuq" class="string">"org.hibernate.cfg.AnnotationConfiguration"</span><span> />  </span></span></li> <li><span>     </bean>    </span></li> <li><span>  </span></li> <li><span>     <!-- 定义事务理器(声明式的事务Q?-->    </span></li> <li><span>     <bean id=<span id="wmqeeuq" class="string">"transactionManager"</span><span>  </span></span></li> <li><span>        <span id="wmqeeuq" class="keyword">class</span><span>=</span><span id="wmqeeuq" class="string">"org.springframework.orm.hibernate3.HibernateTransactionManager"</span><span>>  </span></span></li> <li><span>         <property name=<span id="wmqeeuq" class="string">"sessionFactory"</span><span> ref=</span><span id="wmqeeuq" class="string">"sessionFactory"</span><span> />  </span></span></li> <li><span>     </bean>  </span></li> <li><span>      </span></li> <li><span></beans>  </span></li> </ol> </div> <pre style="display: none" class="java" name="code"><context:annotation-config /> <context:component-scan base-package="com.bluesky" /> <tx:annotation-driven transaction-manager="transactionManager"/> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="configLocation" value="classpath:hibernate.cfg.xml" /> <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" /> </bean> <!-- 定义事务理器(声明式的事务Q?--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans></pre> <p>此时在DAO上需加上@Transactional注解Q如下:</p> <div id="wmqeeuq" class="bar"> <div id="wmqeeuq" class="tools">Java代码</div> </div> <ol class="dp-j"> <li><span><span id="wmqeeuq" class="keyword">package</span><span> com.bluesky.spring.dao;  </span></span></li> <li><span>  </span></li> <li><span><span id="wmqeeuq" class="keyword">import</span><span> java.util.List;  </span></span></li> <li><span>  </span></li> <li><span><span id="wmqeeuq" class="keyword">import</span><span> org.hibernate.SessionFactory;  </span></span></li> <li><span><span id="wmqeeuq" class="keyword">import</span><span> org.springframework.beans.factory.annotation.Autowired;  </span></span></li> <li><span><span id="wmqeeuq" class="keyword">import</span><span> org.springframework.orm.hibernate3.support.HibernateDaoSupport;  </span></span></li> <li><span><span id="wmqeeuq" class="keyword">import</span><span> org.springframework.stereotype.Component;  </span></span></li> <li><span>  </span></li> <li><span><span id="wmqeeuq" class="keyword">import</span><span> com.bluesky.spring.domain.User;  </span></span></li> <li><span>  </span></li> <li><span><span id="wmqeeuq" class="annotation">@Transactional</span><span>  </span></span></li> <li><span><span id="wmqeeuq" class="annotation">@Component</span><span>(</span><span id="wmqeeuq" class="string">"userDao"</span><span>)  </span></span></li> <li><span><span id="wmqeeuq" class="keyword">public</span><span> </span><span id="wmqeeuq" class="keyword">class</span><span> UserDaoImpl </span><span id="wmqeeuq" class="keyword">extends</span><span> HibernateDaoSupport </span><span id="wmqeeuq" class="keyword">implements</span><span> UserDao {  </span></span></li> <li><span>  </span></li> <li><span>    <span id="wmqeeuq" class="keyword">public</span><span> List<User> listUsers() {  </span></span></li> <li><span>        <span id="wmqeeuq" class="keyword">return</span><span> </span><span id="wmqeeuq" class="keyword">this</span><span>.getSession().createQuery(</span><span id="wmqeeuq" class="string">"from User"</span><span>).list();  </span></span></li> <li><span>     }  </span></li> <li><span>      </span></li> <li><span>      </span></li> <li><span>} </span></li> </ol> <a >阅读全文</a> <br/><b>cdQ?/b><a >j2ee~程</a> <a >查看评论</a><br>文章来源:<a >http://hi.baidu.com/ninky/blog/item/d60da5ecece8982e63d09fbc.html</a><img src ="http://www.aygfsteel.com/niuky/aggbug/302186.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/niuky/" target="_blank">niuky</a> 2009-11-13 11:38 <a href="http://www.aygfsteel.com/niuky/archive/2009/11/13/302186.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]spring mail发送邮仉?/title><link>http://www.aygfsteel.com/niuky/archive/2009/11/13/302187.html</link><dc:creator>niuky</dc:creator><author>niuky</author><pubDate>Fri, 13 Nov 2009 03:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/niuky/archive/2009/11/13/302187.html</guid><wfw:comment>http://www.aygfsteel.com/niuky/comments/302187.html</wfw:comment><comments>http://www.aygfsteel.com/niuky/archive/2009/11/13/302187.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/niuky/comments/commentRss/302187.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/niuky/services/trackbacks/302187.html</trackback:ping><description><![CDATA[ <p>用myEclipse在进行javamailE序开发的时候,在准备阶D就遇到问题Q导入了所需的jar包之后运行时可出C下的错误:<br> Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream<br> 原因是jar包版本不l一,解决Ҏ如下:</p> <p>删除Java EE 5 Libraries/javaee.jar/mail里的包有东西.</p> <p>具体Ҏ如下:<br> 用rar打开X:/Program Files/MyEclipse 6.0/myeclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_6.0.1.zmyeclipse601200710/data/libraryset/EE_5/javaee.jar<br> ,然后删除mail,ok?</p> <p>psQ最好将原来的jar包备?/p> <p><br> 我一开始用了merak邮g服务器,希望可以实现本地机的邮g收发Q但是发玎ͼ其pop3和IMAP协议q一直开启,如果不开启,则无法连接到邮g服务器?/p> <p>查询到几个邮件服务器的设|:</p> <p>163邮箱讄</p> <p>接收邮g服务器(pop、IMAP或HTTPQ:pop.163.com?/p> <p>发送邮件服务器(SMTP)Qsmtp.163.com</p> <p>sina讄</p> <p>接收邮g服务器(pop、IMAP或HTTPQ:pop.sina.com.cn</p> <p>发送邮件服务器(SMTP)Qsmtp.sina.com.cn</p> <p>tom讄</p> <p>接收邮g服务器(pop、IMAP或HTTPQ:pop.tom.com</p> <p>发送邮件服务器(SMTP)smtp.tom.com</p> <p>sohu讄</p> <p>接收邮g服务器(pop、IMAP或HTTPQpop3.sohu.com</p> <p>发送邮件服务器(SMTP)Qsmtp.sohu.com</p> <p>126讄</p> <p>接收邮g服务器(pop、IMAP或HTTPQ:pop3.126.com</p> <p>发送邮件服务器(SMTP)Qsmtp.126.com</p> <p>QQ邮箱的POP3服务?<br> pop.qq.comQSMTP服务? smtp.qq.com</p> <p>开发代码如下:</p> <p>import java.util.Date;<br> import java.util.Properties;</p> <p>import javax.mail.Message;<br> import javax.mail.Session;<br> import javax.mail.Store;<br> import javax.mail.Transport;<br> import javax.mail.internet.InternetAddress;<br> import javax.mail.internet.MimeMessage;</p> <p>import com.rjt.JavaMailWeb.Entity.User;</p> <p>public class MailClientSina {<br> protected Session session;<br> protected Store store;<br> private String sendHost="smtp.sina.com.cn"; //发送邮件服务器<br> private String receiveHost="pop.sina.com.cn"; //接收邮g服务?br> private String sendProtocol="smtp"; //发送邮件协?br> private String receiveProtocol="pop3"; //接收邮g协议<br> private String username = "";<br> private String password = "";<br> private String fromAddr=""; //发送者地址<br> private String toAddr=""; //接收者地址</p> <p>public void init()throws Exception{<br> //讄属?br> Properties props = new Properties();<br> //props.put("mail.transport.protocol", sendProtocol);<br> //props.put("mail.store.protocol", receiveProtocol);<br> //props.put("mail.smtp.class", "com.sun.mail.smtp.SMTPTransport");<br> //props.put("mail.imap.class", "com.sun.mail.imap.IMAPStore");<br> //props.put("mail.pop3.class", "com.sun.mail.pop3.POP3Store");<br> props.put("mail.smtp.host", sendHost); //讄发送邮件服务器<br> props.put("mail.smtp.auth", "true");//需要经q授权,也就是有户名和密码的校验Q这h能通过验证Q一定要有这一条)<br> SmtpAuth smtpAuth=new SmtpAuth(username,password);<br> smtpAuth.getPasswordAuthentication();<br> // 创徏邮gSession对象<br> session = Session.getDefaultInstance(props,smtpAuth);<br> session.setDebug(true); //输出跟踪日志<br> }<br> <br> public void close()throws Exception{<br> store.close();<br> }<br> public void sendMessage(String fromAddr,String toAddr)throws Exception{<br> try<br> {<br> //创徏一个邮?br> Message msg = createSimpleMessage(fromAddr,toAddr);<br> //创徏一个Transport对象<br> Transport transport=session.getTransport("smtp");<br> //q接SMTP服务?br> transport.connect(sendHost,username, password);</p> <p>//发送邮?br> transport.send(msg,msg.getAllRecipients());<br> }catch(Exception e)<br> {<br> System.out.print(e);<br> }<br> }<br> <br> public Message createSimpleMessage(String fromAddr,String toAddr)throws Exception{<br> //创徏一纯文本cd的邮?br> Message msg = new MimeMessage(session);<br> InternetAddress[] toAddrs =InternetAddress.parse(toAddr, false);<br> msg.setRecipients(Message.RecipientType.TO, toAddrs);<br> msg.setSentDate(new Date()); <br> msg.setSubject("Register Success!");<br> msg.setFrom(new InternetAddress(fromAddr));<br> msg.setText("Success!");<br> msg.saveChanges();<br> return msg;<br> }</p> <p>public static void main(String[] args)throws Exception {<br> MailClientSina client=new MailClientSina();<br> client.init();<br> client.sendMessage(client.fromAddr,client.toAddr);<br> // client.receiveMessage();<br> }<br> }</p> <p>//以下是SmtpAuthcȝ描述</p> <p>import javax.mail.Authenticator;<br> import javax.mail.PasswordAuthentication;</p> <p>public class SmtpAuth extends Authenticator {<br> String user,password;<br> //讄账号信息<br> public SmtpAuth(String user,String password){<br> this.user=user;<br> this.password=password;<br> }<br> //取得PasswordAuthentication对象<br> protected PasswordAuthentication getPasswordAuthentication(){<br> return new PasswordAuthentication(user,password);<br> }<br> }</p> <a >阅读全文</a> <br/><b>cdQ?/b><a >Java</a> <a >查看评论</a><br>文章来源:<a >http://hi.baidu.com/ninky/blog/item/e2cd99caef3f158fc81768b7.html</a><img src ="http://www.aygfsteel.com/niuky/aggbug/302187.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/niuky/" target="_blank">niuky</a> 2009-11-13 11:38 <a href="http://www.aygfsteel.com/niuky/archive/2009/11/13/302187.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]配置tomcat Q结合acegi security 实现SSL(转)http://www.aygfsteel.com/niuky/archive/2009/11/13/302188.htmlniukyniukyFri, 13 Nov 2009 03:38:00 GMThttp://www.aygfsteel.com/niuky/archive/2009/11/13/302188.htmlhttp://www.aygfsteel.com/niuky/comments/302188.htmlhttp://www.aygfsteel.com/niuky/archive/2009/11/13/302188.html#Feedback0http://www.aygfsteel.com/niuky/comments/commentRss/302188.htmlhttp://www.aygfsteel.com/niuky/services/trackbacks/302188.html 一Q先修改TOMCAT的配|文件server.xml ,在其中找C下内容:
<!-- Define a SSL HTTP/1.1 Connector on port 443 -->
<!--
    <Connector port="443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />
-->
    L注释?br> 二,C的JDK的bin目录下,执行下面代码Q?br> %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA (Unix)

//TOMCAT的初始密码ؓchangit,如果你在生成KEY时修改了密码Q则必须在server.xml中的Connector="443"中加上这个属? keystorePass="你修改的密码"?br>
此时Q启动TOMCATQ就可以讉Khttps://localhost:443

三,?span class="hilite1">acegi Security中实现SSLQ只M改v配置文gQ如Qsecurity.xmlQ一般ؓq个Q或者是其他文g?中的
<bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
        <property name="authenticationEntryPoint">
            <bean class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
                <property name="loginFormUrl" value="/public/requireLogin.jsp"/>
                <!--<property name="forceHttps" value="false"/> -->
                <!-- in order to enable the https -->
                <property name="forceHttps" value="true"/>
                
            </bean>
        </property>
    </bean>
//把其中的forceHttps的值改为true,q样可以对那些需要安全访问的面自动转ؓhttps://形式的URL?br> 接着Q再修改Q?br> <bean id="channelProcessingFilter" class="org.acegisecurity.securechannel.ChannelProcessingFilter">
        <property name="channelDecisionManager" ref="channelDecisionManager"/>
        <property name="filterInvocationDefinitionSource">
            <value>
                PATTERN_TYPE_APACHE_ANT
                /admin/**=REQUIRES_SECURE_CHANNEL
                /login*=REQUIRES_SECURE_CHANNEL
                /j_security_check*=REQUIRES_SECURE_CHANNEL
                /editProfile.html*=REQUIRES_SECURE_CHANNEL
                /signup.html*=REQUIRES_SECURE_CHANNEL
                /saveUser.html*=REQUIRES_SECURE_CHANNEL
                /secure/**=REQUIRES_SECURE_CHANNEL           
                /**=REQUIRES_INSECURE_CHANNEL   
            </value>
        </propert
//在其中加入你惌实现安全讉K的页面的URLQ?**q个一定要攑֜最后面。REQUIRES_SECURE_CHANNELq个表示需要安全通道QREQUIRES_INSECURE_CHANNEL q个表示不需要?br> 最后,再修改web.xmlQ在其中d如下的过滤器Q?br> <!-- in order to enable the ssl http -->
    <filter>
         <filter-name>Acegi Channel Processing Filter</filter-name>   
         <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
         <init-param>
               <param-name>targetClass</param-name>
               <param-value>org.acegisecurity.securechannel.ChannelProcessingFilter</param-value>
         </init-param>
   </filter>
<filter-mapping>
           <filter-name>Acegi Channel Processing Filter</filter-name>
           <url-pattern>/*</url-pattern>
     </filter-mapping>

q样Q就可以通过Acegi Security实现SSL讉K了?阅读全文
cdQ?/b>j2ee~程 查看评论
文章来源:http://hi.baidu.com/ninky/blog/item/6b7d22ddd55045d08c10291c.html

niuky 2009-11-13 11:38 发表评论
]]>
[导入]配置tomcat ssl证书问题http://www.aygfsteel.com/niuky/archive/2009/11/13/302189.htmlniukyniukyFri, 13 Nov 2009 03:38:00 GMThttp://www.aygfsteel.com/niuky/archive/2009/11/13/302189.htmlhttp://www.aygfsteel.com/niuky/comments/302189.htmlhttp://www.aygfsteel.com/niuky/archive/2009/11/13/302189.html#Feedback0http://www.aygfsteel.com/niuky/comments/commentRss/302189.htmlhttp://www.aygfsteel.com/niuky/services/trackbacks/302189.htmlKeytool使用指南Q?br> http://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/keytool.html

Tomcat-ssl配置指南Q?br> http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html
配置q程
1.      生成 server key Q?br> 以命令行方式切换到目?TOMCAT_HOME%Q在command命o行输入如下命令(jdk1.4以上带的工具Q:
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
用户名输入域名,如localhostQ开发或试用)或hostname.domainname(用户拥有的域?Q其它全部以 enter 跌Q最后确认,此时会在%TOMCAT_HOME%下生成server.keystore 文g?br> 注:参数 -validity 指证书的有效??Q缺省有效期很短Q只?0天?br> 2. 证书导入的JDK的证书信d?
q步对于Tomcat的SSL配置不是必须Q但对于CAS SSO是必ȝQ否则会出现如下错误Qedu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator。。?br> 导入q程?步,W一步是导出证书Q第二步是导入到证书信Q库,命o如下Q?br> keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit
keytool -import -trustcacerts -alias tomcat -file server.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
如果有提C,输入Y可以了?br> 其他有用keytool命oQ列Z任证书库中所有已有证书,删除库中某个证书Q:
keytool -list -v -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts
keytool -delete -trustcacerts -alias tomcat -keystore D:/sdks/jdk1.5.0_11/jre/lib/security/cacerts -storepass changeit
3. 配置TOMCAT :
修改%TOMCAT_HOME%\conf\server.xmlQ以文字~辑器打开Q查找这一行:
xml 代码
  

之后的那段的注释去掉,q加?keystorePass及keystoreFile属性?br> 注意Qtomcat不同版本配置是不同的:
Tomcat4.1.34配置Q?br> xml 代码     <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"             port="8443" enableLookups="true" scheme="https" secure="true"             acceptCount="100"             useURIValidationHack="false" disableUploadTimeout="true"             clientAuth="false" sslProtocol="TLS"               keystoreFile="server.keystore"               keystorePass="changeit"/> Tomcat5.5.9配置Q?/p>


xml 代码
  
<Connector port="8443" maxHttpHeaderSize="8192"  
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
           enableLookups="false" disableUploadTimeout="true"  
           acceptCount="100" scheme="https" secure="true"  
           clientAuth="false" sslProtocol="TLS"    
           keystoreFile="server.keystore"    
           keystorePass="changeit"/>  

Tomcat5.5.20配置(此配|同样可用于Tomcat6.0)Q?br>
xml 代码
  
<Connector protocol="org.apache.coyote.http11.Http11Protocol"    
                     port="8443" maxHttpHeaderSize="8192"  
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
           enableLookups="false" disableUploadTimeout="true"  
           acceptCount="100" scheme="https" secure="true"  
           clientAuth="false" sslProtocol="TLS"                   
           keystoreFile="server.keystore"    
           keystorePass="changeit"/>  

Tomcat6.0.10配置Q?/p>

xml 代码
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"  
           port="8443" minSpareThreads="5" maxSpareThreads="75"  
           enableLookups="true" disableUploadTimeout="true"    
           acceptCount="100" maxThreads="200"  
           scheme="https" secure="true" SSLEnabled="true"  
           clientAuth="false" sslProtocol="TLS"  
           keystoreFile="D:/tools/apache-tomcat-6.0.10/server.keystore"    
           keystorePass="changeit"/>  

tomcat6支持3U,请参考以下文档:
http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html
验证配置
讉K https://localhost:8443/
<connector protocol="org.apache.coyote.http11.Http11NioProtocol"></connector>

阅读全文
cdQ?/b>j2ee~程 查看评论
文章来源:http://hi.baidu.com/ninky/blog/item/efe6389b5c7376bcc8eaf440.html

niuky 2009-11-13 11:38 发表评论
]]>
[导入]myeclipse 常用快捷?/title><link>http://www.aygfsteel.com/niuky/archive/2009/11/13/302190.html</link><dc:creator>niuky</dc:creator><author>niuky</author><pubDate>Fri, 13 Nov 2009 03:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/niuky/archive/2009/11/13/302190.html</guid><wfw:comment>http://www.aygfsteel.com/niuky/comments/302190.html</wfw:comment><comments>http://www.aygfsteel.com/niuky/archive/2009/11/13/302190.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/niuky/comments/commentRss/302190.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/niuky/services/trackbacks/302190.html</trackback:ping><description><![CDATA[ 快捷键(eclipseQ?<br> 1. 常用快捷?<br> (1)Ctrl+Space <br> 说明:内容助理。提供对Ҏ,变量,参数,javadoc{得提示,应运在多U场?M需要提C的时候可先按此快捷键?<br> ?避免输入法的切换讄与此讄冲突 <br> (2)Ctrl+Shift+Space <br> 说明:变量提示 <br> (3)Ctrl+/ <br> 说明:d/消除//注释,在eclipse2.0?消除注释为Ctrl+&#92; <br> (4)Ctrl+Shift+/ <br> 说明:d/* */注释 <br> (5)Ctrl+Shift+&#92; <br> 说明:消除/* */注释 <br> (6)Ctrl+Shift+F <br> 说明:自动格式化代?<br> (7)Ctrl+1 //***************************** <br> 说明:扚w修改源代码中的变量名,此外q可用在catch块上. <br> (8)Ctril+F6 <br> 说明:界面切换 <br> (9)Ctril+Shift+M <br> 说明:查找所需要得?<br> (10)Ctril+Shift+O <br> 说明:自动引入所需要得?<br> (11)Ctrl+Alt+S <br> 说明:源代码得快捷菜单。其中的Generate getters and setters ?Surround with try/catch <br> block比较常用.把它们添加ؓ快捷?快捷键设|在windows->preferences->Workbench->Keys <br> 2. 快捷键列?<br> ~辑 <br> 作用?功能 快捷?<br> 全局 查找q替?Ctrl+F <br> 文本~辑?查找上一?Ctrl+Shift+K <br> 文本~辑?查找下一?Ctrl+K <br> 全局 撤销 Ctrl+Z <br> 全局 复制 Ctrl+C <br> 全局 恢复上一个选择 Alt+Shift+?<br> 全局 剪切 Ctrl+X <br> 全局 快速修?Ctrl1+1 <br> 全局 内容辅助 Alt+/ <br> 全局 全部选中 Ctrl+A <br> 全局 删除 Delete <br> 全局 上下文信?Alt+QAlt+Shift+?Ctrl+Shift+Space <br> Java~辑?昄工具提示描述 F2 <br> Java~辑?选择装元素 Alt+Shift+?<br> Java~辑?选择上一个元?Alt+Shift+?<br> Java~辑?选择下一个元?Alt+Shift+?<br> 文本~辑?增量查找 Ctrl+J <br> 文本~辑?增量逆向查找 Ctrl+Shift+J <br> 全局 _脓 Ctrl+V <br> 全局 重做 Ctrl+Y <br> 查看 <br> 作用?功能 快捷?<br> 全局 攑֤ Ctrl+= <br> 全局 ~小 Ctrl+- <br> H口 <br> 作用?功能 快捷?<br> 全局 Ȁzȝ辑器 F12 <br> 全局 切换~辑?Ctrl+Shift+W <br> 全局 上一个编辑器 Ctrl+Shift+F6 <br> 全局 上一个视?Ctrl+Shift+F7 <br> 全局 上一个透视?Ctrl+Shift+F8 <br> 全局 下一个编辑器 Ctrl+F6 <br> 全局 下一个视?Ctrl+F7 <br> 全局 下一个透视?Ctrl+F8 <br> 文本~辑?昄标尺上下文菜?Ctrl+W <br> 全局 昄视图菜单 Ctrl+F10 <br> 全局 昄pȝ菜单 Alt+- <br> D <br> 作用?功能 快捷?<br> Java~辑?打开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> 全局 上一?Ctrl+, <br> 全局 下一?Ctrl+. <br> Java~辑?昄大纲 Ctrl+O <br> 全局 在层ơ结构中打开cd Ctrl+Shift+H <br> 全局 转至匚w的括?Ctrl+Shift+P <br> 全局 转至上一个编辑位|?Ctrl+Q <br> Java~辑?转至上一个成?Ctrl+Shift+?<br> Java~辑?转至下一个成?Ctrl+Shift+?<br> 文本~辑?转至?Ctrl+L <br> 搜烦 <br> 作用?功能 快捷?<br> 全局 出现在文件中 Ctrl+Shift+U <br> 全局 打开搜烦对话?Ctrl+H <br> 全局 工作Z的声?Ctrl+G <br> 全局 工作Z的引?Ctrl+Shift+G <br> 文本~辑 <br> 作用?功能 快捷?<br> 文本~辑?改写切换 Insert <br> 文本~辑?上滚?Ctrl+?<br> 文本~辑?下滚?Ctrl+?<br> 文g <br> 作用?功能 快捷?<br> 全局 保存 Ctrl+X Ctrl+S <br> 全局 打印 Ctrl+P <br> 全局 关闭 Ctrl+F4 <br> 全局 全部保存 Ctrl+Shift+S <br> 全局 全部关闭 Ctrl+Shift+F4 <br> 全局 属?Alt+Enter <br> 全局 新徏 Ctrl+N <br> 目 <br> 作用?功能 快捷?<br> 全局 全部构徏 Ctrl+B <br> 源代?<br> 作用?功能 快捷?<br> Java~辑?格式?Ctrl+Shift+F //***************** <br> Java~辑?取消注释 Ctrl+&#92; <br> Java~辑?注释 Ctrl+/ <br> Java~辑?d导入 Ctrl+Shift+M <br> Java~辑?l织导入 Ctrl+Shift+O <br> Java~辑?使用try/catch块来包围 未设|,太常用了Q所以在q里列出,自己讄。也可以使用Ctrl+1自动修正?<br> q行 <br> 作用?功能 快捷?<br> 全局 单步q回 F7 <br> 全局 单步跌 F6 <br> 全局 单步跛_ F5 <br> 全局 单步跛_选择 Ctrl+F5 <br> 全局 调试上次启动 F11 <br> 全局 l箋 F8 <br> 全局 使用qo器单步执?Shift+F5 <br> 全局 d/去除断点 Ctrl+Shift+B <br> 全局 昄 Ctrl+D <br> 全局 q行上次启动 Ctrl+F11 <br> 全局 q行臌 Ctrl+R <br> 全局 执行 Ctrl+U <br> 重构 <br> 作用?功能 快捷?<br> 全局 撤销重构 Alt+Shift+Z <br> 全局 抽取Ҏ Alt+Shift+M <br> 全局 抽取局部变?Alt+Shift+L <br> 全局 内联 Alt+Shift+I <br> 全局 Ud Alt+Shift+V <br> 全局 重命?Alt+Shift+R <br> 全局 重做 Alt+Shift+Y <br> <a >阅读全文</a> <br/><b>cdQ?/b><a >j2ee~程</a> <a >查看评论</a><br>文章来源:<a >http://hi.baidu.com/ninky/blog/item/5c8243c212f8733de4dd3b12.html</a><img src ="http://www.aygfsteel.com/niuky/aggbug/302190.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/niuky/" target="_blank">niuky</a> 2009-11-13 11:38 <a href="http://www.aygfsteel.com/niuky/archive/2009/11/13/302190.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]对J2EE开发中常用的开源项目介l?/title><link>http://www.aygfsteel.com/niuky/archive/2009/11/13/302191.html</link><dc:creator>niuky</dc:creator><author>niuky</author><pubDate>Fri, 13 Nov 2009 03:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/niuky/archive/2009/11/13/302191.html</guid><wfw:comment>http://www.aygfsteel.com/niuky/comments/302191.html</wfw:comment><comments>http://www.aygfsteel.com/niuky/archive/2009/11/13/302191.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/niuky/comments/commentRss/302191.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/niuky/services/trackbacks/302191.html</trackback:ping><description><![CDATA[ <span id="wmqeeuq" class="a14c" > <p style="text-indent: 2em">本文主要以Spring为核心来ȝ一些以前web开发常用的开源工具和开源类库?/p> <p style="text-indent: 2em"><strong>1.持久?/strong></p> <p style="text-indent: 2em">1) Hibernate</p> <p style="text-indent: 2em">q个不用介绍?用的很频J?用的比较多的是映?包括l承映射和父子表映射</p> <p style="text-indent: 2em">对于DAO在这里介l个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hibernateq行了封? 查询功能包括执行hsql或者sql查询/更新的方法,如果你要多层ơ逻辑的条件查询可以自q装QueryObject.可以参考它做HibernateDAO.也可以直接利用它</p> <p style="text-indent: 2em">2) iBATIS</p> <p style="text-indent: 2em">另一个ORM工具,Apache?没有Hibernate那么集成,自由度比较大</p> <p style="text-indent: 2em"><strong>2.SpringMVC</strong></p> <p style="text-indent: 2em">原理说明和快速入?</p> <p style="text-indent: 2em">配置文g?</p> <p style="text-indent: 2em">Spring的配|文仉认ؓWEB-INF/xxxx-servelet.xm其中xxx为web.xml中org.springframework.web.servlet.DispatcherServlet的servlet-name?/p> <p style="text-indent: 2em">Action分发:</p> <p style="text-indent: 2em">Spring按照配|文件定义的URLQMapping到具体Controllerc,再根据URL里的action= xxx或其他参敎ͼ利用反射调用Controller里对应的ActionҎ?/p> <p style="text-indent: 2em">输入数据l定:</p> <p style="text-indent: 2em">Spring提供Binder 通过名字的一一对应反射l定PojoQ也可以直接从request.getParameter()取数据?/p> <p style="text-indent: 2em">输入数据验证</p> <p style="text-indent: 2em">Sping 提供了Validator接口当然q可以用开源的Commons-Validaor支持最?/p> <p style="text-indent: 2em">Interceptor(拦截?</p> <p style="text-indent: 2em">Spring的拦截器提供接口需要自q?在这点不如WebWork做的?全面</p> <p style="text-indent: 2em">(q里提一下WebWork和Struts的区别最主要的区别在于WebWork在徏立一个Action时是新New一个对象而Struts是SingleMoule所有的都承它的一个Action,所以根据项目需要合适的选择.)</p> <p style="text-indent: 2em"><strong>3.View?/strong></p> <p style="text-indent: 2em">1) 标签?JSP2.0/JSTL</p> <p style="text-indent: 2em">׃Webwork或Spring的标{实很有限,一般view层用JSTL标签,而且据说JSTL设计很好速度是所有标{中最快的使用h也很?/p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">2) 富客L:DOJO Widgets, YUI(YahooUI),FCKEditor, Coolest日历控g</p> <p style="text-indent: 2em">Dojo主要提供Tree, Tab{富客户端控?可以用其q行辅助客户端开?/p> <p style="text-indent: 2em">YahooUI和DOJO一样它有自q一套javascript调试控制?主要支持ajax开发也有很多Tree,Table,Menu{富客户端控?/p> <p style="text-indent: 2em">FCKEditor 最行的文本编辑器</p> <p style="text-indent: 2em">Coolest日历控g 目前很多日历控g可用,集成在项目中也比较简?q个只是其中的一?界面不错的说..</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">3) JavaScript:Prototype.js</p> <p style="text-indent: 2em">Prototype.js作ؓjavascript的成功的开源框Ӟ装了很多好用的功能,通过它很Ҏ~写AJAX应用,现在AJAX技术逐渐成熟,框架资源比较丰富,比如YUI,DWR{等,也是因ؓJavaScript没有合适的调试工具,所以没有必要从零开始编写AJAX应用,个h认ؓ多用一些成熟的Ajax框架实现无刷新更新页面是不错的选择.</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">4)表格控g:Display Tag ,Extreme Table</p> <p style="text-indent: 2em">q两个的功能差不?都是View层表格的生成,界面也比较相?可以导出Excel,Pdf,对Spring支持很容?</p> <p style="text-indent: 2em">相比较而言比较推荐ExtremeTable,它的设计很好功能上比DisplayTag多一?支持Ajax,装了一些拦截器,而且最斚w的是在主wiki中有详细的中文用文?</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">5):OSCache</p> <p style="text-indent: 2em">OSCache是OpenSymphonyl织提供的一个J2EE架构中Web应用层的~存技术实现组?Cache是一U用于提高系l响应速度、改善系l运行性能的技术。尤其是在Web应用中,通过~存面的输出结果,可以很显著的改善pȝ的稳定性和q行性能?/p> <p style="text-indent: 2em">它主要用在处理短旉或一定时间内一些数据或面不会发生变化,或将一些不变的l计报表,~冲在内?可以充分的减L务器的压?防治负蝲q,快速重启服务器(通过盘~存).</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">6)SiteMesh</p> <p style="text-indent: 2em">sitemesh应用Decorator模式主要用于提高面的可l护性和复用性,其原理是用Filter截取request和response,把页面组件head,content,bannerl合Z个完整的视图。通常我们都是用include标签在每个jsp面中来不断的包含各Uheader, stylesheet, scripts and footerQ现在,在sitemesh的帮助下Q我们删掉他们轻松达到复合视图模?</p> <p style="text-indent: 2em">Sitemesh也是 OpenSymphony的一个项目现在最q的版本?.2,目前OpenSymphony自从04q就没有更新的版本了..感觉它还是比较有创新的一U页面组装方? OpenSymphony开源组l的代码一般写的比较漂?可以改其源代码对自己的项目进行适配.</p> <p style="text-indent: 2em">试发现Sitemeshq存在一些问?比如中文问题,它的默认~码是iso-8859-1在用时候需要做一些改?</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">7)CSS,XHTML</p> <p style="text-indent: 2em">q个不用说了,遵@W3C标准的web面开?</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">8)分页标签: pager-tagliblg</p> <p style="text-indent: 2em">Pager-taglib 是一套分|{ֺQ可以灵zd实现多种不同风格的分导航页面,q且可以很好的与服务器分逻辑分离.使用h也比较简?</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">9)Form: Jodd Form taglib</p> <p style="text-indent: 2em">Jodd Form taglib使用比较?只要把form的头以包住</p> <p style="text-indent: 2em">׃自动l定mybean, 自动l定mybean的所有同名属性到普通html标记input, selectbox, checkbox,radiobox.....在这些input框里不用再写M代码?/p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">10)Ajax:DWR</p> <p style="text-indent: 2em">J2EE应用最常用的ajax框架</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em">11)报表 图表</p> <p style="text-indent: 2em">Eclipse BIRT功能比较强大,也很庞大..好几十M,一般没有特别需求或别的图表设计软g可以解决的不用它</p> <p style="text-indent: 2em">JasperReports+ iReport是一个基于Java的开源报表工P它可以在Java环境下像其它IDE报表工具一h制作报表。JasperReports支持PDF、HTML、XLS、CSV和XML文g输出格式。JasperReports是当前Java开发者最常用的报表工兗?/p> <p style="text-indent: 2em">JFreeChart主要是用来制作各U各L图表Q这些图表包括:饼图、柱状图(普通柱状图以及堆栈q?、线图、区域图、分布图、؜合图、甘特图以及一些A表盘{等?/p> <p style="text-indent: 2em">琴棋报表,国?.重点推荐,适合中国的情?开放源代码Q用完全免贏V纯JAVA开发,适用多种pȝq_。特别适合B/Sl构的系l。官方网站有其优点介l?看来用它q是不错的选择,最重要的是支持国呵呵</p> <p style="text-indent: 2em"><strong>4.权限控制: Acegi</strong></p> <p style="text-indent: 2em">Acegi是Spring Framework 下最成熟的安全系l,它提供了强大灉|的企业安全服务Q如完善的认证和授权机制QHttp资源讉K控制QMethod 调用讉K控制{等,支持CAS</p> <p style="text-indent: 2em">(耉大学的单点登陆技?q个单点登陆Ҏ比较出名.我也q行q配|?可以Ҏ目需?如果用户分布在不同的地方不同的系l通用一套登陆口令可以用它进行解?一般注册机登陆机就是这栯决的)</p> <p style="text-indent: 2em">Acegi只是于Springl合最好的安全框架,功能比较强大,当然q有一些其他的安全框架,q里列D一些比较流行的是我从网上找到的,使用Ҏ看其官方文把?/p> <p style="text-indent: 2em">JAAS, Seraph, jSai - Servlet Security, Gabriel, JOSSO, Kasai, jPAM, OpenSAML都是些安全控制的框架..真够多的呵呵</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>5.全文?/strong></p> <p style="text-indent: 2em">1) Lucene</p> <p style="text-indent: 2em">Lucene是一套全文烦引接?可以通过它将数据q行倒排文g处理加入索引文g,它的索引速度和查询速度是相当快?查询百万U数据毫U出结?现在最火的Apache开源项?版本更新速度很快现在已经C2.0,每个版本更新的都比较?目前用的最多的版本应该?.4.3,但它有个不太斚w的地方单个烦引文件有2G文g限制,现在2.0版本没有q个限制,我研I的比较?它的扩展性比较好,可以很方面的扩充其分词接口和查询接口.</p> <p style="text-indent: 2em">Z它的开发的pȝ很多,比如最常用的Eclipse的搜索功?q有一些开源的软g比如Compass,Nutch,Lius,q有我最q做的InSearch(企业UFTP文g|页搜烦) < form> < /form></p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>6.公共Utilc?/strong></p> <p style="text-indent: 2em">主要是Jakarta-Commonscd,其中最常用得是以下几个cd</p> <p style="text-indent: 2em">1) Jakarta-Commons-Language</p> <p style="text-indent: 2em">最常用得类是StringUtilsc?提供了用的字符串处理的常用Ҏ效率比较?/p> <p style="text-indent: 2em">2) Jakarta-Commons-Beantuils</p> <p style="text-indent: 2em">主要用Beantuils能够获得反射函数装及对嵌套属性,map,array型属性的d?/p> <p style="text-indent: 2em">3) Jakarta-Commons-Collections</p> <p style="text-indent: 2em">里面有很多UtilsҎ</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>7.日志理</strong></p> <p style="text-indent: 2em">Log4J</p> <p style="text-indent: 2em">d是日志记?分ؓInfo,Warn,error几个层次可以更好的调试程?/p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>8 开源的J2EE框架</strong></p> <p style="text-indent: 2em">1) Appfuse</p> <p style="text-indent: 2em">Appfuse是Matt Raible 开发的一个指导性的入门UJ2EE框架, 它对如何集成行的Spring、Hibernate、iBatis、Struts、Xdcolet、JUnit{基框架l出了示? 在持久层QAppFuse采用了Hibernate O/R映射工具Q在容器斚wQ它采用了Spring,用户可以自由选择Struts、Spring/MVCQWebworkQJSFq几个Web框架?/p> <p style="text-indent: 2em">2) SpringSide</p> <p style="text-indent: 2em">SpringSide较完整的演示了企业应用的各个斚w,是一个电子商务网站的应用 SpringSide也大量参考了Appfuse中的优秀l验。最重要的是它是国内的一个开源项?可以了解到国内现在的一些实际技术动态和方向很有指导意义?/p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>9.模版 Template</strong></p> <p style="text-indent: 2em">主要有Veloctiy和Freemarker</p> <p style="text-indent: 2em">模板用Servlet提供的数据动态地生成 HTML。编译器速度快,输出接近静态HTML面的速度?/p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>10.工作?/strong></p> <p style="text-indent: 2em">主要有JBpm Shark Osworkflow.</p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>目理软g</strong></p> <p style="text-indent: 2em">dotProject:是一个基于LAMP的开源项目管理Y件。最出名的项目管理Y?/p> <p style="text-indent: 2em">JIRA: 目计划QQ务安排,错误理</p> <p style="text-indent: 2em">Bugzilla:提交和管理bug,和eclipse集成,可以通过安装MyEclipse配置一下即可?/p> <p style="text-indent: 2em">BugFree借鉴微Y公司软g研发理念、免费开放源代码、基于Web的精版Bug理</p> <p style="text-indent: 2em">CVS:q个׃介绍了都在用.</p> <p style="text-indent: 2em">SVN: SubVersion已逐渐越CVSQ更适应于JavaEE的项目。Apache用了它很久后QSourceforge刚刚推出SVN的支持?/p> <p style="text-indent: 2em">试用例:主要JUnit单元试,~写TestCase,Spring也对Junit做了很好的支?/p> <p style="text-indent: 2em"> </p> <p style="text-indent: 2em"><strong>后记:</strong></p> <p style="text-indent: 2em">以SpringZ的应用开发可选用的组件中间g真是D~ؕ,所以针对不同的目需求可以利用不同的开源品解?比如用Spring+Hibernate/ iBATIS或Spring+WebWork+Hibernate/ iBATIS或Spring+Struts+Hibernate/ iBATIS,合理的框架设计和代码复用设计寚w目开发效率和E序性能有很大的提高,也有利于后期的维护?/p> <p style="text-indent: 2em">Q责ȝ辑:龚勋Q?/p> </span> <a >阅读全文</a> <br/><b>cdQ?/b><a >j2ee~程</a> <a >查看评论</a><br>文章来源:<a >http://hi.baidu.com/ninky/blog/item/4046a8c26b6f21130ff47728.html</a><img src ="http://www.aygfsteel.com/niuky/aggbug/302191.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/niuky/" target="_blank">niuky</a> 2009-11-13 11:38 <a href="http://www.aygfsteel.com/niuky/archive/2009/11/13/302191.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]“主动程序员”与“被动程序员”(转)http://www.aygfsteel.com/niuky/archive/2009/11/13/302192.htmlniukyniukyFri, 13 Nov 2009 03:38:00 GMThttp://www.aygfsteel.com/niuky/archive/2009/11/13/302192.htmlhttp://www.aygfsteel.com/niuky/comments/302192.htmlhttp://www.aygfsteel.com/niuky/archive/2009/11/13/302192.html#Feedback0http://www.aygfsteel.com/niuky/comments/commentRss/302192.htmlhttp://www.aygfsteel.com/niuky/services/trackbacks/302192.htmlDavid Heinemeier Hansson 受雇?37 Signal Q但是仍然可以自己选择建立自己?Rails 框架来完成项目,他应该算是个"dE序?quot;。Firebird 数据库的领导者同时也?Interbase 数据库的创始?Jim Starkey 自q公司卖给?Mysql AB 而不得不l?Mysql q活Q从某方面说Q他应该是个"被动E序?quot;。大多数W三世界国家的程序员应该属于"被动E序?quot;Q他们编E只是ؓ了一份养家糊口的工作Q他们无权选择?己喜Ƣ的~程语言或者框Ӟ因ؓq是公司l他选择的,因ؓ如果选了其他Q他可能找不到工作了。曾l有个即离职的同事让我l他推荐一个比较好的编E框 Ӟ可以很容易完成一个网站的制作Q我l他推荐?Zope, q有 Rails, 他听我的介绍觉得不错 Q当我告诉他必须学习 python ?Ruby ~程语言Ӟ他显得很惊愕Q?quot;那能扑ֈ工作?"。这话其实也表达了大多数国内E序员的x。看看招聘网站就知道Q现在最需要的E序员是 Java E序员,最需要了解的框架?Struts。如果不会你很难得到面试的机会,所以就你不会也要在自q历中"修饰"一下?/p>

   有些自己创业的h可以自己选择喜欢的编E语a和框Ӟ当然那毕竟是数。如果我能够选择的话Q我肯定不用 Java 来做|站应用。因为它完成一个简单的工作太麻烦了Q很隑ֿ速适应需求的变化。当然我也不会去?PHP Q因为我已经习惯了面向对象的~程方式了?我发C个奇怪的现象:大多数{向学?Ruby on rails 框架的h都是来自 Java 阵营的程序员Q而{向Python 框架ZopeQdjango 的程序员大多?ASP,PHP 背景。因?Ruby 是一个真正的面向对象的语aQ?它同时具备了脚本语言的特点,?Python 首先是一个脚本语aQ它具备了一?OO 的特征。Java E序?很难忍受走回头\Q所以他们选择了一个比Java更面向对象的语言 Ruby Q而PHP,ASPE序员没有那么重的思想负担Q他们选择 Python 可能是因为它的代码更 Beauty Q远比他们以前写?quot;意大利面?quot;式的PHP,ASP 代码要干净的多?/p>

  无论?python, q是 Ruby q些非主程序语a开发的框架Q用v来都异常的简便,他们可谓是真正从E序员角度考虑的框架。ؓ什?Ruby 一出,搅的 Java 的世界一片؜乱,我想原因q是出在 Java q里Q当 Java E序员想当然地认为程序开发应该如此麻烦的时候,Rails 的出现让他们立刻觉得被这些所谓的 Java 行框架?Sun l欺骗了Q这U欺骗是如此之深Q以至于他们中间有的?quot;头也不回"的离开?Java, 转而攻?Java 的种U不是。这其中比较有名的h是 Bruce Tate Q这位老兄写了两本轰动 Java 世界的书QSpring: A Developer's Notebook ?Better, Faster, Lighter Java (该书可是获得 Jolt 大奖的,恰好我还都读q?Q随着 Rails 的流行,q位仁兄立刻叛逃出 Java 阵营Q写?Beyond Java 一书,着重介l了一些非Java 框架Q比?Smalltalk 的Seaside, ?Rails?/p>

  Java Z么这么复杂,我想了很久,得出q么个结?q是因ؓ Sun 希望它那么复杂。ؓ什么这么说?Sun 不是一个好的Y件公司,它最擅长做的是制定规范,q很cMJava ~程中的 Interface, l常~写 Java E序的hQ会发现 Interface 可能是出现最多的一个词汇了QQ何框架中都充满了Interface —接口Q大多数~程书都推荐面向接口~程(当然q不是Java的错Q是设计模式要求的,不过 Java 此发挥的最?。首先定义接口,然后针对接口~写不同的实玎ͼ臛_提供默认的实现。Sun 也是如此Q看?J2ee 的规范包含了多少 J 打头的技术, JDBC,JNI,JCA,JDO,JPA .... Q现在的 JCP l织更加如此Q每隔一D|_有大量的规范问世,Draft 的,q是 Final 的,充斥着Java 世界Q这?Sun 希望的, 每定义一个规范,׃有很多厂商来实现它,Java 的Y件市场就做大了,q样 Sun 可以靠授权Q认证拿更多的钱Q你?Sun 的股那么低qP而却拥有那么雄厚的流动资金,原因再明白不q了Q只?Sun q拥?Java Q它拥有了一切?/p>

  Sun 希望 Java 变得复杂Q就如同E序员希?Perl 代码隄一Pq样做是可以带来好处的。Java 的复杂性也带来了业链上其他行业的J荣Q比如咨询,?Php QPerl 行 Internet 的年代,|站开发似乎还不需要咨询师Q包?C/S 盛行的时候,企业开发也不需要咨询师Q然而随着 J2EE 逐步d企业U开发,咨询行业也开始兴v来。企业大把大把的把钱投入到开发咨询中Q究竟效果如何,不得而知。我惛_大多数程序员Q尤其是那些有自己想?的程序员来说Q请求咨询公司,q不如自己去了解来得清楚。Y件开发咨询师在我看来Q有点象?quot;律师"—"代表贪婪的公司,让这个世界变得更p糕一?quot;(?Alex 的对?。如果说国外的咨询师是希望通过主观的努力来解决客观存在的开发复杂性的话,那么国内的咨询行业可能把原本复杂的Y件开发变得更加复杂了。我不相 信他们,我宁可选择某个软g的培训,而不希望有h来从头到指点你如何开发,因ؓ国内咨询师的水^比你从书本上了解的高不到哪里去,公司又何必花费这W冤 枉钱呢?/p>

  那么如果你是?quot;dE序?quot;Q你会跟着 Sun 的指挥棒走吗? 我想d Java 世界Q你选择的机会应该很多,但是前提?你愿不愿意离开 Java 。因为大多数得改变现状其实ƈ不是个好事情Q学习一个新语言和框架意为着你过L有的l验消׃Q这其中有风险。对大多数程序员 来说Q编E其实就是䆾工作Q跟卖盒饭,装机器没什么区别,只要搞好本职工作可以。试图改变现状的人很痛苦Q了解差异的Z是如此,如?Neo 在接受红药丸和蓝药丸?/p>

  我在当年学习 Perl 的时候曾l买q一本《Learning perl》,书的作者曾l这么说Q学?Perl 是ؓ了让自己把更多的旉用在L雪, PHP 的创始h Rasmus Lerdorf 也曾l这栯CQ他希望自己能够减少盯着电脑的时_可是q么多年q去了,他发现自p是要l箋盯着该死的电脑。其实我寚w择框架语言也ƈ没什么兴, 我只是希望能够以单的方式完成工作Q而把旉省下来去听听音乐Q看看电影。实际上我跟不希望改变现状的人没什么不同,他们不希望学习新的东西,因ؓ现有 的东西很熟悉了,学习新框Ӟq不如把旉攑ֈ玩上去,我的目的一P我学习只是希望自q工作更轻松一点,q样可以用更多的旉来玩。所以每当我看到?U技术论坛上充斥着Java, .net , ROR QPython 之类的争吵,我都觉得很好W。其实ؓ了维护一个语a而争吉|没有意义。编E语a和pQ计机一P是个工P选择它们只是Z可能简单地完成?作,提高生活质量。ؓ了语a而语aQؓ了框架而框枉是没必要的?quot;dE序?quot;可以选择自己的方式来工作Q这是大多数人做不到的。如果有可能Q我也希?做一?quot;dE序?quot;?/p>


本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/tianya111/archive/2007/03/12/1527176.aspx

阅读全文
cdQ?/b>文转蝲 查看评论
文章来源:http://hi.baidu.com/ninky/blog/item/b8ec6b09c02b9cc73bc76395.html

niuky 2009-11-13 11:38 发表评论
]]>
[导入]50个常用jquery插ghttp://www.aygfsteel.com/niuky/archive/2009/11/13/302193.htmlniukyniukyFri, 13 Nov 2009 03:38:00 GMThttp://www.aygfsteel.com/niuky/archive/2009/11/13/302193.htmlhttp://www.aygfsteel.com/niuky/comments/302193.htmlhttp://www.aygfsteel.com/niuky/archive/2009/11/13/302193.html#Feedback0http://www.aygfsteel.com/niuky/comments/commentRss/302193.htmlhttp://www.aygfsteel.com/niuky/services/trackbacks/302193.html50多个强大的jQuery插g应用实例

原文:50+ Amazing Jquery Examples- Part1

jQuery是近D|间里比较行的一个JavaScript框架Q不断有使用者开发出新的 jQuery插g。下面收集了50个开发者最喜欢使用的jQuery插g。这仅仅是第一个系列,你先品尝Q第二道大餐卛_到来?br> Sliding Panels Q滑动门控制
1) Sliding Panels For jQuery -元素可以展开或关闭,创徏出手风琴的滑动效果?/p>

j37 50多个强大的jQuery插g应用实例

(2) jQuery Collapse -q个jQuery插g同样点击后滑动展开或关闭DIV层?br> Menu Q?菜单
3) LavaLamp

menu

(4) A Navigation Menu- 锚链接的无序列表嵌套, 可以d2U菜?/p>

menu

(5) SuckerFish Style

menu

Tabs - 选项?/strong>
6) jQuery UI Tabs / Tabs 3 - Z jQuery 的一个Tab选项卡导?/p>

j12 50多个强大的jQuery插g应用实例

(7) TabContainer Theme - 当用户在选项卡之间进行切换时Q生JQuery风格的E出动效果?/p>

j23 50多个强大的jQuery插g应用实例
AccordionQ?手风琴效?/strong>
8 ) jQuery Accordion

Demo
accordion

(9) Simple JQuery Accordion menu

accordion
SlideShows Q?qȝ?/strong>
10) jQZoom-让你在你的网上很简单的实现囄的羃攑֊能?/p>

rating

(11) Image/Photo Gallery Viewer- 一个图?相片的画廊展C插件。可以让你对囄q行分组、ƈ产生像Flash一L多种览Ҏ?/p>

rating
Transition Effects - q渡Ҏ
12) InnerFade - 可以让网中的Q何元素生E化效?/p>

j13 50多个强大的jQuery插g应用实例

(13) Easing Plugin-另外一个简单的q渡效果插g

(14) Highlight Fade

(15) jQuery Cycle Plugin- 拥有多种q渡效果的一个Gallery插g?/p>

accordion

奇的jQuery
16) Riding carousels with jQuery - q个jQuery插g可以生成一个水qx垂直的列表,q且允许你控制DIV层的滑动昄?/p>

Demo :
j9 50多个强大的jQuery插g应用实例

Color Picker Q拾色器
17) Farbtastic -q个 jQuery 插g可以让你通过Javascriptd一个或多个拾色器widgetsC个页面中?/p>

Demo :
j36 50多个强大的jQuery插g应用实例

(18) jQuery Color Picker
LightBox Q灯效?/strong>
19) jQuery ThickBox - is a webpage user interface dialog widget written in JavaScript.

Demo :

j10 50多个强大的jQuery插g应用实例

(20) SimpleModal Demos - its goal is providing developers with a cross-browser overlay and container that will be populated with content provided to SimpleModal.

Demo :

j17 50多个强大的jQuery插g应用实例

(21) jQuery lightBox Plugin - simple, elegant, unobtrusive, no need extra markup and is used to overlay images on the current page through the power and flexibility of jQuery′s selector.

Demo :

j7 50多个强大的jQuery插g应用实例

(
iframe
22) JQuery iFrame Plugin

j38 50多个强大的jQuery插g应用实例
Form Validation -表单验证?/strong>
23) Validation - 有一套完整相当的形式验证规则。该插gq动态地创徏ID和联pM息?/p>

Demo :

f9 50多个强大的jQuery插g应用实例

(24) Ajax Form Validation - 在客L使用jquery验证的一UŞ式,它可以验证用户名是否有效{?/p>

Demo :

j11 50多个强大的jQuery插g应用实例

(25) jQuery AlphaNumeric -Ƣ迎对对表单域中的某些字W进行限?/p>

j16 50多个强大的jQuery插g应用实例
Form Elements Q?表单事g
j15 50多个强大的jQuery插g应用实例

(26) jquery.Combobox - 从现在的选择元素中创Z个个性的HTMLl合 Demo is here.

(27) jQuery Checkbox -样式化选择框,从而提高交互能力?/p>

(28) File Style Plugin for jQuery -File Style插g让你可以使用囑փ做ؓ文g览按钮Q你q可以样式化文g名称区域?br> Star Rating Q?星Ş评pȝ
rating

(29) Simple Star Rating System

30)Half-Star Rating Plugin
ToolTips Q提C工?/strong>
31) Tooltip Plugin Examples - 一个花俏的提示应用?可以ҎCZ息进行自定义位置, 讄阴媄效果和添加更多内容等.你可以点?a >demo 演示.

(32) The jQuery Tooltip

tool tip
Tables Plugins Q表格插?/strong>
33) Zebra Tables Demo -使用jQuery来创建出斑马UK格的数据表格Q鼠标悬时能改变背景色?/p>

Demo :

zebra tables

(34) Table Sorter Plugin - 把一个标准的HTML表格分解成Thead和Tbody标签构成的分c表|不需要刷新。它能够成功地解析和整理多种cd的数据,包括联系资料?/p>

table sorter

(35) AutoScroll for jQuery -可以生成|页表格的热点自动滚动效?/p>

auto scroll

(36) Scrollable HTML table plugin- 用来转换表格为普通的滚动HTML。不需要额外的~码?/p>

Demo :

Scrollable table
Draggable Droppables And Selectables 拖拽
37) Sortables - 一个简单强大的拖拽插g?/p>

sort

(38) Draggables and droppables- q是一个很好的演示。用来实现拖拽树形菜单项目的操作

drag drop
Style Switcher Q?切换风络
39) Switch stylesheets with jQuery允许访客选择他们喜欢的网站样式,使用了Cookie记录Q也是同一个用户下ơ再讉KӞ除非他不切换Q否则会保留他选择的样式?/p>

Demo演示.
Rounded Corners 圆角效果
40) jQuery Corner Demo

rounded corners

(41) JQuery Curvy Corners- q个插g可以让你生成光滑、无锯的圆角效果?/p>

rounded corners
Must See jQuery Examples 应该了解的一些jQuery应用实例
42) jQuery Air - 一个非帔R常特别的客户理界面应用插gQ太特别了,太太太特别了?/p>

Demo :

j6 50多个强大的jQuery插g应用实例

(43) HeatColor

Demo :

j19 50多个强大的jQuery插g应用实例

(44) Simple jQuery Examples

(45) Date Picker -一个灵zM性的jQuery日历lg?/p>

Demo :

j32 50多个强大的jQuery插g应用实例

(46) ScrollTo -q个jQuery插g可以让你实现当点击链接时中滚动到面中的某一对象

(47) 3-Column Splitter Layout 一?栏布局分配插g?/p>

j29 50多个强大的jQuery插g应用实例

(48) Pager jQuery -一个小巧的 jQuery插gQ用来增加分늚늠效果

j33 50多个强大的jQuery插g应用实例

(49) Select box manipulation

(50) Cookie Plugin for jQuery

51) JQuery BlockUI Plugin

j41 50多个强大的jQuery插g应用实例

标签: , , , , , , , , , , , , , ,

阅读全文
cdQ?/b>Jquery 查看评论
文章来源:http://hi.baidu.com/ninky/blog/item/81f105f71983732a730eecc9.html

niuky 2009-11-13 11:38 发表评论
]]>
[导入]Eclipse开发JQuery环境讄(Spkethttp://www.aygfsteel.com/niuky/archive/2009/11/13/302194.htmlniukyniukyFri, 13 Nov 2009 03:38:00 GMThttp://www.aygfsteel.com/niuky/archive/2009/11/13/302194.htmlhttp://www.aygfsteel.com/niuky/comments/302194.htmlhttp://www.aygfsteel.com/niuky/archive/2009/11/13/302194.html#Feedback0http://www.aygfsteel.com/niuky/comments/commentRss/302194.htmlhttp://www.aygfsteel.com/niuky/services/trackbacks/302194.html        以下内容转自http://www.cnblogs.com/meetrice/archive/2008/06/16/1223146.html ?/p>

                                http://blog.sina.com.cn/s/blog_4b81125f0100bhxy.html

1. Spket的安?三种方式)Q?/strong>

    (1)Plugin:
        最低要求: eclipseq_q行?.2.x ,
        文g为: spket-1.6.16.zip别的插g的安装无异,怿不用我多说了?br>      (2)Spket IDE:
        最低要求:你需要java 1.5或更高版本运行安装程序,可独立?不用装Eclipse
         文g为: spket-1.6.16.jar
        安装步骤:

            1、打开cmdQ?/p>

            2、在spket-1.6.16.jar文g目录下输入java -jar spket-1.6.16.jar
             3、回?怿你已看到安装画面
    (3)Update Site
             q是更新|站Qؓspket的ide ?br>              使用它,打开eclipse的updatemanager (在eclipse下的帮助菜单) Qƈ新增一个书{ؓQ?br>              http://www.spket.com/update

2. Elipse开发jQuery环境讄(Spket):
    首先需要安装SpketQ如上,之后q行JQuery的配|:
    (1)?a target="_blank">http://jquery.com/下蝲开发用的Javascript文gQ如下图Q一定要选择U框里面的选项
   

   (2)配置Eclipse里面的Spket Javascript ProfilesQ如下图Q?br>   

   1) 从window->Preferences...q去

   2) 如上N择Spket -> Javascript Profiles

   3) 点击New...输入JQuery建立新的profile

   4) 点击Add LibraryQƈ选择JQueryQ徏立新的Library

   5) 点击Add File, 选择刚下载的JQuery文g

   6) 如果惌JQuery成ؓ~省的Javascript ProfileQ则点击Default?br>
    然后新徏Js文gQ就可以使用JQuery的代码提C功能了Q?br>   

阅读全文
cdQ?/b>Js 查看评论
文章来源:http://hi.baidu.com/ninky/blog/item/16d2b6a18b17c48347106485.html

niuky 2009-11-13 11:38 发表评论
]]>
վ֩ģ壺 | ͩ®| | | ɫ| ɽ| | ʩ| պ| ˳| | ɽ| ά| | | | | ʯ| | Ϫ| | ׺| | | | | | ߰| Ӵ| ƽ| | | | ˮ| | | | ն| ɽ| ˫| |