ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>蜜月aⅴ免费一区二区三区,超碰国产精品久久国产精品99,精品女同一区二区三区在线观看http://www.aygfsteel.com/gaojohn933/zh-cnMon, 14 Jul 2025 16:45:39 GMTMon, 14 Jul 2025 16:45:39 GMT60Tomcat7配置数据æº?/title><link>http://www.aygfsteel.com/gaojohn933/archive/2013/10/15/405028.html</link><dc:creator>快乐一å¤?/dc:creator><author>快乐一å¤?/author><pubDate>Tue, 15 Oct 2013 15:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/gaojohn933/archive/2013/10/15/405028.html</guid><wfw:comment>http://www.aygfsteel.com/gaojohn933/comments/405028.html</wfw:comment><comments>http://www.aygfsteel.com/gaojohn933/archive/2013/10/15/405028.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/gaojohn933/comments/commentRss/405028.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/gaojohn933/services/trackbacks/405028.html</trackback:ping><description><![CDATA[<p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">一åQšJNDI配置方式</span></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">现在来讲一下如何到服务器上å¯?Data Source ˜q›è¡Œé…ç½®åQ?/p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">服务器: Tomcat 7</p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">数据库:MySQL</p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">1åQšå°†ä¸‹é¢çš„代码添加到Tomcat服务器上conf/context.xml中的<Context></Context>标签ä¸?/span></p> <div id="wmqeeuq" class="cnblogs_code" style="overflow: auto; font-size: 12px !important; border-top: rgb(204,204,204) 1px solid; font-family: 'Courier New' !important; border-right: rgb(204,204,204) 1px solid; font-variant: normal; white-space: normal; border-bottom: rgb(204,204,204) 1px solid; text-transform: none; word-spacing: 0px; font-weight: normal; color: rgb(0,0,0); padding-bottom: 5px; font-style: normal; text-align: left; padding-top: 5px; padding-left: 5px; margin: 5px 0px; border-left: rgb(204,204,204) 1px solid; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 5px; background-color: rgb(245,245,245); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div><pre style="word-wrap: break-word; font-size: 12px !important; font-family: 'Courier New' !important; white-space: pre-wrap; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">Resource name</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">jdbc/shopping</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> auth</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">Container</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> type</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">javax.sql.DataSource</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> maxActive</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">100</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> maxIdle</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">30</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> maxWait</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">10000</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> username</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">root</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> password</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">root</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> driverClassName</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">com.mysql.jdbc.Driver</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> url</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">jdbc:mysql://localhost:3306/shopping</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> /></pre> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div></div> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">上下文context.xml中的参数的解析如下:<br />     其中的name属性是数据源名¿UŽÍ¼Œé€šå¸¸é‡‡å–jdbc/**. <br /> <span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">    driverClassName属性是驱动½E‹åºåç§°ã€?/span></p> <p style="font-size: 13px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 10px auto; line-height: 1.5; padding-right: 0px; text-indent: 0px"><span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">     usernameåQŒpasswordåQŒæ•°æ®åº“名称和密ç ?/span></p> <p style="font-size: 13px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 10px auto; line-height: 1.5; padding-right: 0px; text-indent: 0px"><span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">     url:讉K—®çš„æ•°æ®åº“路径。其中url的内容组成解析上½‹‡åšå®¢ä¸­å·²ç»åˆ†æž</span></p> <p style="font-size: 13px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 10px auto; line-height: 1.5; padding-right: 0px; text-indent: 0px"><span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">     maxActive属性是òq¶å‘˜qžæŽ¥çš„æœ€å¤§æ•°ã€‚设¾|®äØ“0则无限制ã€?/span></p> <p style="font-size: 13px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 10px auto; line-height: 1.5; padding-right: 0px; text-indent: 0px"><span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">     maxWait属性是½{‰å¾…˜qžæŽ¥çš„æœ€å¤§è¿žæŽ¥çš„æ—‰™—´ã€?/span></p> <p style="font-size: 13px; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 10px auto; line-height: 1.5; padding-right: 0px; text-indent: 0px"><span style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">     maxIdle属性是˜qžæŽ¥æ± ä¸­½Iºé—²çš„连接的个数ã€?/span></p></span> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">2. ä¿®æ”¹web.xml</span><br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" /> æ‰“å¼€%TOMCAT_HOME%\conf\web.xml,åœ?lt;/web-app>的前面添加以下内容:</p> <div id="wmqeeuq" class="cnblogs_code" style="overflow: auto; font-size: 12px !important; border-top: rgb(204,204,204) 1px solid; font-family: 'Courier New' !important; border-right: rgb(204,204,204) 1px solid; font-variant: normal; white-space: normal; border-bottom: rgb(204,204,204) 1px solid; text-transform: none; word-spacing: 0px; font-weight: normal; color: rgb(0,0,0); padding-bottom: 5px; font-style: normal; text-align: left; padding-top: 5px; padding-left: 5px; margin: 5px 0px; border-left: rgb(204,204,204) 1px solid; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 5px; background-color: rgb(245,245,245); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div><pre style="word-wrap: break-word; font-size: 12px !important; font-family: 'Courier New' !important; white-space: pre-wrap; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><description>MySQL Test App</description> <resource-<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">ref</span>> <description>DB Connection</description> <res-<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">ref</span>-name>jdbc/shopping</res-<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">ref</span>-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">ref</span>></pre> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div></div> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">3:建立‹¹‹è¯•æ–‡äšg</span></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">test.jsp</p> <div id="wmqeeuq" class="cnblogs_code" style="overflow: auto; font-size: 12px !important; border-top: rgb(204,204,204) 1px solid; font-family: 'Courier New' !important; border-right: rgb(204,204,204) 1px solid; font-variant: normal; white-space: normal; border-bottom: rgb(204,204,204) 1px solid; text-transform: none; word-spacing: 0px; font-weight: normal; color: rgb(0,0,0); padding-bottom: 5px; font-style: normal; text-align: left; padding-top: 5px; padding-left: 5px; margin: 5px 0px; border-left: rgb(204,204,204) 1px solid; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 5px; background-color: rgb(245,245,245); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div><pre style="word-wrap: break-word; font-size: 12px !important; font-family: 'Courier New' !important; white-space: pre-wrap; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><%@ taglib uri=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">http://java.sun.com/jsp/jstl/sql</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> prefix=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">sql</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> %> <%@ taglib uri=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">http://java.sun.com/jsp/jstl/core</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> prefix=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">c</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> %> <sql:query <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">var</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">rs</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> dataSource=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">jdbc/shopping</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>> <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">select</span> id, name, normalprice <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">from</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> product </span></sql:query> <html> <head> <title>DB Test</title> </head> <body> <h2>Results</h2> <c:forEach <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">var</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">row</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> items=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">${rs.rows}</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> name ${row.name}</span><br/><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> normalprice ${row.normalprice}</span><br/> </c:forEach> </body> </html></pre> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div></div> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">4.æ·ÕdŠ jaråŒ?nbsp;</span></p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">JDBC驱动½E‹åºmysql-connector-java-5-bin.jar攄¡½®åœ?TOMCAT_HOME%\lib和应用的WEB-INF\lib下,复制<span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"><span id="wmqeeuq" class="Apple-converted-space"> </span>jstl.jar </span>å’?span class="Apple-converted-space"> </span><span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">standard.jar</span> åˆ?ä½ çš„<span id="wmqeeuq" class="Apple-converted-space"> </span><code style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px">WEB-INF/lib</code> ç›®å½•.</p> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><br style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px" />5åQšé…¾|®å¿U°name="jdbc/mldn"可以ä»ÀL„åQŒé…¾|®å®ŒæˆåŽåQŒéœ€è¦é€šè¿‡åç§°æŸ¥æ‰¾çš„æ–¹å¼ï¼ŒåŽÀL‰¾åˆ°æ•°æ®æºåQŒæœ¬½CÞZ¾‹ä»£ç ˜qç”¨çš„Tomcat服务å™?所以在查找旉™œ€è¦å¯¹åç§°˜q›è¡Œå®šä½åQšjava:comp/env</p> <div id="wmqeeuq" class="cnblogs_code" style="overflow: auto; font-size: 12px !important; border-top: rgb(204,204,204) 1px solid; font-family: 'Courier New' !important; border-right: rgb(204,204,204) 1px solid; font-variant: normal; white-space: normal; border-bottom: rgb(204,204,204) 1px solid; text-transform: none; word-spacing: 0px; font-weight: normal; color: rgb(0,0,0); padding-bottom: 5px; font-style: normal; text-align: left; padding-top: 5px; padding-left: 5px; margin: 5px 0px; border-left: rgb(204,204,204) 1px solid; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 5px; background-color: rgb(245,245,245); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div><pre style="word-wrap: break-word; font-size: 12px !important; font-family: 'Courier New' !important; white-space: pre-wrap; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><%@ page import=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">java.sql.*</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>%> <%@ page import=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">javax.sql.*</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>%> <%@ page import=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">javax.naming.*</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>%> <%!<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> final String JNDINAME </span>= <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">java:comp/env/jdbc/shopping</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> ; </span>%> <%<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> Connection conn </span>= <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">null</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> ; </span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">try</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> { </span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,128,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">//</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,128,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> 初始化查扑֑½åç©ºé—?/span> Context ctx = <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">new</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> InitialContext() ; </span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,128,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">//</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,128,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> 扑ֈ°DataSource</span> DataSource ds =<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> (DataSource)ctx.lookup(JNDINAME) ; conn </span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> ds.getConnection() ; } </span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">catch</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">(Exception e) { System.</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">out</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">.println(e) ; } </span>%> <%=conn%> <% <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,128,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">//</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,128,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> ž®†è¿žæŽ¥é‡æ–°æ”¾å›žåˆ°æ± ä¸­</span> <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px"> conn.close() ; </span>%></pre> <div id="wmqeeuq" class="cnblogs_code_toolbar" style="padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 5px 0px 0px; padding-right: 0px; background-color: rgb(245,245,245)"><span id="wmqeeuq" class="cnblogs_code_copy" style="font-size: 12px !important; font-family: 'Courier New' !important; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 5px"><a onclick="copyCnblogsCode(this)" title="复制代码" style="border-top: medium none; border-right: medium none; border-bottom: medium none; color: rgb(7,93,179); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; text-decoration: underline; margin: 0px; border-left: medium none; padding-right: 0px; background-color: rgb(245,245,245)" href="javascript:void(0);"></a></span></div></div> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><span style="color: rgb(255,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">配置spring</span></p> <div id="wmqeeuq" class="cnblogs_code" style="overflow: auto; font-size: 12px !important; border-top: rgb(204,204,204) 1px solid; font-family: 'Courier New' !important; border-right: rgb(204,204,204) 1px solid; font-variant: normal; white-space: normal; border-bottom: rgb(204,204,204) 1px solid; text-transform: none; word-spacing: 0px; font-weight: normal; color: rgb(0,0,0); padding-bottom: 5px; font-style: normal; text-align: left; padding-top: 5px; padding-left: 5px; margin: 5px 0px; border-left: rgb(204,204,204) 1px solid; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 5px; background-color: rgb(245,245,245); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><pre style="word-wrap: break-word; font-size: 12px !important; font-family: 'Courier New' !important; white-space: pre-wrap; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; padding-right: 0px"><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">配置spring </span><bean id=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">dataSource</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span> <span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(0,0,255); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">class</span>=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">org.springframework.jndi.JndiObjectFactoryBean</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>> <property name=<span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">jndiName</span><span style="font-size: 12px !important; font-family: 'Courier New' !important; color: rgb(128,0,0); padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; line-height: 1.5; padding-right: 0px">"</span>><value>java:comp/env/jdbc/xxx</value></property> </bean></pre></div> <p style="white-space: normal; text-transform: none; word-spacing: 0px; color: rgb(0,0,0); padding-bottom: 0px; text-align: left; padding-top: 0px; font: 13px/19px Verdana, Arial, Helvetica, sans-serif; padding-left: 0px; margin: 10px auto; orphans: 2; widows: 2; letter-spacing: normal; padding-right: 0px; background-color: rgb(254,254,242); text-indent: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"> </p><img src ="http://www.aygfsteel.com/gaojohn933/aggbug/405028.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/gaojohn933/" target="_blank">快乐一å¤?/a> 2013-10-15 23:32 <a href="http://www.aygfsteel.com/gaojohn933/archive/2013/10/15/405028.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux讄¡½®bond¾|‘卡¾l‘定 http://www.aygfsteel.com/gaojohn933/archive/2013/01/15/394234.html快乐一å¤?/dc:creator>快乐一å¤?/author>Tue, 15 Jan 2013 02:59:00 GMThttp://www.aygfsteel.com/gaojohn933/archive/2013/01/15/394234.htmlhttp://www.aygfsteel.com/gaojohn933/comments/394234.htmlhttp://www.aygfsteel.com/gaojohn933/archive/2013/01/15/394234.html#Feedback0http://www.aygfsteel.com/gaojohn933/comments/commentRss/394234.htmlhttp://www.aygfsteel.com/gaojohn933/services/trackbacks/394234.html

 Linux双网卡绑定实现就是ä‹É用两块网卡虚拟成ä¸ÞZ¸€å—网卡,˜q™ä¸ªèšåˆèµäh¥çš„设备看èµäh¥æ˜¯ä¸€ä¸ªå•独的以太¾|‘接口设备,通俗点讲ž®±æ˜¯ä¸¤å—¾|‘卡å…ähœ‰ç›¸åŒçš„IPåœ°å€è€ŒåÆˆè¡Œé“¾æŽ¥èšåˆæˆä¸€ä¸ªé€»è¾‘é“¾èµ\工作。其实这™å?技术在Sunå’ŒCisco中早已存在,被称为Trunkingå’ŒEtherchannel技术,在Linuxçš?.4.xçš„å†…æ æ€¸­ä¹Ÿé‡‡ç”¨è¿™˜q™ç§æŠ€æœ¯ï¼Œè¢«ç§°ä¸ºbondingã€?什么是bonding需要从¾|‘å¡çš„æØœæ?promisc)模式说è“v。我们知道,在正常情况下åQŒç½‘卡只接收目的¼‹¬äšg地址(MAC Address)是自íw«Mac的以太网帧,对于别的数据帧都滤掉åQŒä»¥å‡è½»é©±åЍ½E‹åºçš„负担。但是网卡也支持另外一¿Uè¢«¿UîCØ“æ·äh‚promisc的模式,可以接收¾|‘络上所有的帧,bonding也运行在˜q™ä¸ªæ¨¡å¼ä¸‹ï¼Œè€Œä¸”修改了驱动程序中的mac地址åQŒå°†ä¸¤å—¾|‘卡的Mac地址æ”ÒŽˆç›¸åŒåQŒå¯ä»¥æŽ¥æ”¶ç‰¹å®šmac的数据å“á。然后把相应的数据å“á传送给bond驱动½E‹åºå¤„理ã€?/font>


