Ecologyϵͳ³ÌÐòÔ±¿ª·¢Ö¸ÄÏ
Îļþ±àºÅ£º ÉúЧÈÕÆÚ£º FFPD-0100- JSWD- 001 2003-08-25 Ãܼ¶£º °æ´Î£º1.1 ×ÜÒ³Êý ÕýÎÄ ±àÖÆ£ºÑî¹úÉú ÉóºË£ºÁõìÏ ÊܿرàºÅ£º FFPD-0100- JSWD- 001 ÐÞ¸Ä״̬£º ¸½Â¼ Åú×¼£ºÁõìÏ
ÎļþÐ޸ĿØÖÆ
Ð޸ļǼ±àºÅ A1 ÐÞ¸Ä ×´Ì¬ н¨V1.0 ÐÞ¸ÄÒ³Âë¼°Ìõ¿î ÐÞ¸ÄÈË ÉóºËÈË Åú×¼ÈË Ñî¹úÉú ÁõìÏ ÁõìÏ ÐÞ¸ÄÈÕÆÚ 2003-08-25
2 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
Ŀ ¼
1. ÒýÑÔ........................................................................................................................ 4 1.1 ¸ÅÊö................................................................................................................ 4 1.2 ¶¨Òå................................................................................................................ 4 1.3 ²Î¿¼×ÊÁÏ........................................................................................................ 4 2. ¿ª·¢¹æ·¶................................................................................................................ 5 3. µ×²ã°üÓ¦Óü°·¶Àý................................................................................................ 7 3.1 ×î»ù±¾µÄ¼Ì³ÐÀà............................................................................................ 7 3.2 ÔõÑù¼Ç¼ÈÕÖ¾................................................................................................ 8 3.3 ÔõÑù»ñÈ¡ÊôÐÔÎļþµÄÖµ.............................................................................. 11 3.4 ÔõÑù»ñȡϵͳµÄÔËÐÐĿ¼.......................................................................... 13 3.5 ÔõÑù·ÃÎʺÍÔËÐÐÊý¾Ý¿â½Å±¾...................................................................... 14 3.6 ÈçºÎÉÏ´«Ò»¸öÎļþ...................................................................................... 18 3.7 ÈçºÎ·ÃÎÊÒѾÉÏ´«µÄÎļþ.......................................................................... 22 3.8 ÈçºÎʹÓûº´æÌá¸ßϵͳЧÂÊ...................................................................... 23 3.9 ÆäËüµ×²ãÀà»ù±¾·½·¨.................................................................................. 32
3 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
1. ÒýÑÔ
1.1 ¸ÅÊö
±¾ÐèÇóÎĵµÎª·ºÎ¢ÐͬÉÌÎñϵͳ£¨Ecology£©³ÌÐòÔ±¿ª·¢Ö¸µ¼Îĵµ£¬½²ÊöÁË¿ª·¢µÄ¹æ·¶£¬µ×²ã¹¤¾ß°üµÄÓ¦Ó㬳£Óù¦ÄܵĿª·¢¡£Í¨¹ý±¾Îĵµ£¬¿ª·¢ÈËÔ±Ó¦ÕÆÎÕ
1.2 ¶¨Òå
1.3 ²Î¿¼×ÊÁÏ
Êé¼®×ÊÁÏ ±àºÅ ×ÊÁÏÃû³Æ ¼ò½é 1 Thinking in java Java ˼Ïë£Ò»±¾ºÜ²»´íµÄÊé 2 Java Servlet Programing Java Servlet ±à³Ì 3 J2EE ´óÈ« J2EE µÄÒ»±¾Ñ§Ï°Êé
IntenetÉÏÔÓÖ¾¡¢×¨ÒµÖø×÷¡¢¼¼Êõ±ê×¼ÒÔ¼°ËûÃǵÄÍøÖ·¡£ ÍøÖ· ¼ò½é Java.sun.com SUN µÄjava ÍøÕ¾ www.java-cn.net java ÖÐÎÄÕ¾ £¨½Ï¶àµÄÊé¼®£¬ ´úÂ룩 www.javastudy.org java Ñ§Ï°Íø
4 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
2. ¿ª·¢¹æ·¶
³ÌÐòÎļþÍ·²¿¼ÓÉÏÎļþÃèÊö£¬°üÀ¨±êÌ⣬ÃèÊö£¬¹«Ë¾£¬×÷Õߣ¬°æ±¾£¬´´½¨ÈÕÆÚ£¬Ð޸ļǼ£¬ÈçÏ£º /**
* Title: Êý¾Ý¿âÁ´½Ó³Ø¼¯ºÏ
* Description: ËùÓеÄÊý¾Ý¿âÁ´½Ó³ØµÄ¼¯ºÏ£¬ÓÃÁ´½Ó³ØÃû³ÆÇø±ðÿһ¸ö * Á´½Ó³Ø * Company: ·ºÎ¢Èí¼þ * @author : Ñî¹úÉú * @version 1.0
* create date : 2001-10-23 * modify log:
* 2002-09-13 Ñî¹úÉú Ôö¼ÓÁ´½Ó³ØEncode²ÎÊý * * */
¸÷¸öÃ÷ÏÔ²¿·Ö¼ä¼Ó¿ÕÐУ¬¸÷·½·¨¼ä¼Ó¿ÕÐУ¬·½·¨Ç°Ãæ¼Ó·½·¨µÄ×¢ÊÍ£¬×ñ´ÓJavaDoc¹æ·¶£¬ÓëËùÊÍ·½·¨¼ä²»¼Ó¿ÕÐС£×¢ÊÍÓÃÖÐÎĸø³ö£º /**
* ´ÓÖ¸¶¨Ãû³ÆµÄÁ´½Ó³ØÖлñµÃÒ»¸ö¿ÉÓÃÁ¬½Ó.ÈôûÓпÉÓÃÁ¬½Ó,ÇÒÒÑÓÐÁ¬½Ó * ÊýСÓÚ×î´óÁ¬½ÓÊýÏÞÖÆ, Ôò´´½¨²¢·µ»ØÐÂÁ¬½Ó.·ñÔò, ÔÚÖ¸¶¨µÄʱ¼äÄÚµÈ * ´ýÆäËüÏß³ÌÊÍ·ÅÁ¬½Ó.ÈçÖ¸¶¨µÄʱ¼äÄÚûÓÐÁ´½Ó·µ»Ø£¬Ôò·µ»Ø¿Õ¡£ *
* @param name Á¬½Ó³ØÃû×Ö
* @param time ÒÔºÁÃë¼ÆµÄµÈ´ýʱ¼ä
* @return WeaverConnection ¿ÉÓÃÁ¬½Ó»ònull */
public WeaverConnection getConnection(String name, int time) {
DBConnectionPool pool = (DBConnectionPool) pools.get( name ) ; if (pool == null) pool = createPools( name ) ; if (pool != null) { clients ++ ; return pool.getConnection( time ) ; } return null; }
·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
5
´óÀ¨ºÅ{ ²»»»ÐУ¬ } ÐèÒª»»ÐС£µ±ÖдúÂëÒªËõ½ø¡£Ëõ½øÎª4¸ö¿Õ¸ñ£¬±ØÐëÒÔ¿Õ¸ñ´úÌæTab¼ü¡£
Ô²À¨ºÅ()ÓëÇ°ÃæµÄ·½·¨Ãû¼äÁôÒ»¸ö¿Õ¸ñ£¬À¨ºÅÄÚµÄÿ¸ö²ÎÊýǰÁôÒ»¸ö¿Õ¸ñ£¬×îºóÒ»¸ö²ÎÊýºóÒ²ÁôÒ»¸ö¿Õ¸ñ¡£
¶ººÅºóÃæ£¬·ÖºÅÇ°Ãæ£¬ÔËËã·ûºÅºÍêçÖµ·ûºÅµÄǰºó£¬ÁôÒ»¸ö¿Õ¸ñ¡£
Àà¡¢½Ó¿ÚÃû´óд×Öĸ¿ªÍ·£¬ºóÃæµ¥´ÊÊ××Öĸ´óд¡£¾¡Á¿²»ÓÃÏ»®Ïß¡£ÈçUserGroup£¨Class£©¡£
¶ÔÏóʵÀý¡¢±äÁ¿Ð¡Ð´×Öĸ¿ªÍ·£¬ºóÃæµ¥´Ê´óд¡£ÈçuserSQLBean£¨UserSQL¶ÔÏóµÄʵÀý£© £¬ locationName£¨±äÁ¿£©¡£
·½·¨ÃûСд×Öĸ¿ªÍ·£¬Ê×µ¥´ÊÒ»°ãΪ¶¯´Ê£¬ºóÃæµ¥´Ê´óд¿ªÍ·¡£ÈçUser.getUserName£¬UserSQLBean.formatSQLSearch¡£
¿ª·¢´úÂë²»ÄÜʹÓõ±Ç°¿ª·¢»·¾³ÒѾ²»½¨ÒéʹÓõķ½·¨¡£ÔÚ¿ª·¢»·¾³Éý¼¶µÄʱºò£¬ÐèÒªÖØÐ±àÒëÔÓÐϵͳµÄ´úÂ룬Èç·¢ÏÖÔÓÐϵͳ´æÔÚÉý¼¶µÄ»·¾³Öв»½¨ÒéʹÓõķ½·¨£¬Ó¦½øÐиüС£
6 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
3. µ×²ã°üÓ¦Óü°·¶Àý
±¾Õ¶ÔecologyϵͳµÄµ×²ã¹¤¾ß°ü½øÐн²½â£¬¿ª·¢ÈËÔ±¿ÉÒÔ´ÓÕâÀïѧµ½ÔõÑùÀûÓõײãµÄ¹¤¾ß°ü½øÐпª·¢
3.1 ×î»ù±¾µÄ¼Ì³ÐÀà
ÿһ¸öjava bean ¶¼ÐèÒª¼Ì³Ð weaver.general.BaseBean Àà £¬Ã¿Ò»¸ö servlet ¶¼ÐèÒª¼Ì³Ðweaver.general. DynamicServlet¡£ÕâÁ½¸öÀ඼ʵÏÖÁ˼ǼÈÕÖ¾ºÍ»ñÈ¡ÊôÐÔÎļþÖµµÄ·½·¨¡£¼Ì³ÐÕâÁ½¸öÀàµÄÆäËüÀà¿ÉÖ±½ÓÓ¦ÓÃÕâЩ·½·¨À´¼Ç¼ÈÕÖ¾£¬»ñÈ¡ÊôÐÔÎļþijһ¸öÊôÐÔµÄÖµ¡£·½·¨µÄʵÏÖ¼ûºóÃæµÄÀý×Ó¡£¼Ì³ÐÁËweaver.general. DynamicServletÀàµÄservletÒѾÊÇÒ»¸öservletÁË£¬Ö»ÐèҪʵÏÖweaver.general. DynamicServletÀàµÄ³éÏó·½·¨doProcess¾Í¿ÉÒÔʵÏÖ doGet ºÍdoPost ·½·¨ÁË¡£
¼Ì³ÐµÄÀý×ÓÈçÏ£º
java bean µÄ¼Ì³Ð
public class ResourceComInfo extends BaseBean { public void doSomething() { //ijһ¸ö·½·¨ ·½·¨µÄ´¦Àí¡¡¡ writeLog(s) ; // дÈÕÖ¾ } }
servlet µÄ¼Ì³Ð
public class HelloServlet extends DynamicServlet {
public void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
¶ÔÇëÇóµÄ´¦Àí¡¡¡.. } }
7 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
3.2 ÔõÑù¼Ç¼ÈÕÖ¾
¼Ì³ÐÁËweaver.general.BaseBean »òweaver.general. DynamicServletµÄÀ࣬¿ÉÒÔÖ±½ÓʹÓà writeLog·½·¨¼Ç¼ÈÕÖ¾ÐÅÏ¢¡£×¢ÒâÕâÀïÊÇʹÓ㬶ø²»Êǵ÷Óã¬ÒòΪÕâ¸ö·½·¨ÊÇÕâÁ½¸ö±»¼Ì³ÐÀàÖеķ½·¨¡£
×¢ÒâwriteLog ·½·¨µÄʹÓ㺠/**
* ½«Ä³¸ö¶ÔÏóдÈëLogÎļþ * @param obj ±»Ð´ÈëµÄ¶ÔÏó */
public void writeLog(Object obj)
ÎÒÃÇ¿´µ½£¬¿ÉÒÔ±»¼ÇÈëÈÕÖ¾µÄÊÇÈÎÒâÒ»¸öjava¶ÔÏó¡£ÕâЩjava¶ÔÏ󽫱»×Ô¶¯×ª»»³É×Ö·û´®¶ÔÏó£¨String£©¼ÇÈëµ½ÈÕÖ¾ÎļþÖС£ÈÕÖ¾Îļþ½«Ã¿ÌìÉú³ÉÒ»¸ö£¬ÒÔÈÕÖ¾ÎļþÃû³ÆÖеÄÈÕÆÚÀ´Çø±ð£¬±ÈÈ磺ecology20030812.log£¬´ú±í2003Äê8ÔÂ12ÈÕµÄÈÕÖ¾¡£Ã¿Ò»ÌõÈÕÖ¾µÄ¼Ç¼¸ñʽΪ £º
YYYY.MM.DD-HH:MM:SS ¼Ç¼ÈÕÖ¾µÄÀàÃû ¨C ÈÕÖ¾ÐÅÏ¢ ±ÈÈ磺
2003.03.11-06:52:05 weaver.datacenter.OutReportResult - sql is select ROUND(sum(F_sksr),5) from T_yyrb A , CRM_CustomerInfo where CRM_CustomerInfo.id=A.crmid and CRM_CustomerInfo.id in(5) and
A.reportdate >= '2004-01-10' and A.reportdate <= '2004-03-10' and A.inputstatus >= '0' and A.inputstatus<>'9' and A.modtype='0'
ÈÕÖ¾µÄ¼Ç¼ÓÐÁ½ÖÖģʽ£¬µÚÒ»ÖÖΪµ÷ÊÔģʽ£¬µÚ¶þÖÖΪÔÚÏßģʽ¡£ÔÚµÚÒ»ÖÖģʽÏ£¬ËùÓеÄjava¶ÔÏó¶¼»á¼Ç¼µ½ÈÕÖ¾ÎļþÖУ¬°üÀ¨µ÷ÊÔÐÅÏ¢£¬ÔÚµÚ¶þÖÖģʽÏ£¬Ö»ÓÐΪException £¨Òì³££©µÄ¶ÔÏó²Å»á¼Ç¼µ½ÈÕÖ¾ÎļþÖС£Ä£Ê½µÄÉèÖÃÔÚweaver.properties ÊôÐÔÎļþÖеÄDEBUG_MODE ÊôÐÔÀ´Ö¸¶¨£¬ÈçÏ£º
DEBUG_MODE = true // Ϊµ÷ÊÔģʽ DEBUG_MODE = false // ΪÔÚÏßģʽ
ÕýʽÉÏÏßµÄϵͳÐèÒª½«Ä£Ê½ÉèÖÃΪÔÚÏßģʽ¡£
¼Ç¼ÈÕÖ¾µÄÀý×ÓÈçÏ£º
public class ResourceComInfo extends BaseBean {
private void setResourceInfo() throws Exception{
try{
ÒµÎñ´¦Àí¹ý³Ì¡¡¡.
String debugInfo = \
8 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
}
// ÔÚµ÷ÊÔģʽϽ«»á¼ÇÈëÈÕÖ¾Îļþ
writeLog(\ }
catch(Exception e) { // ÔÚÈκÎģʽϳöÏÖÒì³££¬¶¼½«»á¼ÇÈëÈÕÖ¾Îļþ writeLog(e) ; throw e ; }
}
¼Ç¼µÄÈÕÖ¾ÎļþÐÎʽΪ£º
2003.03.11-06:52:05 weaver.hrm.resource. ResourceComInfo - debug info is This is test
Èç¹ûÓÐÒì³££¬½«»á¼Ç¼Ϊ£º
2003.03.11-06:52:05 weaver.hrm.resource. ResourceComInfo -
java.sql.SQLException: [Microsoft][SQLServer JDBC Driver][SQLServer]ÐÎʽ²ÎÊý '@id_1' ¶¨ÒåΪ OUTPUT£¬µ«Êµ¼Ê²ÎÊýȴδÉùÃ÷Ϊ OUTPUT¡£ at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source) at
com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source) at
com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source) at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source) at
com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source) at com.microsoft.jdbc.base.BaseStatement.executeInternal(Unknown Source) at com.microsoft.jdbc.base.BasePreparedStatement.execute(Unknown Source) at weaver.conn.RecordSet.executeProc(RecordSet.java:155) at weaver.conn.RecordSet.executeProc(RecordSet.java:109) at weaver.hrm.resource. ResourceComInfo (ResourceComInfo.java:59) at com.caucho.jsp.JavaPage.service(JavaPage.java:87) at com.caucho.jsp.JavaPage.subservice(JavaPage.java:81) at com.caucho.jsp.Page.service(Page.java:410) at com.caucho.server.http.Invocation.service(Invocation.java:319) at
com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:333) at
com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:266) at com.caucho.server.TcpConnection.run(TcpConnection.java:140) at java.lang.Thread.run(Thread.java:484)
9 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
´ÓÉÏÃæµÄÈÕÖ¾ÐÅÏ¢£¬¿ÉÒÔ¿´µ½ResourceComInfoÀàµÄ59ÐдúÂëÔËÐеÄʱºò³öÏÖ´íÎó£¬Õâ¸ö´íÎóÊÇÖ´ÐÐÊý¾Ý¿â²Ù×÷µÄ½Å±¾´íÎ󣬾ßÌåµÄ´íÎóÐÅÏ¢ÊÇ£ºÐÎʽ²ÎÊý '@id_1' ¶¨ÒåΪ OUTPUT£¬µ«Êµ¼Ê²ÎÊýȴδÉùÃ÷Ϊ OUTPUT¡£ËµÃ÷µ÷ÓÃÊý¾Ý¿â½Å±¾µÄʱºò²ÎÊýµÄÊýÁ¿ÓгöÈë¡£
¶¨ÆÚ¼ì²éÈÕÖ¾Îļþ£¬¿ÉÒÔ·¢ÏÖ´úÂëÖеĸ÷ÖÖ´íÎó¡£
·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾www.weaver.com.cn 10
3.3 ÔõÑù»ñÈ¡ÊôÐÔÎļþµÄÖµ
¼Ì³ÐÁËweaver.general.BaseBean »òweaver.general. DynamicServletµÄÀ࣬¿ÉÒÔÖ±½ÓʹÓÃgetPropValue·½·¨»ñÈ¡ÊôÐÔÎļþµÄÖµ¡£×¢ÒâÕâÀïÊÇʹÓ㬶ø²»Êǵ÷Óã¬ÒòΪÕâ¸ö·½·¨ÊÇÕâÁ½¸ö±»¼Ì³ÐÀàÖеķ½·¨¡£
×¢ÒâgetPropValue·½·¨µÄʹÓ㺠/**
* ´ÓÅäÖÃÎļþÖлñȡij¸öÊôÐÔµÄÖµ * @param fname ÊôÐÔÎļþÃû³Æ * @param key Öµ
* @return String ÊôÐÔÖµ */
public String getPropValue(String fname , String key)
getPropValue ·½·¨Ö¸¶¨ÁË´Óijһ¸öÊôÐÔÎļþfname ÖлñÈ¡¼üÖµkey µÄÖµ¡£
ÕâÀïµÄÊôÐÔÎļþ±ØÐë´æ·ÅÔÚϵͳÔËÐÐĿ¼ÏµÄprop Ŀ¼Ï£¬ÎļþÃû³ÆÎª²ÎÊýfnameÖ¸¶¨µÄÎļþÃû£¬²»°üÀ¨ÊôÐÔÎļþµÄºó׺Ãû£¬ÊôÐÔÎļþµÄºó׺Ãû±ØÐëΪ .properties¡£
±ÈÈ磺
ϵͳµÄÔËÐÐĿ¼Ϊ d:\\ecology\\£¬ÄÇôÊôÐÔÎļþ±ØÐë·ÅÔÚd:\\ecology\\prop\\ Ŀ¼Ï£¬È¡ÃûΪ thefilename.properties £¬ÆäÖÐthefilenameÊÇÈÎÒâµÄ¡£
ÔÚÊôÐÔÎļþÖÐijһ¸ö¼üÖµµÄÖµÓõȺÅÀ´¸³Öµ£¬µÈºÅºóÃæµÄÖµ±ØÐë·ÅÔÚÒ»ÐУ¬Èç¹ûÒ»Ðв»¹»Ð´£¨»òÕßΪÁ˲鿴µÄ·½±ã£©£¬¿ÉÒÔÓà \\ À´Á´½Ó¶àÐС£·ñÔòÆäËüÐеÄÖµ²»Äܱ»¼üֵȡµÃ¡£µÈºÅ×óÓÒ¶¼¿ÉÒÔÓпոñ£¬¶Ô¼üÖµºÍ¼üÖµµÄֵûÓÐÓ°Ïì¡£
±ÈÈç £º
thekeyname = thevalue
½«¼üÖµµÄÖµ·Åµ½¶àÐУº thekeyname = thevalue1 \\ thevalue2 \\ thevalue3 thevalue4
Õâʱºòthekeyname µÄֵΪthevalue1thevalue2thevalue3 £¬thevalue4 È¡²»µ½£¬ÒòΪthevalue3ºóÃæÃ»ÓÐ \\
ÔÚ³ÌÐòÖÐҪȡµÃÉÏÊöÊôÐÔÎļþÖмüÖµthekeynameµÄÖµ£¬Ê¹Ó÷½·¨£º
getPropValue(¨Dthefilename¡¬ , ¨Dthekeyname¡¬) ;
11 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
»ñÈ¡ÊôÐÔÎļþµÄÖµµÄÀý×ÓÈçÏ£º
public class ResourceComInfo extends BaseBean {
private void setResourceInfo() throws Exception{
ÒµÎñ´¦Àí¹ý³Ì¡¡¡.
String keyValue = getPropValue(¨Dthefilename¡¬ , ¨Dthekeyname¡¬) ;
// ½«¼üÖµthekeynameµÄÖµkeyValue¼ÇÈëÈÕÖ¾Îļþ
writeLog(\
}
}
СÃÜÃÜ£º
ϵͳµÄÖ÷ÊôÐÔÎļþ weaver.properties µÄÎļþÃû¡°weaver¡± ×÷Ϊϵͳ³£Á¿·ÅÔÚweaver.general.GCONST ÀàÖУ¬¿ÉÒÔʹÓÃgetConfigFile() ·½·¨À´·µ»Ø
¡°weaver ¡±£¬ÔÚ±à³ÌµÄ¹ý³ÌÖУ¬Èç¹ûÐèÒªÓõ½weaver.propertiesÊôÐÔÎļþÖеļüÖµ£¬ÇëÓÃGCONST. getConfigFile() À´»ñÈ¡£¬µ±Ö÷ÊôÐÔÎļþÃû³ÆÒòΪÐèÒª¸Ä±äµÃʱºò£¬²»±Ø¸Ä±äËùÓÐÓõ½Õâ¸öÊôÐÔÎļþµÄÀֻ࣬ÐèÒª¸Ä±äGCONSTÀàÖг£Á¿µÄÖµ
12 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
3.4 ÔõÑù»ñȡϵͳµÄÔËÐÐĿ¼
weaver.general.GCONST ÀàÌṩÁËÒ»¸ö¾²Ì¬·½·¨getRootPath() £¬·µ»ØÏµÍ³µÄÔËÐÐĿ¼£¬±ÈÈçϵͳµÄÔËÐÐĿ¼Ϊd Å̵ÄecologyĿ¼£¬½«·µ»Ød:\\ecology\\
»ñȡϵͳµÄÔËÐÐĿ¼µÄÀý×ÓÈçÏ£º
public class TestBean extends BaseBean { import weaver.general.GCONST £»
public void getSysRunPath(){
String sysRunPath = GCONST. GetRootPath() ;
// ½«ÏµÍ³µÄÔËÐÐĿ¼sysRunPathµÄÖµ¼ÇÈëÈÕÖ¾Îļþ
writeLog(\
}
}
·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn 13
3.5 ÔõÑù·ÃÎʺÍÔËÐÐÊý¾Ý¿â½Å±¾
ÕâÊÇËùÓбà³ÌÈËÔ±¶¼¹ØÐĵÄÒ»¸öÎÊÌâ¡£ÔÚecologyϵͳÖУ¬´óÁ¿µÄÊý¾Ý¿â·ÃÎÊ£¬Á´½ÓµÄ½¨Á¢ºÍ³ÖÐøÐÔ£¬ÊÂÎñµÄ´¦Àí£¬Á´½Ó³ØµÄά»¤µÈÎÊÌâ¶¼±»·â×°ÔÚweaver.conn °üÏÂÃæµÄ¸÷¸öÀàÖУ¬Ó¦ÓóÌÐòµÄʵÏÖÕß²»ÐèҪȥ¹ØÐÄÕâЩÎÊÌ⣬ ¶øÖ»ÐèÒªµ÷ÓÃweaver.conn.RecordSet ÀàÀ´Ö´Ðи÷ÖÖÊý¾Ý¿â²Ù×÷¡£
weaver.conn.RecordSet ÀàʵÏÖÁË´ÓÊý¾Ý¿âÁ´½Ó³ØÖлñÈ¡Á´½Ó£¬Ö´ÐÐÖ¸¶¨µÄÊý¾Ý¿â½Å±¾»òÕß´æ´¢¹ý³Ì£¬²¢Ôڽű¾»òÕß´æ´¢¹ý³ÌÖ´ÐÐÍê±Ïºó½«Á´½Ó¼°Ê±µØ¹é»¹µ½Á´½Ó³ØÖС£
EcologyϵͳµÄÁ´½Ó³Ø¹ÜÀíÇë²Î¼û weaver.conn.ConnectionPool £¬
weaver.conn.DBConnectionPool £¬weaver.conn.ConnCheckerTimer ÀàµÄAPI Îĵµ£¬weaver.conn.ConnectionPool ÓÃÓÚ¹ÜÀíecologyϵͳÖеÄËùÓÐÊý¾Ý¿âÁ´½Ó³Ø(ecologyϵͳ¿ÉÒÔͬʱÁ´½Ó¶à¸öÊý¾Ý¿â£¬Ã¿Ò»¸öÊý¾Ý¿â¾ùÓÐÒ»¸ö¶ÔÓ¦µÄÊý¾Ý¿âÁ´½Ó³Ø£¬ÓÉweaver.conn.DBConnectionPool¸ºÔð¹ÜÀí£¬¶ø
weaver.conn.ConnectionPoolÔòÊÇÕâЩÁ´½Ó³ØµÄ´ó¹Ü¼Ò£¬¸ºÔðËùÓÐÁ´½Ó³ØµÄе÷ºÍͳһ¶ÔÍâ½Ó¿Ú)£¬weaver.conn.DBConnectionPoolÓÃÓÚ½¨Á¢ºÍ¹ÜÀí¶Ôijһ¸öÊý¾Ý¿âµÄÁ´½Ó³Ø£¬weaver.conn.ConnCheckerTimerÓÃÓÚ¼à¿Ø¸÷¸öÁ´½Ó³ØµÄ×´¿ö£¬¶¨ÆÚ¶ÔÊý¾Ý¿âÁ´½Ó³ØÖв»·ûºÏÒªÇóµÄÁ´½Ó½øÐÐÇåÀí£¬²¢¼àÊÓÊÇ·ñÐèÒªÔÚijһÁ´½Ó³ØÖн¨Á¢ÐµÄÁ´½Ó¡£
µ÷ÓÃweaver.conn.RecordSet£¬ÊµÏÖ¶ÔÊý¾ÝµÄ²Ù×÷£¬ÏÂÃæ½øÐÐÏêϸµÄ˵Ã÷£º
weaver.conn.RecordSetÀà²ÉÓà java.sql ÖÐµÄ CallableStatement ºÍ Statement Ö´ÐÐÊý¾Ý¿â²Ù×÷¡£¿Í»§¶ËÖ±½Óµ÷ÓøÃÀà½øÐÐÊý¾Ý¿â²Ù×÷¡£²»ÐèÒª¿¼ÂÇÊý¾Ý¿âÁ´½ÓµÄ½¨Á¢¡£ÆäÖпͻ§¶ËÖ¸ËùÓе÷ÓøÃÀà½øÐÐÊý¾Ý¿â²Ù×÷µÄÓ¦ÓóÌÐò£¬²»ÌØÖ¸Óû§µÄ¿Í»§¶Ë¡£
RecordSet Ö´ÐÐÊý¾Ý¿â²Ù×÷ÓÐÁ½ÖÖÐÎʽ£¬Ò»ÖÖΪµ÷Óô洢¹ý³Ì£¬ÁíÒ»ÖÖΪֱ½ÓÖ´ÐÐSQLÓï¾ä¡£ÓëConnStatement²»Í¬ £¬RecordSet Ö´ÐÐSQLÓï¾ä²»·Ö²éѯºÍÐ޸쬶¼ÔÚÒ»ÌõÓï¾äÖÐÖ´ÐС£RecordSetÖ´Ðнű¾µÄ·½Ê½ÈçÏ£º
1¡¢Ê¹ÓÃĬÈϵÄÁ´½Ó³ØÖ´ÐÐSQLÓï¾ä£º RecordSet rs = new RecordSet() ;
rs.executeSql(\while( rs.next() ) {
String thename = rs.getString(\ÆäËü´¦Àí´úÂë....¡¡
}
2¡¢Ê¹ÓÃÖ¸¶¨µÄÁ´½Ó³ØecologytestÖ´ÐÐSQLÓï¾ä RecordSet rs = new RecordSet() ;
rs.executeSql(\
14 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
3¡¢Ê¹ÓÃÖ¸¶¨µÄÁ´½Ó³ØecologytestÖ´Ðд洢¹ý³Ì PD_Example_UpdateById ´æ´¢¹ý³ÌPD_Example_UpdateById ÈçÏ£º
CREATE PROCEDURE [PD_Example_UpdateById] (@name varchar(100), @id int,
@flag integer output,
@msg varchar(80) output) AS
update TB_Example set name = @name where id = @id
GO
RecordSet rs = new RecordSet() ;
String newname = ....... ; String id = ...... ;
String procpara = newname + Util.getSeparator() + id ;
rs.executeProc( \
procpara ÊÇ´æ´¢¹ý³ÌµÄ²ÎÊýÖµ×é³ÉµÄ×Ö·û´®±äÁ¿£¬¶à¸ö²ÎÊýÖµÖ®¼äÓà weaver.general.Util.getSeparator() ·Ö¿ª
4¡¢ÔÚÒ»¸ö¿Í»§³ÌÐò¶à¸öÖ´ÐÐÖ®¼ä£¬²éѯ½á¹û¿ÉÒÔ±£Áôµ½ÏÂÒ»´Î²éѯ RecordSet rs = new RecordSet() ;
rs.executeSql(\
rs.executeSql(\while( rs.next() ) {
String thename = rs.getString(\µÃµ½ÐÞ¸Äǰ²éѯµÄÖµ ÆäËü´¦Àí´úÂë....¡¡.
}
rs.executeSql(\while( rs.next() ) {
String thename = rs.getString(\µÃµ½Ð޸ĺó²éѯµÄÖµ ÆäËü´¦Àí´úÂë....¡¡
}
·ÃÎʺÍÔËÐÐÊý¾Ý¿â½Å±¾µÄÀý×Ó£º
public class ResourceComInfo extends BaseBean {
·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn 15
private void setResourceInfo() throws Exception{
}
ÒµÎñ´¦Àí¹ý³Ì¡¡¡.
String sqlStr = ¨Dselect * from Hrmresorce¡¬ ; RecordSet rt = new RecordSet() ; rt.executeSql(sqlStr) ; while(rt.next()){
String id = Util.null2String(rt.getString(\
String loginid = Util.null2String(rt.getString(\ String lastname = Util.null2String(rt.getString(\ // ½«Êý¾Ý¿âµÄÖµ¼ÇÈëÈÕÖ¾Îļþ writeLog(\
writeLog(\
writeLog(\ }
}
ÆäËü¹ØÓÚϵͳÊý¾Ý¿âÐÅÏ¢µÄ¹ÜÀí
a)¡¢weaver.conn.ConnectionPool ÀàµÄ¹ÜÀíºÍÉèÖãº
ËùÓеÄÊý¾Ý¿âÁ´½Ó³ØµÄ¼¯ºÏ£¬ÓÃÁ´½Ó³ØÃû³ÆÇø±ðÿһ¸öÁ´½Ó³Ø.Ö§³Ö¶ÔÒ»¸ö»ò¶à¸öÓÉÊôÐÔÎļþ¶¨ÒåµÄÊý¾Ý¿âÁ¬½Ó³ØµÄ·ÃÎÊ.¿Í»§³ÌÐò¿ÉÒÔµ÷ÓÃgetInstance()·½·¨·ÃÎʱ¾ÀàµÄΨһʵÀý¡£
¶ÔÓÚÒ»¸öÁ´½Ó³Ø¼¯ºÏÀ´Ëµ£¬¿ÉÒÔÓжà¸öÁ´½Ó³Ø£¬·Ö±ðÁ´½Ó²»Í¬µÄÊý¾Ý¿â¡£Ó¦ÓóÌÐòÖ¸¶¨Á´½Ó³ØµÄÃû³ÆÀ´µ÷Óò»Í¬µÄÁ´½Ó³Ø¡£Èç¹ûÓ¦ÓóÌÐòûÓÐÖ¸¶¨Á´½Ó³ØµÄÃû³Æ£¬½«Ê¹ÓÃĬÈϵÄÁ´½Ó³Ø¡£Ä¬ÈÏÁ´½Ó³ØµÄÖ¸¶¨ÓÐÁ½ÖÖ·½Ê½£º
1¡¢ÔÚApplication ServerÉèÖõijõʼ²ÎÊýserverNameµÄÖµ £¬ÒÔResin ΪÀý£º
2¡¢Èç¹ûApplication ServerûÓÐÏàÓ¦ÉèÖã¬ÔòϵͳʹÓÃÊôÐÔÎļþ£¨weaver.properties£©ÖÐÉèÖõÄĬÈÏÁ´½Ó³ØÃû³Æ£º DefaultPoolName = ecology
16 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
¶ÔÓÚËùÓеÄÁ´½Ó³Ø£¬ÏµÍ³ÐèÒª¼ÓÔØÏàÓ¦µÄ JDBC DriverÀ´½¨Á¢ÓëÏàÓ¦Êý¾Ý¿âµÄÁ´½Ó¡£ÕâЩ Driver ÔÚÊôÐÔÎļþ£¨weaver.properties£©ÖÐÖ¸¶¨£¬¶à¸öDriverÖмäÓÿոñ¸ô¿ª£º
DriverClasses = com.microsoft.jdbc.sqlserver.SQLServerDriver
¶ÔÓÚÿһ¸öÁ´½Ó³ØÐèÒªÓõ½µÄ²ÎÊýÔÚÊôÐÔÎļþ£¨weaver.properties£©ÖÐÖ¸¶¨£¬ÊôÐÔÎļþÖвÎÊýµÄÃû³ÆÒÔÁ´½Ó³ØµÄÃû³Æ¿ªÍ·£¬Öмä¼ÓÈëСÊýµã£¬±ÈÈçÁ´½Ó³Ø ecology µÄ²ÎÊýÖ¸¶¨Îª £º
ecology.url = jdbc:microsoft:sqlserver://10.1.1.205:1433;DatabaseName=AIS2002 //db url
ecology.user = sa //db user name ecology.password = 123456 //db user password ecology.charset = ISO_1 //db encode ecology.maxconn = 10 //max conn in conn pool ecology.minconn = 2 //min conn in conn pool ecology.maxusecount = 30 //the max use times of a conn ecology.maxidletime = 30 //the max unuse time of a conn £¨·Ö£©
ecology.maxalivetime = 2 //Ò»¸öÁ´½Ó±»µ÷ÓúóµÄ×î´óδ¹é»ØÊ±¼ä £¨·Ö£© ecology.checktime = 500 //¼ì²éµÄƵÂÊ £¨Ã룩
b)¡¢weaver.conn. DBConnectionPoolÀàµÄ¹ÜÀíºÍÉèÖãº
Êý¾Ý¿âÁ´½Ó³Ø£¬ËùÓд´½¨µÄÁ´½Ó´æ·ÅÔÚÁ´½Ó³ØÖУ¬ÔÚ¿Í»§¶ËÁ´½ÓÊý¾Ý¿âʱ´ÓÁ´½Ó³ØÖÐÈ¡³öÁ´½Ó£¬¿Í»§¶ËÔÚÍê³ÉÊý¾Ý¿â²Ù×÷ºó½«Á´½Ó·µ»ØÁ´½Ó³Ø¡£
Á´½Ó³Ø´´½¨Á´½ÓÐèÒªÓõ½µÄ²ÎÊýÔÚÊôÐÔÎļþ£¨weaver.properties£©ÖÐÖ¸¶¨£¬ÊôÐÔÎļþÖвÎÊýµÄÃû³ÆÒÔÁ´½Ó³ØµÄÃû³Æ¿ªÍ·£¬Öмä¼ÓÈëСÊýµã£¬±ÈÈçÁ´½Ó³Ø ecology µÄ²ÎÊýÖ¸¶¨Îª £º
ecology.url = jdbc:microsoft:sqlserver://10.1.1.205:1433;DatabaseName=AIS2002 //db url
ecology.user = sa //db user name ecology.password = 123456 //db user password ecology.charset = ISO_1 //db encode ecology.maxconn = 10 //max conn in conn pool ecology.minconn = 2 //min conn in conn pool ecology.maxusecount = 30 //the max use times of a conn ecology.maxidletime = 30 //the max unuse time of a conn £¨·Ö£©
ecology.maxalivetime = 2 //Ò»¸öÁ´½Ó±»µ÷ÓúóµÄ×î´óδ¹é»ØÊ±¼ä £¨·Ö£© ecology.checktime = 500 //¼ì²éµÄƵÂÊ £¨Ã룩
17 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
3.6 ÈçºÎÉÏ´«Ò»¸öÎļþ
ÉÏ´«Ò»¸öÎļþÖ»ÐèÒªµ÷ÓÃweaver.file.FileUpload Àà¡£weaver.file.FileUpload ÀàÖ§³Ö¸÷ÖÖÎļþ¸ñʽµÄÉÏ´«£¬Ò²Ö§³Ö¶àÎļþµÄÉÏ´«¡£
B/S ¼Ü¹¹µÄÎļþÉÏ´«²ÉÓõÄÊÇmultipart/form-data ÐÒ飬¶ø²»ÊÇHTTPÐÒ飬²ÉÓÃÕâÖÖÐÒéÉÏ´«µÄÊý¾Ý±ØÐëͨ¹ýÌØÊâµÄ´¦Àí£¬¶ø²»ÄÜÓ󣹿µÄ·½·¨À´»ñÈ¡£¬·ñÔò²»Äܵõ½Êý¾Ý¡£weaver.file.FileUpload ·â×°Á˵ײ㴦ÀíµÄ´úÂ룬ӦÓóÌÐòµÄʵÏÖÕß²»ÐèÒª¹ØÐÄÕâЩϸ½Ú£¡
weaver.file.FileUploadÉÏ´«Êý¾ÝµÄ·½·¨ÓУº /**
* ½øÐÐÉÏ´«Ò»¸öÎļþµÄ²Ù×÷
* @param uploadname ÐèÒªÉÏ´«µÄÎļþ×Ö¶ÎÃû³Æ * @return String ·µ»Ø±£´æÎļþÐÅÏ¢µÄimagefileid */
public String uploadFiles(String uploadname) /**
* ½øÐÐÉÏ´«Ò»¸öÎļþµÄ²Ù×÷
* @param uploadnamesÐèÒªÉÏ´«µÄ¶à¸öÎļþ×Ö¶ÎÃû³Æ
* @return String[] ·µ»Ø±£´æ¶à¸öÎļþÐÅÏ¢µÄimagefileidÊý×é */
public String[] uploadFiles(String[] uploadnames)
ÕâÀÐèҪעÒâÁ½µã£¬Ò»¸öÊÇ´«¸øuploadFiles ·½·¨µÄ²ÎÊý£¬ ÊÇÉÏ´«Îļþ×ֶεÄÃû³Æ£¬¶ø²»ÊÇÎļþµÄÃû³Æ£¨Õâ¸öʱºòÄã²¢²»ÖªµÀÎļþµÄÃû³Æ£©¡£±ÈÈçÔÚjsp »òÕßhtmlÒ³ÃæÖÐÎļþä¯ÀÀµÄ×ֶδúÂëΪ£º
ÄÇôÕâÀïµÄÎļþ×ֶεÄÃû³ÆÎª\¡£ µÚ¶þµãÊÇÕâ¸ö·½·¨·µ»ØµÄÐÅÏ¢ÊDZ£´æÔÚÊý¾Ý¿â±í ImageFile ÖйØÓÚÕâ¸öÎļþÐÅÏ¢µÄ¼üÖµimagefileid £¬Õâ¸ö±íµÄ½á¹¹ÈçÏ£º Column(s) of \Name Datatype Null Option Comment imagefileid int NOT NULL Îļþid imagefilename varchar(200) NULL ÎļþÃû³Æ imagefiletype varchar(50) NULL ÎļþMIMEÀàÐÍ filerealpath varchar(255) NULL Îļþ´æ·ÅĿ¼ imagefileused int NULL ÎļþʹÓôÎÊý iszip char(1) NULL ÊÇ·ñѹËõ 0£º·ñ 1£ºÊÇ 18 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn
Column(s) of \Name Datatype isencrypt char(1) Null Option NULL Comment ÊÇ·ñ¼ÓÃÜ 0£º·ñ 1£ºÊÇ Îļþ£¨´æÔÚÔÚÊý¾Ý¿âÖеÄÎļþÄÚÈÝ£¬ÏÖÒѲ»Ê¹Óã© imagefile image NULL ´Ó±í½á¹¹¿ÉÒÔ¿´³ö£¬ÎÒÃǵõ½ÁËijһ¸öÎļþÐÅÏ¢µÄimagefileid£¬¾Í¿ÉÒԴӸñíÖеõ½ÏàÓ¦µÄÎļþÃû³Æ£¨ÕâÀïÖ¸ÎļþµÄʵ¼ÊÃû³Æ£¬±ÈÈçtest.doc£©, ÎļþMIMEÀàÐÍ(±ÈÈç txt£¬doc£¬gifµÈ) £¬Îļþ´æ·ÅĿ¼£¨ÕâÀïÖ¸ÔÚ·þÎñÆ÷Öдæ·ÅµÄʵ¼Ê·¾¶ÐÅÏ¢£¬°üÀ¨Êµ¼Ê´æ·ÅµÄÎļþÃû³Æ£¬±ÈÈç
e:\\ecologyfilesystem\\2003\\08\\A\\23143567.zip£©¡£Í¨¹ýÕâЩÐÅÏ¢£¬¿ÉÒÔ¶ÔÎļþ½øÐвÙ×÷£¬µ±È»weaver.file.FileUpload »¹ÌṩÁËÆäËüºÜ¶à·½·¨À´»ñÈ¡ÎļþÏà¹ØµÄÐÅÏ¢£¬²»ÐèҪͨ¹ýÊý¾Ý±íµÄ²éѯ¾ÍÄܵõ½ÕâЩÐÅÏ¢¡£´æ·ÅÔÚÊý¾Ý±íÖеÄÐÅÏ¢Ö»Êǹ©½ñºóÎļþ´¦ÀíµÄʱºòʹÓã¡
ÉÏ´«ÎļþµÄÀý×Ó£º
Ê×ÏÈ£¬ÎÒÃÇÒª´´½¨Ò»¸öÌá½»Êý¾ÝµÄÒ³Ãæ£¬¿ÉÒÔÊÇjsp µÄÒ³Ãæ£¬Ò²¿ÉÒÔÊÇhtml µÄÒ³Ãæ£¬ÎÒÃǽ«Êý¾ÝÌá½»¸ø weaver.test.MutiFileUpload µÄservlet ÀàÀ´´¦Àí£º
ÕâÊÇÒ»¸öÎļþÉÏ´«µÄÀý×Ó