1.# vim /etc/modprobe.conf
¾~–辑 /etc/modules.conf æ–‡äšgåQŒåŠ å…¥å¦‚ä¸‹ä¸€è¡Œå†…å®¹ï¼Œä»¥ä‹É¾pȝ»Ÿåœ¨å¯åŠ¨æ—¶åŠ è²bonding模块åQŒå¯¹å¤–虚拟网¾lœæŽ¥å£è®¾å¤‡äØ“ bond0
alias bond0 bonding

options bond0 miimon=100 mode=1
说明åQšmiimon是用来进行链路监‹¹‹çš„ã€?比如:miimon=100åQŒé‚£ä¹ˆç³»¾lŸæ¯100ms监测一‹Æ¡é“¾è·¯è¿žæŽ¥çŠ¶æ€ï¼Œå¦‚æžœæœ‰ä¸€æ¡çº¿è·¯ä¸é€šå°±è½¬å…¥å¦ä¸€æ¡çº¿è·¯ï¼›modeçš„å€ÆD¡¨½Cºå·¥ä½œæ¨¡å¼ï¼Œä»–å…±æœ?åQ?,2,3四种模式åQŒå¸¸ç”¨çš„ä¸?,1两种ã€?br/> mode=0表示load balancing (round-robin)ä¸?strong>负蝲均衡方式åQŒä¸¤å—网卡都工作ã€?br/> mode=1表示fault-tolerance (active-backup)提供冗余功能åQŒå·¥ä½œæ–¹å¼æ˜¯ä¸Õd¤‡çš„工作方å¼?也就是说默认情况下只有一块网卡工ä½?另一块做备䆾.

 


modprobe bonding 加蝲bonding模块


2.分别¾~–辑 ifcfg-eth0 ifcfg-eth1

DEVICE=eth0
MASTER=bond0
SLAVE=yes
HWADDR=00:0C:29:86:AD:80
ONBOOT=yes

DEVICE=eth1
MASTER=bond0
SLAVE=yes
ONBOOT=yes
HWADDR=00:0c:29:86:ad:8a

3.vim ifcfg-bond0

DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
ONBOOT=yes
BONDING_OPTS="mode=1 miimon=100 primary=eth0"
 
 

BONDING_OPTS参数解释

此参数用于指定网卡绑定时的属性,以下是对常用参数˜q›è¡Œçš„解释:

miimon参数åQšæŒ‡å®šç½‘å¡æ•…éšœæ—¶çš„åˆ‡æ¢æ—¶é—´é—´éš”ä»¥ms为单位ã€?/span>

primary参数åQšæŒ‡å®šé»˜è®¤çš„ä¸È½‘卡设备ã€?/span>

mode参数åQ?/span>

0åQè½®è¯¢æ¨¡å¼ï¼Œæ‰€¾l‘定的网卡会针对讉K—®ä»¥è½®è¯¢ç®—法进行åã^分ã€?/span>

1åQé«˜å¯ç”¨æ¨¡å¼åQŒè¿è¡Œæ—¶åªä‹É用一个网卡,其余¾|‘å¡ä½œäØ“å¤‡ä†¾åQŒåœ¨è´Ÿè²ä¸è¶…˜q‡å•块网卡带宽或压力时徏议ä‹É用ã€?/span>

2åQåŸºäº?/span>HASH½Ž—法的负载均衡模式,¾|‘卡的分‹¹æŒ‰ç…?/span>xmit_hash_policyçš?/span>TCP协议层设¾|®æ¥˜q›è¡ŒHASH计算分流åQŒä‹É各种不同处理来源的访问都ž®½é‡åœ¨åŒä¸€ä¸ªç½‘卡上˜q›è¡Œå¤„理ã€?/span>

3åQå¹¿æ’­æ¨¡å¼ï¼Œæ‰€æœ‰è¢«¾l‘定的网卡都ž®†å¾—到相同的数据åQŒä¸€èˆ¬ç”¨äºŽååˆ†ç‰¹ŒDŠçš„¾|‘络需求,如需要对两个互相没有˜qžæŽ¥çš„交换机发送相同的数据ã€?/span>

4åQ?/span>802.3ab负蝲均衡模式åQŒè¦æ±‚交换机也支æŒ?/span>802.3ab模式åQŒç†è®ÞZ¸ŠæœåŠ¡å™¨åŠäº¤æ¢æœºéƒ½æ”¯æŒæ­¤æ¨¡å¼æ—¶åQŒç½‘卡带宽最高可以翻å€?/span>(如从1Gbps¾˜Õdˆ°2Gbps)

5åQé€‚é…å™¨è¾“å‡ø™´Ÿè½½å‡è¡¡æ¨¡å¼ï¼Œè¾“出的数据会通过所有被¾l‘定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的¾|‘卡发生故障åQŒåˆ™ç”±å…¶ä»–网卡接½Ž¡ï¼Œè¦æ±‚所用的¾|‘卡及网卡驱动可通过ethtool命ä×o得到speed信息ã€?/span>

6åQé€‚配器输å…?/span>/输出负蝲均衡模式åQŒåœ¨"模式5"的基¼‹€ä¸Šï¼Œåœ¨æŽ¥æ”¶æ•°æ®çš„同时实现负蝲均衡åQŒé™¤è¦æ±‚ethtool命ä×o可得åˆ?/span>speed信息外,˜q˜è¦æ±‚支持对¾|‘卡MAC地址的动态修改功能ã€?/span>

xmit_hash_policy参数(此参数对mode参数中的2ã€?/span>4模式有媄å“?/span>)åQ?/span>

layer1åQé€šè¿‡MAC地址˜q›è¡ŒHASH计算ã€?/span>

计算公式åQ?/span>(MACsrcâŠ?/span>MACdest)% Nslave

layer3+4åQé€šè¿‡TCPå?/span>UDP端口及其IP地址˜q›è¡ŒHASH计算ã€?/span>

计算公式åQ?/span>((portsrcâŠ?/span>portdest)âŠ?/span>(IPsrcâŠ?/span>IPdest)) % Nslave

注意åQ?/font>

mode参数中的0ã€?/span>2ã€?/span>3ã€?/span>4模式要求交换机支æŒ?/span>"ports group"功能òq¶èƒ½˜q›è¡Œç›¸åº”的设¾|®ï¼Œä¾‹å¦‚åœ?/span>Cisco中要ž®†æ‰€˜qžæŽ¥çš„端口设ä¸?/span>"trunk group"ã€?/span>

选择¾l‘定模式的徏è®?/font>

如果¾pȝ»Ÿ‹¹é‡ä¸è¶…˜q‡å•个网卡的带宽åQŒè¯·ä¸è¦é€‰æ‹©ä½¿ç”¨mode 1ä¹‹å¤–çš„æ¨¡å¼ï¼Œå› äØ“è´Ÿè²å‡è¡¡éœ€è¦å¯¹‹¹é‡˜q›è¡Œè®¡ç®—åQŒè¿™å¯¹ç³»¾lŸæ€§èƒ½ä¼šæœ‰æ‰€æŸè€—ã€?/span>

廸™®®mode 5ã€?/span>mode 6只在交换æœÞZ¸æ”¯æŒ"ports group"的情况下选用ã€?/span>

如果交换机及¾|‘卡都确认支æŒ?/span>802.3abåQŒåˆ™å®žçŽ°è´Ÿè²å‡è¡¡æ—¶å°½é‡ä‹Éç”?/span>mode 4以提高系¾lŸæ€§èƒ½

 ä»Šå¤©ä½?a target="_blank" >菊子æ›?/a>了么åQ?/div>

]]>MySQL日期、时间函数æ€È»“åQˆMySQL 5.XåQ?/title><link>http://www.aygfsteel.com/gaojohn933/archive/2011/02/03/343882.html</link><dc:creator>快乐一å¤?/dc:creator><author>快乐一å¤?/author><pubDate>Thu, 03 Feb 2011 02:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/gaojohn933/archive/2011/02/03/343882.html</guid><wfw:comment>http://www.aygfsteel.com/gaojohn933/comments/343882.html</wfw:comment><comments>http://www.aygfsteel.com/gaojohn933/archive/2011/02/03/343882.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/gaojohn933/comments/commentRss/343882.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/gaojohn933/services/trackbacks/343882.html</trackback:ping><description><![CDATA[<h1 class="postTitle"><a class="postTitle2" id="ctl02_TitleUrl" name="ctl02_TitleUrl"></a></h1> <div id="wmqeeuq" class="postBody"> <div class="wmqeeuq" id="cnblogs_post_body"> <div id="wmqeeuq" class="date">一、MySQL 获得当前日期<font size="4">æ—‰™—´ 函数<br/></font>1.1 获得当前日期+æ—‰™—´åQˆdate + timeåQ‰å‡½æ•ŽÍ¼šnow()<br/> mysql> select now();<br/> <br/> +---------------------+<br/> | now() |<br/> +---------------------+<br/> | 2008-08-08 22:20:46 |<br/> +---------------------+<br/> <br/> 除了 now() 函数能获得当前的日期旉™—´å¤–,MySQL 中还有下面的函数åQ?br/> current_timestamp()<br/> ,current_timestamp<br/> ,localtime()<br/> ,localtime<br/> ,localtimestamp -- (v4.0.6)<br/> ,localtimestamp() -- (v4.0.6)<br/> <br/> ˜q™äº›æ—¥æœŸæ—‰™—´å‡½æ•°åQŒéƒ½½{‰åŒäº?now()。鉴äº?now() 函数½Ž€çŸ­æ˜“讎ͼŒå»ø™®®æ€ÀL˜¯ä½¿ç”¨ now() 来替代上面列出的函数ã€?br/> 1.2 获得当前日期+æ—‰™—´åQˆdate + timeåQ‰å‡½æ•ŽÍ¼šsysdate()<br/> sysdate() 日期旉™—´å‡½æ•°è·?now() ¾cÖM¼¼åQŒä¸åŒä¹‹å¤„在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到倹{€‚看下面的例子就明白了:<br/> mysql> select now(), sleep(3), now();<br/> <br/> +---------------------+----------+---------------------+<br/> | now() | sleep(3) | now() |<br/> +---------------------+----------+---------------------+<br/> | 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |<br/> +---------------------+----------+---------------------+<br/> <br/> mysql> select sysdate(), sleep(3), sysdate();<br/> <br/> +---------------------+----------+---------------------+<br/> | sysdate() | sleep(3) | sysdate() |<br/> +---------------------+----------+---------------------+<br/> | 2008-08-08 22:28:41 | 0 | 2008-08-08 22:28:44 |<br/> +---------------------+----------+---------------------+<br/> <br/> 可以看到åQŒè™½ç„¶ä¸­é€?sleep 3 ¿U’,ä½?now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相å·?3 ¿U’。MySQL Manual 中是˜q™æ ·æè¿° sysdate() 的:Return the time at which the function executesã€?br/> sysdate() 日期旉™—´å‡½æ•°åQŒä¸€èˆ¬æƒ…况下很少用到ã€?br/> 2. 获得当前日期åQˆdateåQ‰å‡½æ•ŽÍ¼šcurdate()<br/> mysql> select curdate();<br/> <br/> +------------+<br/> | curdate() |<br/> +------------+<br/> | 2008-08-08 |<br/> +------------+<br/> <br/> 其中åQŒä¸‹é¢çš„两个日期函数½{‰åŒäº?curdate()åQ?br/> current_date()<br/> ,current_date<br/> <br/> 3. 获得当前旉™—´åQˆtimeåQ‰å‡½æ•ŽÍ¼šcurtime()<br/> mysql> select curtime();<br/> <br/> +-----------+<br/> | curtime() |<br/> +-----------+<br/> | 22:41:30 |<br/> +-----------+<br/> <br/> 其中åQŒä¸‹é¢çš„两个旉™—´å‡½æ•°½{‰åŒäº?curtime()åQ?br/> current_time()<br/> ,current_time<br/> <br/> 4. 获得当前 UTC 日期旉™—´å‡½æ•°åQšutc_date(), utc_time(), utc_timestamp()<br/> mysql> select utc_timestamp(), utc_date(), utc_time(), now()<br/> <br/> +---------------------+------------+------------+---------------------+<br/> | utc_timestamp() | utc_date() | utc_time() | now() |<br/> +---------------------+------------+------------+---------------------+<br/> | 2008-08-08 14:47:11 | 2008-08-08 | 14:47:11 | 2008-08-08 22:47:11 |<br/> +---------------------+------------+------------+---------------------+<br/> <br/> å› äØ“æˆ‘å›½ä½äºŽä¸œå…«æ—¶åŒºåQŒæ‰€ä»¥æœ¬åœ°æ—¶é—?= UTC æ—‰™—´ + 8 ž®æ—¶ã€‚UTC æ—‰™—´åœ¨ä¸šåŠ¡æ¶‰åŠå¤šä¸ªå›½å®¶å’Œåœ°åŒºçš„æ—¶å€™ï¼Œéžå¸¸æœ‰ç”¨ã€?br/> <br/> 二、MySQL 日期旉™—´ ExtractåQˆé€‰å–åQ?函数ã€?br/> 1. 选取日期旉™—´çš„各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微¿U?br/> set @dt = '2008-09-10 07:15:30.123456';<br/> <br/> select date(@dt); -- 2008-09-10<br/> select time(@dt); -- 07:15:30.123456<br/> select year(@dt); -- 2008<br/> select quarter(@dt); -- 3<br/> select month(@dt); -- 9<br/> select week(@dt); -- 36<br/> select day(@dt); -- 10<br/> select hour(@dt); -- 7<br/> select minute(@dt); -- 15<br/> select second(@dt); -- 30<br/> select microsecond(@dt); -- 123456<br/> <br/> 2. MySQL Extract() 函数åQŒå¯ä»¥ä¸Šé¢å®žçŽ°ç±»ä¼¼çš„åŠŸèƒ½åQ?br/> set @dt = '2008-09-10 07:15:30.123456';<br/> <br/> select extract(year from @dt); -- 2008<br/> select extract(quarter from @dt); -- 3<br/> select extract(month from @dt); -- 9<br/> select extract(week from @dt); -- 36<br/> select extract(day from @dt); -- 10<br/> select extract(hour from @dt); -- 7<br/> select extract(minute from @dt); -- 15<br/> select extract(second from @dt); -- 30<br/> select extract(microsecond from @dt); -- 123456<br/> <br/> select extract(year_month from @dt); -- 200809<br/> select extract(day_hour from @dt); -- 1007<br/> select extract(day_minute from @dt); -- 100715<br/> select extract(day_second from @dt); -- 10071530<br/> select extract(day_microsecond from @dt); -- 10071530123456<br/> select extract(hour_minute from @dt); -- 715<br/> select extract(hour_second from @dt); -- 71530<br/> select extract(hour_microsecond from @dt); -- 71530123456<br/> select extract(minute_second from @dt); -- 1530<br/> select extract(minute_microsecond from @dt); -- 1530123456<br/> select extract(second_microsecond from @dt); -- 30123456<br/> <br/> MySQL Extract() 函数除了没有date(),time() 的功能外åQŒå…¶ä»–åŠŸèƒ½ä¸€åº”å…·å…¨ã€‚åÆˆä¸”è¿˜å…ähœ‰é€‰å–‘day_microsecondâ€?½{‰åŠŸèƒ½ã€‚æ³¨æ„è¿™é‡Œä¸æ˜¯åªé€‰å– day å’?microsecondåQŒè€Œæ˜¯ä»Žæ—¥æœŸçš„ day 部分一直选取åˆ?microsecond 部分。够强悍的吧åQ?br/> MySQL Extract() 函数唯一不好的地方在于:你需要多敲几‹Æ¡é”®ç›˜ã€?br/> 3. MySQL dayof... 函数åQšdayofweek(), dayofmonth(), dayofyear()<br/> 分别˜q”回日期参数åQŒåœ¨ä¸€å‘¨ã€ä¸€æœˆã€ä¸€òq´ä¸­çš„位¾|®ã€?br/> set @dt = '2008-08-08';<br/> <br/> select dayofweek(@dt); -- 6<br/> select dayofmonth(@dt); -- 8<br/> select dayofyear(@dt); -- 221<br/> <br/> 日期 '2008-08-08' 是一周中的第 6 天(1 = Sunday, 2 = Monday, ..., 7 = SaturdayåQ‰ï¼›ä¸€æœˆä¸­çš„第 8 天;一òq´ä¸­çš„第 221 天ã€?br/> 4. MySQL week... 函数åQšweek(), weekofyear(), dayofweek(), weekday(), yearweek()<br/> set @dt = '2008-08-08';<br/> <br/> select week(@dt); -- 31<br/> select week(@dt,3); -- 32<br/> select weekofyear(@dt); -- 32<br/> <br/> select dayofweek(@dt); -- 6<br/> select weekday(@dt); -- 4<br/> <br/> select yearweek(@dt); -- 200831<br/> <br/> MySQL week() 函数åQŒå¯ä»¥æœ‰ä¸¤ä¸ªå‚æ•°åQŒå…·ä½“可看手册ã€?weekofyear() å’?week() ä¸€æ øP¼Œéƒ½æ˜¯è®¡ç®—“某天”是位于一òq´ä¸­çš„第几周ã€?weekofyear(@dt) ½{‰ä­häº?week(@dt,3)ã€?br/> MySQL weekday() 函数å’?dayofweek() ¾cÖM¼¼åQŒéƒ½æ˜¯è¿”回“某天”在一周中的位¾|®ã€‚不同点在于参考的标准åQ?weekdayåQ?0 = Monday, 1 = Tuesday, ..., 6 = Sunday)åQ?dayofweekåQšï¼ˆ1 = Sunday, 2 = Monday, ..., 7 = SaturdayåQ?br/> MySQL yearweek() 函数åQŒè¿”å›?year(2008) + week 位置(31)ã€?br/> 5. MySQL ˜q”回星期和月份名¿U°å‡½æ•ŽÍ¼šdayname(), monthname()<br/> set @dt = '2008-08-08';<br/> <br/> select dayname(@dt); -- Friday<br/> select monthname(@dt); -- August<br/> <br/> 思考,如何˜q”回中文的名¿U°å‘¢åQ?br/> 6. MySQL last_day() 函数åQšè¿”回月份中的最后一天ã€?br/> select last_day('2008-02-01'); -- 2008-02-29<br/> select last_day('2008-08-08'); -- 2008-08-31<br/> <br/> MySQL last_day() 函数非常有用åQŒæ¯”如我惛_¾—到当前月份中有多ž®‘天åQŒå¯ä»¥è¿™æ äh¥è®¡ç®—åQ?br/> mysql> select now(), day(last_day(now())) as days;<br/> <br/> +---------------------+------+<br/> | now() | days |<br/> +---------------------+------+<br/> | 2008-08-09 11:45:45 | 31 |<br/> +---------------------+------+<br/> <br/> 三、MySQL 日期旉™—´è®¡ç®—函数<br/> 1. MySQL 为日期增加一个时间间隔:date_add()<br/> set @dt = now();<br/> <br/> select date_add(@dt, interval 1 day); -- add 1 day<br/> select date_add(@dt, interval 1 hour); -- add 1 hour<br/> select date_add(@dt, interval 1 minute); -- ...<br/> select date_add(@dt, interval 1 second);<br/> select date_add(@dt, interval 1 microsecond);<br/> select date_add(@dt, interval 1 week);<br/> select date_add(@dt, interval 1 month);<br/> select date_add(@dt, interval 1 quarter);<br/> select date_add(@dt, interval 1 year);<br/> <br/> select date_add(@dt, interval -1 day); -- sub 1 day<br/> <br/> MySQL adddate(), addtime()函数åQŒå¯ä»¥ç”¨ date_add() 来替代。下面是 date_add() 实现 addtime() 功能½CÞZ¾‹åQ?br/> mysql> set @dt = '2008-08-09 12:12:33';<br/> <br/> mysql><br/> mysql> select date_add(@dt, interval '01:15:30' hour_second);<br/> <br/> +------------------------------------------------+<br/> | date_add(@dt, interval '01:15:30' hour_second) |<br/> +------------------------------------------------+<br/> | 2008-08-09 13:28:03 |<br/> +------------------------------------------------+<br/> <br/> mysql> select date_add(@dt, interval '1 01:15:30' day_second);<br/> <br/> +-------------------------------------------------+<br/> | date_add(@dt, interval '1 01:15:30' day_second) |<br/> +-------------------------------------------------+<br/> | 2008-08-10 13:28:03 |<br/> +-------------------------------------------------+<br/> <br/> date_add() 函数åQŒåˆ†åˆ«äØ“ @dt 增加了â€?ž®æ—¶ 15åˆ?30¿U’â€?å’?â€?å¤?1ž®æ—¶ 15åˆ?30¿U’”。徏议:æ€ÀL˜¯ä½¿ç”¨ date_add() 日期旉™—´å‡½æ•°æ¥æ›¿ä»?adddate(), addtime()ã€?br/> 2. MySQL 为日期减åŽÖM¸€ä¸ªæ—¶é—´é—´éš”:date_sub()<br/> mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second);<br/> <br/> +----------------------------------------------------------------+<br/> | date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second) |<br/> +----------------------------------------------------------------+<br/> | 1997-12-30 22:58:59 |<br/> +----------------------------------------------------------------+<br/> <br/> MySQL date_sub() 日期旉™—´å‡½æ•° å’?date_add() 用法一è‡ß_¼Œä¸å†èµ˜è¿°ã€‚另外,MySQL 中还有两个函æ•?subdate(), subtime()åQŒå¾è®®ï¼Œç”?date_sub() 来替代ã€?br/> 3. MySQL 另类日期函数åQšperiod_add(P,N), period_diff(P1,P2)<br/> 函数参数“Pâ€?çš„æ ¼å¼äØ“â€œYYYYMMâ€?或è€?“YYMM”,½W¬äºŒä¸ªå‚数“Nâ€?表示增加或减åŽ?N monthåQˆæœˆåQ‰ã€?br/> MySQL period_add(P,N)åQšæ—¥æœŸåŠ /减去N月ã€?br/> mysql> select period_add(200808,2), period_add(20080808,-2)<br/> <br/> +----------------------+-------------------------+<br/> | period_add(200808,2) | period_add(20080808,-2) |<br/> +----------------------+-------------------------+<br/> | 200810 | 20080806 |<br/> +----------------------+-------------------------+<br/> <br/> MySQL period_diff(P1,P2)åQšæ—¥æœ?P1-P2åQŒè¿”å›?N 个月ã€?br/> mysql> select period_diff(200808, 200801);<br/> <br/> +-----------------------------+<br/> | period_diff(200808, 200801) |<br/> +-----------------------------+<br/> | 7 |<br/> +-----------------------------+<br/> <br/> åœ?MySQL 中,˜q™ä¸¤ä¸ªæ—¥æœŸå‡½æ•ŽÍ¼Œä¸€èˆ¬æƒ…况下很少用到ã€?br/> 4. MySQL 日期、时间相减函敎ͼšdatediff(date1,date2), timediff(time1,time2)<br/> MySQL datediff(date1,date2)åQšä¸¤ä¸ªæ—¥æœŸç›¸å‡?date1 - date2åQŒè¿”回天数ã€?br/> select datediff('2008-08-08', '2008-08-01'); -- 7<br/> select datediff('2008-08-01', '2008-08-08'); -- -7<br/> <br/> MySQL timediff(time1,time2)åQšä¸¤ä¸ªæ—¥æœŸç›¸å‡?time1 - time2åQŒè¿”å›?time 差倹{€?br/> select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08<br/> select timediff('08:08:08', '00:00:00'); -- 08:08:08<br/> <br/> 注意åQštimediff(time1,time2) 函数的两个参数类型必™åȝ›¸åŒã€?br/> <br/> 四、MySQL 日期转换函数、时间è{换函æ•?br/> 1. MySQL åQˆæ—¶é—´ã€ç§’åQ‰è{换函敎ͼštime_to_sec(time), sec_to_time(seconds)<br/> select time_to_sec('01:00:05'); -- 3605<br/> select sec_to_time(3605); -- '01:00:05'<br/> <br/> 2. MySQL åQˆæ—¥æœŸã€å¤©æ•ŽÍ¼‰è½¬æ¢å‡½æ•°åQšto_days(date), from_days(days)<br/> select to_days('0000-00-00'); -- 0<br/> select to_days('2008-08-08'); -- 733627<br/> <br/> select from_days(0); -- '0000-00-00'<br/> select from_days(733627); -- '2008-08-08'<br/> <br/> 3. MySQL Str to Date åQˆå­—½W¦ä¸²è½¬æ¢ä¸ºæ—¥æœŸï¼‰å‡½æ•°åQšstr_to_date(str, format)<br/> select str_to_date('08/09/2008', '%m/%d/%Y'); -- 2008-08-09<br/> select str_to_date('08/09/08' , '%m/%d/%y'); -- 2008-08-09<br/> select str_to_date('08.09.2008', '%m.%d.%Y'); -- 2008-08-09<br/> select str_to_date('08:09:30', '%h:%i:%s'); -- 08:09:30<br/> select str_to_date('08.09.2008 08:09:30', '%m.%d.%Y %h:%i:%s'); -- 2008-08-09 08:09:30<br/> <br/> 可以看到åQŒstr_to_date(str,format) 转换函数åQŒå¯ä»¥æŠŠä¸€äº›æ‚乱无章的字符串è{æ¢äØ“æ—¥æœŸæ ¼å¼ã€‚å¦å¤–ï¼Œå®ƒä¹Ÿå¯ä»¥è½¬æ¢ä¸ºæ—¶é—´ã€‚â€œformatâ€?可以参看 MySQL 手册ã€?br/> 4. MySQL Date/Time to StråQˆæ—¥æœ?æ—‰™—´è½¬æ¢ä¸ºå­—½W¦ä¸²åQ‰å‡½æ•ŽÍ¼šdate_format(date,format), time_format(time,format)<br/> mysql> select date_format('2008-08-08 22:23:00', '%W %M %Y');<br/> <br/> +------------------------------------------------+<br/> | date_format('2008-08-08 22:23:00', '%W %M %Y') |<br/> +------------------------------------------------+<br/> | Friday August 2008 |<br/> +------------------------------------------------+<br/> <br/> mysql> select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s');<br/> <br/> +----------------------------------------------------+<br/> | date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') |<br/> +----------------------------------------------------+<br/> | 20080808222301 |<br/> +----------------------------------------------------+<br/> <br/> mysql> select time_format('22:23:01', '%H.%i.%s');<br/> <br/> +-------------------------------------+<br/> | time_format('22:23:01', '%H.%i.%s') |<br/> +-------------------------------------+<br/> | 22.23.01 |<br/> +-------------------------------------+<br/> <br/> MySQL 日期、时间è{换函敎ͼšdate_format(date,format), time_format(time,format) 能够把一个日æœ?æ—‰™—´è½¬æ¢æˆå„¿Uå„æ ïLš„字符串格式。它æ˜?str_to_date(str,format) 函数çš?一个逆è{换ã€?br/> 5. MySQL 获得国家地区旉™—´æ ¼å¼å‡½æ•°åQšget_format()<br/> MySQL get_format() 语法åQ?br/> get_format(date|time|datetime, 'eur'|'usa'|'jis'|'iso'|'internal'<br/> <br/> MySQL get_format() 用法的全部示例:<br/> select get_format(date,'usa') ; -- '%m.%d.%Y'<br/> select get_format(date,'jis') ; -- '%Y-%m-%d'<br/> select get_format(date,'iso') ; -- '%Y-%m-%d'<br/> select get_format(date,'eur') ; -- '%d.%m.%Y'<br/> select get_format(date,'internal') ; -- '%Y%m%d'<br/> select get_format(datetime,'usa') ; -- '%Y-%m-%d %H.%i.%s'<br/> select get_format(datetime,'jis') ; -- '%Y-%m-%d %H:%i:%s'<br/> select get_format(datetime,'iso') ; -- '%Y-%m-%d %H:%i:%s'<br/> select get_format(datetime,'eur') ; -- '%Y-%m-%d %H.%i.%s'<br/> select get_format(datetime,'internal') ; -- '%Y%m%d%H%i%s'<br/> select get_format(time,'usa') ; -- '%h:%i:%s %p'<br/> select get_format(time,'jis') ; -- '%H:%i:%s'<br/> select get_format(time,'iso') ; -- '%H:%i:%s'<br/> select get_format(time,'eur') ; -- '%H.%i.%s'<br/> select get_format(time,'internal') ; -- '%H%i%s'<br/> <br/> MySQL get_format() 函数在实际中用到æœÞZ¼šçš„æ¯”较少ã€?br/> 6. MySQL 拼凑日期、时间函敎ͼšmakdedate(year,dayofyear), maketime(hour,minute,second)<br/> select makedate(2001,31); -- '2001-01-31'<br/> select makedate(2001,32); -- '2001-02-01'<br/> <br/> select maketime(12,15,30); -- '12:15:30'<br/> <br/> 五、MySQL æ—‰™—´æˆ»I¼ˆTimestampåQ‰å‡½æ•?br/> 1. MySQL 获得当前旉™—´æˆ›_‡½æ•ŽÍ¼šcurrent_timestamp, current_timestamp()<br/> mysql> select current_timestamp, current_timestamp();<br/> <br/> +---------------------+---------------------+<br/> | current_timestamp | current_timestamp() |<br/> +---------------------+---------------------+<br/> | 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |<br/> +---------------------+---------------------+<br/> <br/> 2. MySQL åQˆUnix æ—‰™—´æˆŸë€æ—¥æœŸï¼‰è½¬æ¢å‡½æ•°åQ?br/> unix_timestamp(),<br/> unix_timestamp(date),<br/> from_unixtime(unix_timestamp),<br/> from_unixtime(unix_timestamp,format)<br/> <br/> 下面是示例:<br/> select unix_timestamp(); -- 1218290027<br/> select unix_timestamp('2008-08-08'); -- 1218124800<br/> select unix_timestamp('2008-08-08 12:30:00'); -- 1218169800<br/> <br/> select from_unixtime(1218290027); -- '2008-08-09 21:53:47'<br/> select from_unixtime(1218124800); -- '2008-08-08 00:00:00'<br/> select from_unixtime(1218169800); -- '2008-08-08 12:30:00'<br/> <br/> select from_unixtime(1218169800, '%Y %D %M %h:%i:%s %x'); -- '2008 8th August 12:30:00 2008'<br/> <br/> 3. MySQL æ—‰™—´æˆ»I¼ˆtimestampåQ‰è{换、增、减函数åQ?br/> timestamp(date) -- date to timestamp<br/> timestamp(dt,time) -- dt + time<br/> timestampadd(unit,interval,datetime_expr) --<br/> timestampdiff(unit,datetime_expr1,datetime_expr2) --<br/> <br/> è¯ïLœ‹½CÞZ¾‹éƒ¨åˆ†åQ?br/> select timestamp('2008-08-08'); -- 2008-08-08 00:00:00<br/> select timestamp('2008-08-08 08:00:00', '01:01:01'); -- 2008-08-08 09:01:01<br/> select timestamp('2008-08-08 08:00:00', '10 01:01:01'); -- 2008-08-18 09:01:01<br/> <br/> select timestampadd(day, 1, '2008-08-08 08:00:00'); -- 2008-08-09 08:00:00<br/> select date_add('2008-08-08 08:00:00', interval 1 day); -- 2008-08-09 08:00:00<br/> <br/> MySQL timestampadd() 函数¾cÖM¼¼äº?date_add()ã€?br/> select timestampdiff(year,'2002-05-01','2001-01-01'); -- -1<br/> select timestampdiff(day ,'2002-05-01','2001-01-01'); -- -485<br/> select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); -- -12<br/> <br/> select datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); -- 7<br/> <br/> MySQL timestampdiff() 函数ž®±æ¯” datediff() 功能强多了,datediff() 只能计算两个日期åQˆdateåQ‰ä¹‹é—´ç›¸å·®çš„天数ã€?br/> <br/> 六、MySQL 时区åQˆtimezoneåQ‰è{换函æ•?br/> convert_tz(dt,from_tz,to_tz)<br/> <br/> select convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); -- 2008-08-08 04:00:00<br/> <br/> 时区转换也可以通过 date_add, date_sub, timestampadd 来实现ã€?br/> select date_add('2008-08-08 12:00:00', interval -8 hour); -- 2008-08-08 04:00:00<br/> select date_sub('2008-08-08 12:00:00', interval 8 hour); -- 2008-08-08 04:00:00<br/> select timestampadd(hour, -8, '2008-08-08 12:00:00'); -- 2008-08-08 04:00:00</div> </div> </div><img src ="http://www.aygfsteel.com/gaojohn933/aggbug/343882.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/gaojohn933/" target="_blank">快乐一å¤?/a> 2011-02-03 10:15 <a href="http://www.aygfsteel.com/gaojohn933/archive/2011/02/03/343882.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle向mysql转换http://www.aygfsteel.com/gaojohn933/archive/2011/02/02/343876.html快乐一å¤?/dc:creator>快乐一å¤?/author>Wed, 02 Feb 2011 13:43:00 GMThttp://www.aygfsteel.com/gaojohn933/archive/2011/02/02/343876.htmlhttp://www.aygfsteel.com/gaojohn933/comments/343876.htmlhttp://www.aygfsteel.com/gaojohn933/archive/2011/02/02/343876.html#Feedback0http://www.aygfsteel.com/gaojohn933/comments/commentRss/343876.htmlhttp://www.aygfsteel.com/gaojohn933/services/trackbacks/343876.html有一些没有ä‹É用数据库中间件的软äšg可能会碰到在不同的应用场景需要用不同的数据库åQŒè¿™æ ·å¯èƒ½å°±éœ€è¦å°†æ•°æ®åº“代码做¿UÀL¤åQŒæˆ‘˜q™é‡Œæ•´ç†äº†ä¸€äº›ä»Žoracle到mysql的移植过½E‹ä¸­çš„æ³¨æ„äº‹™å¹ï¼š
1、sequence生成
可以用类似的东西来做,如下åQ?nbsp; 
  create   table   myseq   (   seq   varchar(8));  
  insert   into   myseq   values('0');  
  update   myseq   set   seq   =   last_insert_id(seq+1);  
  select   last_insert_id();  
  ˜q™ä¸œè¥¿å®Œå…¨è·Ÿoracleçš„sequence一致。即使在update之后åQŒselect之前有其它session也update了,本session得到的,仍然是自己update的那一个倹{€?br/> 2、sysdateè½¬äØ“sysdate()
3、substr装换åQŒåŸºæœ¬ä¸éœ€è¦è{æ?br/> 4、nvl转换为ifnull
5、数字è{æ¢äØ“å­—ç¬¦ä¸²çš„to_char函数不用åQŒç›´æŽ¥ç”¨å›_¯åQŒä¸ç”¨å‡½æ•°è{æ?br/> 6、日期格式的to_char转换为date_format
oracle:  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
mysql:  select date_format(now(),'%Y-%m-%d %H-%i-%S')
7、to_date()装换åQŒåˆ é™¤è{换,mysql支持自动转换
8、decodeåQˆï¼‰è½¬æ¢åQ?br/> case when flag=0 then '成功' else 'å¤ÞpÓ|' end
9、rownum转换åQŒåˆ†™åµè{æ?br/> querySql = "select * from  ( select rownum rnm, a.* from ( " + strQuery
      //  + ") a where rownum <= " + getPageEndRow()
        //+ ") where rnm > " + getPageStartRow();
转换为:
querySql = "select * from  ( select 1 rnm, page_a.* from ( " + strQuery
    + ") page_a LIMIT " + getPageStartRow() + "," + getPageSize() + " ) select_page";
10、from子查询è{换,为子查询定义别名
select count(*) from (
select a.login_no,a.LOGIN_NAME,a.EXPIRE_TIME,b.orgname,a.CONTRACT_PHONE,a.info_flag,a.login_level,a.group_id  from DLOGINMSG a left outer join dchngroupinfo b on a.group_id=b.orgno  where 1=1  and a.login_no like '%test%'
) subselect ......


]]>
解决HIbernate3˜qè¡Œå‡ºçްNo CurrentSessionContext configured!错误http://www.aygfsteel.com/gaojohn933/archive/2009/05/13/270351.html快乐一å¤?/dc:creator>快乐一å¤?/author>Wed, 13 May 2009 02:15:00 GMThttp://www.aygfsteel.com/gaojohn933/archive/2009/05/13/270351.htmlhttp://www.aygfsteel.com/gaojohn933/comments/270351.htmlhttp://www.aygfsteel.com/gaojohn933/archive/2009/05/13/270351.html#Feedback0http://www.aygfsteel.com/gaojohn933/comments/commentRss/270351.htmlhttp://www.aygfsteel.com/gaojohn933/services/trackbacks/270351.html

修改配置文äšg:hibernate.cfg.xml

æ ÒŽ®˜qè¡ŒçŽ¯å¢ƒæ·ÕdŠ å¦‚ä¸‹é…ç½®åQ?/font>

1åQ‰åœ¨å®¹å™¨ä¸­è¿è¡Œï¼š

     jta

2) 独立˜qè¡ŒåQ?/font>

     thread



]]>
Linux安装JBoss http://www.aygfsteel.com/gaojohn933/archive/2008/08/08/220804.html快乐一�/dc:creator>快乐一�/author>Thu, 07 Aug 2008 18:09:00 GMThttp://www.aygfsteel.com/gaojohn933/archive/2008/08/08/220804.htmlhttp://www.aygfsteel.com/gaojohn933/comments/220804.htmlhttp://www.aygfsteel.com/gaojohn933/archive/2008/08/08/220804.html#Feedback1http://www.aygfsteel.com/gaojohn933/comments/commentRss/220804.htmlhttp://www.aygfsteel.com/gaojohn933/services/trackbacks/220804.html

安装JBoss

[jboss@node1 ~]$ unzip jboss-4.0.5.GA.zip 

[jboss@node1 ~]$ vi JBOSS_HOME/bin/run.conf

 æ·ÕdŠ JAVA_HOME,查找òq¶å°†¾U¢è‰²ä¸€è¡?/font>

30 # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". 

31 # 

32 #JAVA_HOME="/opt/java/jdk"

 æ›¿æ¢æˆ?/font>

30 # be defined to $JAVA_HOME/bin/java, else $JAVA will be "java". 

31 # 

32 JAVA_HOME="/home/jboss/jdk1.5.0_14" //你的JDK安装路径

 ä½¿ç”¨":wq"保存退å‡?/font>

 2.6 JBoss的启动和关闭

½H—口启动方式及后台启动方式(事实上,˜q™ç§å¯åŠ¨æ˜¯é»˜è®¤æ‰§è¡Œäº†ä¸€ä¸ªå¯åŠ¨å‚æ•°run.sh -c default,在JBOSS_HOME/server/中,有jboss的三¿Ué…¾|®ï¼šall,default,minimal。你也可以自己复制其中的文äšgå¤¹ï¼Œå‘½åä¸ø™‡ªå·Þqš„æœåŠ¡åQŒå¦‚åQšmyserveråQŒå¯åŠ¨çš„æ—¶å€™åªéœ€è¦run.sh -c myserverž®Þp¡Œäº†ã€‚)åQ?/font>

[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh //启动后此½H—口不能再做他用 

[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh & //启动后此½H—口˜q˜å¯¾l§ç®‹˜q›è¡Œå…¶ä»–操作

 ½H—口启动方式及后台启动方式的关闭åQ?/font>

½H—口启动方式的,在此½H—口直接按“Ctrl+C”就行了

[jboss@node1 ~]$ JBOSS_HOME/bin/shutdown.sh -S //后台启动方式的关�/font>

 æ³¨æ„åQšä¸Šé¢æ‰€è¯´çš„JBoss4.0.5.GA的运行与关闭方式åQŒç”±äºŽJBoss的后¾l­ç‰ˆæœ¬ï¼ˆ4.2.0GA+åQ‰åšäº†å®‰å…¨ä¿®æ”¹ï¼Œä¸åƒJBoss4.0.5.GA那样åQŒé»˜è®¤å°±æ˜¯å¯åŠ¨äº†å…¨å±€æš´éœ²åQˆå°±æ˜¯å¤–IP都可以访问)åQŒè€Œæ˜¯éœ€è¦å¢žåŠ ä¸€ä¸ªå¯åŠ¨å‚æ•ŽÍ¼Œæ‰èƒ½è¢«å¤–IP讉K—®åQŒå› æ­¤å¯åŠ¨å‘½ä»¤å˜æˆï¼š

[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -b ä½ çš„IP地址 //暴露此IP上的jboss服务åQŒå¦‚果一个机器上æœ?以上的ip呢?如下命ä×oåQŒæš´éœ²æ‰€æœ‰ip上的jboss服务

[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -b 0.0.0.0

 éšä¹‹å…³é—­å‘½åä¹Ÿå°±å˜æˆåQ?/font>

[jboss@node1 ~]$ JBOSS_HOME/bin/shutdown.sh -S -s 你的IP地址



JBoss集群配置

3.3.1 加入集群åQ?/font>

¾~–辑JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/server.xmlæ–‡äšgåQˆåœ¨jboss中,all的配¾|®å°±æ˜¯é›†¾Ÿ¤é…¾|®ï¼Œè€Œjbossweb-tomcat50.sar是jboss4.0.5.GA的配¾|®ï¼Œåœ?.2.0+里是jboss-web.deployeråQ‰ï¼š

<Engine name="jboss.web" defaultHost="localhost">  

... ...  

</Engine>  

ä¸? 

<Engine name="jboss.web" defaultHost="localhost" 

jvmRoute="node1">  

... ...  

</Engine>  

<!--其中åQŒnode1䏸™Š‚点名åQŒä¸Žå‰é¢mod_jk那里的workers.properties里的节点对应-->

3.3.2 ‹È€‹z»mod_jk

¾~–辑JBOSS_HOME/server/all/deploy/jbossweb-tomcat50.sar/META-INF/

jboss-service.xmlæ–‡äšgåQ?/font>

<attribute name="UseJK">fasle</attribute>  

<!--æ”¹äØ“ --> 

<attribute name="UseJK">true</attribute>

3.3.3 配置应用集群

Session复制åQ?/font>

修改YOURAPP/WEB-INF/web.xmlæ–‡äšgåQŒåœ¨web.xmlæ–‡äšg的开头增加distributableåQ?/font>

<?xml version="1.0"?>  

<web-app    http://java.sun.com/xml/ns/j2ee="http://java.sun.com/xml/ns/j2ee"  

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  

version="2.4">  

<distributable/>  

<!-- ... -->  

</web-app>

 é…ç½®Session复制模式åQ?/font>

增加YOURAPP/WEB-INF/jboss-web.xmlæ–‡äšgåQŒæ·»åŠ å¦‚ä¸‹å†…å®¹ï¼ˆ˜q™éƒ½æ˜¯é»˜è®¤ï¼Œå…·ä½“的要æ ÒŽ®ä½ çš„应用、运行环境来配置åQŒå¯å‚考《JBoss企业¾U§åº”用服务åã^台群集指南》的英文官方文档åQ‰ï¼š

<?xml version="1.0"?>  

<jboss-web>  

<replication-config>  

<replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>  

<replication-granularity>SESSION</replication-granularity>  

<replication-field-batch-mode>true</replication-field-batch-mode>  

</replication-config>  

</jboss-web>

 3.4 JBoss集群的启动与关闭

与前面的单个jbosså¯åŠ¨å’Œå…³é—­ä¸€æ øP¼Œåªæ˜¯åœ¨å¯åŠ¨å‘½ä»¤é‡Œçš„æŠŠdefault换成了allåQ?/font>

[jboss@node1 ~]$ JBOSS_HOME/bin/run.sh -c all

 3.5 JBoss集群下的应用½E‹åºéƒ¨çÖv及卸è½?/font>

        JBoss集群里有个farming服务åQŒå³çƒ­éƒ¨¾|²åº”用归档文ä»?(例如, EARåŒ? WAR 包或æ˜?SAR 包。不是文件夹后面加个".war"的那¿Uï¼‰ã€?/font>

    ž®†ä½ çš„应用程序打好EAR½{‰å½’档文件包攑ֈ°é›†ç¾¤ä¸­ä“Q意一台JBossçš?[JBOSS_HOME/server/all/farm]æ–‡äšg夹中åQ?JBoss会自动的复制此应用归档文件到集群中的其他节点òq¶å®Œæˆéƒ¨¾|ŒÓ€?/font>

    在运行的JBoss集群服务中,从ä“Q何一个节点的farm/ 目录下删除应用,应用½E‹åºé¦–先从本地卸载,然后再从集群中其他服务节点的farm目录删除应用ã€?/font>

3.6 å…¶ä»–

    上面所做的配置和修攚wƒ½æ˜¯ä‹É用Apache做前端HTTP负蝲的方式,如果使用其他¼‹¬äšg产品做前端负载(如:F5åQ‰ï¼Œåˆ™JBoss不需要修改,只需使用[JBOSS_HOME/bin/run.sh –c all]启动卛_¯ã€‚同æ—Óž¼Œä¸ç®¡å“ªç§æ–¹å¼åQŒJBoss都是要在同一个网ŒDµä¸­åQˆå¦‚åQ?92.168.1.*åQ‰ã€?/font>

 å¥½äº†åQŒåˆ°æ­¤jboss的简单群集配¾|®å®Œæ¯•。水òqÏxœ‰é™ï¼Œé”™è¯¯ä¹‹å¤„误‚°…解。也希望大家的完善ã€?/font>





]]>
Linux下安装java http://www.aygfsteel.com/gaojohn933/archive/2008/08/07/220784.html快乐一�/dc:creator>快乐一�/author>Thu, 07 Aug 2008 15:05:00 GMThttp://www.aygfsteel.com/gaojohn933/archive/2008/08/07/220784.htmlhttp://www.aygfsteel.com/gaojohn933/comments/220784.htmlhttp://www.aygfsteel.com/gaojohn933/archive/2008/08/07/220784.html#Feedback0http://www.aygfsteel.com/gaojohn933/comments/commentRss/220784.htmlhttp://www.aygfsteel.com/gaojohn933/services/trackbacks/220784.html
      现在用linux的朋友越来越多了åQŒå‰å‡ å¤©ž®±æœ‰ä¸¤ä¸ªæœ‹å‹é—®æˆ‘linux下怎么配置java环境åQŒæˆ‘惌™¿˜æœ‰å¾ˆå¤šæœ‹å‹æƒ³äº†è§£å­¦ä¹ ˜q™æ–¹é¢çš„东西åQŒå°±å†™ä¸€ä¸ªå®Œå…¨ä¸€ç‚¹çš„linux java环境配置吧,希望对大家有帮助ã€?/font>
一. 下蝲jdk5.0 for linux
  到sun的主™å?http://java.sun.com/j2se/1.5.0/download.jsp 下蝲jdk安装文äšgjdk-1_5_0_05-linux-i586.bin
� 解压安装jdk
   在shell¾lˆç«¯ä¸‹è¿›å…¥jdk-1_5_0_05-linux-i586.binæ–‡äšg所在目录,执行命ä×o ./jdk-1_5_0_05-linux-i586.bin ˜q™æ—¶ä¼šå‡ºçŽîC¸€ŒDµåè®®ï¼Œ˜qžç‘ô敲回车,当询问是否同意的时候,输入yesåQŒå›žè½¦ã€‚之后会在当前目录下生成一个jdk-1.5.0_05目录åQŒä½ å¯ä»¥ž®†å®ƒå¤åˆ¶åˆ?ä»ÖM½•一个目录下ã€?/font>
ä¸? 需要配¾|®çš„环境变量
  1. PATH环境变量。作用是指定命ä×o搜烦路径åQŒåœ¨shell下面执行命ä×oæ—Óž¼Œå®ƒä¼šåˆ°PATH变量所指定的èµ\径中查找看是否能扑ֈ°ç›¸åº”的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文äšg如javac/java/javadoc½{‰å¾…åQŒè®¾¾|®å¥½ PATH变量后,ž®±å¯ä»¥åœ¨ä»ÖM½•目录下执行javac/java½{‰å·¥å…·äº†ã€?/font>
  2. CLASSPATH环境变量。作用是指定¾cÀLœç´¢èµ\径,要ä‹É用已¾lç¼–写好的类åQŒå‰æå½“然是能够扑ֈ°å®ƒä»¬äº†ï¼ŒJVMž®±æ˜¯é€šè¿‡CLASSPTH来寻扄¡±»çš„。我ä»?需要把jdk安装目录下的lib子目录中的dt.jarå’Œtools.jar讄¡½®åˆ°CLASSPATH中,当然åQŒå½“前目录â€?”也必须加入到该变量中ã€?/font>
  3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat½{‰èÊY件就是通过搜烦JAVA_HOMEå˜é‡æ¥æ‰¾åˆ°åÆˆä½¿ç”¨å®‰è£…å¥½çš„jdkã€?/font>
� 三种配置环境变量的方�/font>
  1. 修改/etc/profileæ–‡äšg
    如果你的计算æœÞZ»…仅作为开发ä‹É用时推荐使用˜q™ç§æ–ÒŽ³•åQŒå› ä¸ºæ‰€æœ‰ç”¨æˆïLš„shell都有权ä‹É用这些环境变量,可能会给¾pȝ»Ÿå¸¦æ¥å®‰å…¨æ€§é—®é¢˜ã€?/font>
    ·用文本编辑器打开/etc/profile
    ·在profileæ–‡äšg末尾加入åQ?/font>
      JAVA_HOME=/usr/share/jdk1.5.0_05
      PATH=$JAVA_HOME/bin:$PATH
      CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      export JAVA_HOME
      export PATH
      export CLASSPATH
    ·重新ç™Õd½•

    ·注解
      a. 你要ž®?/usr/share/jdk1.5.0_05jdk æ”¹äØ“ä½ çš„jdk安装目录
      b. linux下用冒号�”来分隔路径
      c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的�/font>
                           在设¾|®çŽ¯å¢ƒå˜é‡æ—¶ç‰¹åˆ«è¦æ³¨æ„ä¸èƒ½æŠŠåŽŸæ¥çš„å€¼ç»™è¦†ç›–æŽ‰äº†åQŒè¿™æ˜¯ä¸€¿Uå¸¸è§çš„错误ã€?/font>
      d. CLASSPATH中当前目录�”不能丢,把当前目录丢掉也是常见的错误�/font>
      e. export是把˜q™ä¸‰ä¸ªå˜é‡å¯¼å‡ÞZؓ全局变量ã€?/font>
      f. 大小写必™åÖM¸¥æ ¼åŒºåˆ†ã€?/font>
  2. 修改.bashrcæ–‡äšg
    ˜q™ç§æ–ÒŽ³•æ›´äØ“å®‰å…¨åQŒå®ƒå¯ä»¥æŠŠä‹É用这些环境变量的权限控制到用æˆïLñ”别,如果你需要给某个用户权限使用˜q™äº›çŽ¯å¢ƒå˜é‡åQŒä½ åªéœ€è¦ä¿®æ”¹å…¶ä¸ªäh用户ä¸È›®å½•下çš?bashrcæ–‡äšgž®±å¯ä»¥äº†ã€?/font>
    ·用文本编辑器打开用户目录下的.bashrcæ–‡äšg
    ·åœ?bashrcæ–‡äšg末尾加入åQ?/font>
      set JAVA_HOME=/usr/share/jdk1.5.0_05
      export JAVA_HOME
      set PATH=$JAVA_HOME/bin:$PATH
              export PATH
              set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
              export CLASSPATH
    ·重新ç™Õd½•
  3. 直接在shell下设¾|®å˜é‡?/font>
    不赞成ä‹É用这¿Uæ–¹æ³•ï¼Œå› äØ“æ¢ä¸ªshellåQŒä½ çš„设¾|®å°±æ— æ•ˆäº†ï¼Œå› æ­¤˜q™ç§æ–ÒŽ³•仅仅是äÍæ—¶ä‹É用,以后要ä‹É用的时候又要重新设¾|®ï¼Œæ¯”较éºÈƒ¦ã€?/font>
    只需在shell¾lˆç«¯æ‰§è¡Œä¸‹åˆ—命ä×oåQ?/font>
    export JAVA_HOME=/usr/share/jdk1.5.0_05
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

äº? ‹¹‹è¯•jdk
  1. 用文本编辑器新徏一个Test.javaæ–‡äšgåQŒåœ¨å…¶ä¸­è¾“入以下代码òq¶ä¿å­˜ï¼š
    public class test {
      public static void main(String args[]) {
        System.out.println("A new jdk test !");
      }
    }
  2. ¾~–译åQšåœ¨shell¾lˆç«¯æ‰§è¡Œå‘½ä×o javac Test.java
  3. ˜qè¡ŒåQšåœ¨shell¾lˆç«¯æ‰§è¡Œå‘½ä×o java Test
    当shell下出现“A new jdk test !”字样则jdk˜qè¡Œæ­£å¸¸ã€?/font>
å…? 卸蝲jdk·扑ֈ°jdk安装目录的_uninst子目å½?/font>
  ·在shell¾lˆç«¯æ‰§è¡Œå‘½ä×o./uninstall.sh卛_¯å¸è²jdkã€? 



]]>
linux环境下安装MySQL http://www.aygfsteel.com/gaojohn933/archive/2008/07/30/218564.html快乐一�/dc:creator>快乐一�/author>Tue, 29 Jul 2008 18:20:00 GMThttp://www.aygfsteel.com/gaojohn933/archive/2008/07/30/218564.htmlhttp://www.aygfsteel.com/gaojohn933/comments/218564.htmlhttp://www.aygfsteel.com/gaojohn933/archive/2008/07/30/218564.html#Feedback0http://www.aygfsteel.com/gaojohn933/comments/commentRss/218564.htmlhttp://www.aygfsteel.com/gaojohn933/services/trackbacks/218564.html阅读全文

]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ¾®ÚêÏØ| ²ýÍ¼ÏØ| ¹È³ÇÏØ| ¾üÊÂ| ³£ÄþÊÐ| ÔÆºÍÏØ| Ë«½­| ÂêÇßÏØ| ÆÕÍÓÇø| È«½·ÏØ| ¹ÅÌïÏØ| Ëì´¨ÏØ| äØÌ¶ÏØ| ʯ×ìɽÊÐ| ÌÁ¹ÁÇø| ÎÚ³ľÆëÏØ| ÓÀ´¨ÊÐ| ½ºÄÏÊÐ| ͨ»¯ÏØ| ÈÎÇðÊÐ| Îä¶¨ÏØ| ÅͰ²ÏØ| ÉÜÐËÊÐ| ´¾»¯ÏØ| ²ÔÎàÏØ| ¸§Ë³ÊÐ| Í­´¨ÊÐ| ¸·ÄþÏØ| ¿ªÂ³ÏØ| Çú¾¸ÊÐ| Ôö³ÇÊÐ| ÊÖÓÎ| Àû´¨ÊÐ| ÀñÈªÏØ| ¿ªÂ³ÏØ| ËÉÑôÏØ| °¢ºÏÆæÏØ| ÕýÄþÏØ| ̨ÖÐÊÐ| ²´Í·ÊÐ| ÐÐÌÆÏØ|