Ecologyϵͳ³ÌÐòÔ±¿ª·¢Ö¸ÄÏ ÏÂÔØ±¾ÎÄ

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 ÀàÀ´´¦Àí£º

ÎļþÉÏ´«

ÕâÊÇÒ»¸öÎļþÉÏ´«µÄÀý×Ó

½«ÉÏÃæÕâ¶Î´úÂë±£´æÎªÒ»¸öhtml ÎļþFileUploadTest.htm£¬·ÅÔÚecologyÔËÐÐĿ¼ÏµÄ/test/Ŀ¼Ï¡£ÔÚÕâ¸öÒ³ÃæÖУ¬ÓÐÒ»¸öÊäÈë¿òºÍÁ½¸öÎļþ¿ò¿ÉÒÔÊäÈëÐÅÏ¢¡£×¢Ò⣬ÔÚ»·¾³µÄÅäÖÃÖУ¬ÐèÒª¸æËßweb·þÎñÆ÷½« /weaver/ µÄÇëÇóת¸øÓ¦ÓÃ

19 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

·þÎñÆ÷×÷Ϊservlet´¦Àí£¬¹ØÓÚÅäÖõÄÐÅÏ¢£¬Çë²Î¿¼Apache ºÍResinµÄÅäÖÃÎĵµ¡£

ÏÂÃæÎÒÃÇÀ´±àдweaver.test.MutiFileUpload

package weaver.test; /**

* Title: ¶àÎļþÉÏ´«´¦ÀíÀà * Description: ¶àÎļþÉÏ´«²âÊÔ

* Copyright: Copyright (c) 2001 * Company: weaver * @author liuyu * @version 1.0 */

import javax.servlet.http.HttpServletRequest; import weaver.general.DynamicServlet; import weaver.file. FileUpload;

public class MutiFileUpload extends DynamicServlet {

public void doProcess(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

FileUpload fu = new FileUpload(request) ;

String fileDesc = fu.getParameter(\String[] fileFieldNames = {\String[] fileIds = fu.uploadFiles(fileFieldNames) ; /*2*/ String[] fileNames = fu.getFileNames() ; /*3*/

// ½«ÇëÇóÐÅÏ¢¼ÇÈëÈÕÖ¾Îļþ

writeLog(\ for (int i=0; i< fileIds.length; i++) { String fileId = fileIds[i] ; If(fileId == null) continue ; String fileName = fileNames[i] ;

writeLog(\

writeLog(\

}

response.sendRedirect(\

}

·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn 20

}

ÒÔÉÏ´úÂëÐèҪעÒâµÄ¼¸¸öµØ·½£º

×¢ÊÍ1£ºÓÉÓÚʹÓÃÁËmultipart/form-dataЭÒ飬 ÕâÀï»ñÈ¡ÇëÇóÖеÄÐÅÏ¢±ØÐëʹÓÃfu. getParameter() ·½·¨£¬¶ø²»ÄÜʹÓà request.getParameter() ·½·¨£¬·ñÔò²»Äܵõ½filedescµÄÖµ£¡

×¢ÊÍ2£ºÊ¹ÓÃuploadFiles·½·¨ÉÏ´«accessory1ºÍaccessory2ÖеÄÎļþ£¬Í¬Ê±·µ»Ø±£´æÔÚImageFile ±íÖеÄÎļþ»ù±¾ÐÅÏ¢µÄ¼üÖµimagefileid£¬¿ÉÒÔ½«Õâ¸öimagefileid¼Ç¼µ½ÆäËüµØ·½ÒÔ±ã½ñºóµ÷Óá£

×¢ÊÍ3£ºÊ¹ÓÃgetFileNames·½·¨»ñÈ¡ÉÏ´«ÎļþµÄÕæÊµÃû³Æ£¨°üÀ¨ºó׺Ãû£©

½«´úÂë±£´æµ½ /src/weaver/test/MutiFileUpload.java ÎļþÖС£·ÃÎÊ

FileUploadTest.htm À´²âÊÔһϣ¬¿´¿´ÈÕÖ¾ÎļþÖеļǼÊÇ·ñÕýÈ·¡£Ò³ÃæÌá½»£¬ÎļþÉÏ´«Íê±Ïºó½«Ôٴηµ»ØFileUploadTest.htmÒ³Ãæ¡£Äã¿ÉÒԲ鿴ImageFile±íÀ´¼ì²éÎļþµÄ¾ßÌå´æ·ÅλÖõÈÐÅÏ¢¡£

Ð¡ÃØÃÜ£º

ÎļþµÄ´æ·ÅλÖÃÔÚϵͳÉèÖÃÄ£¿éÖÐÉèÖã¬Èç¹ûûÓÐÉèÖ㬽«´æ·ÅÔÚϵͳÔËÐÐĿ¼Ï嵀 filesystem Ŀ¼Ï¡£

21 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

3.7 ÈçºÎ·ÃÎÊÒѾ­ÉÏ´«µÄÎļþ

ÔÚjspÒ³Ãæ»òÕßhtmlÒ³ÃæÖзÃÎÊÒѾ­ÉÏ´«µÄÎļþ·Ç³£¼òµ¥£¬Ö»ÐèÒªµ÷ÓÃ

weaver.file.FileDownloadÀ࣬²¢´«µÝÐèÒª·ÃÎʵÄÎļþid £¬Õâ¸öÎļþid£¬¾ÍÊÇÔÚÎļþÉÏ´«Öзµ»ØµÄ imagefileid¡£

·ÃÎÊÉÏ´«µÄÎļþÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊÇ·ÇÏÂÔØ·½Ê½£¬ÕâÖÖ·½Ê½Èç¹ûä¯ÀÀÆ÷Äܹ»ÏÔʾ·ÃÎʵÄÎļþÀàÐÍ£¬ÄÇô¾Í»áÔÚä¯ÀÀÆ÷ÖÐÖ±½ÓÏÔʾ¡£ÁíÒ»ÖÖÊÇÏÂÔØ·½Ê½£¬ÎÞÂÛ·ÃÎʵÄÎļþÊÇʲôÀàÐÍ£¬¶¼Ê¹Óõ¯³öÏÂÔØ´°¿ÚµÄÐÎʽÏÂÔØ¡£

¶Ô·ÇÏÂÔØ·½Ê½µÄÁ´½Ó·ÃÎÊ

¶ÔÏÂÔØ·½Ê½µÄÁ´½Ó·ÃÎÊ

Èç¹ûÖªµÀÒª·ÃÎʵÄÎļþÊÇͼƬ£¬²¢ÐèÒªÔÚä¯ÀÀÒ³ÃæÖÐÖ±½ÓÏÔʾÕâ¸öͼƬ£¬¿ÉÒÔʹÓÃÏÂÃæµÄ´úÂë·ÃÎÊ

22 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

3.8 ÈçºÎʹÓûº´æÌá¸ßϵͳЧÂÊ

¶ÔÓÚһЩ³£ÓõÄÐÅÏ¢£¬±ÈÈçÈËÔ±µÄÃû³Æ£¬Èç¹ûÿ´Î·ÃÎʵÄʱºò¶¼²éѯÊý¾Ý¿âÀ´»ñÈ¡£¬½«¼«´óµÄÓ°ÏìϵͳµÄÐÔÄÜ¡£ÎÒÃÇ¿ÉÒÔ½«ÕâЩÐÅÏ¢·Åµ½ÏµÍ³µÄ»º´æÖУ¬ÔÚÓõ½µÄʱºò£¬´Óϵͳ»º´æÖлñÈ¡¡£

ϵͳÌṩÁË weaver.general.StaticObj ÀàÀ´±£´æÕâЩÐÅÏ¢¡£

weaver.general.StaticObj ÀàʹÓà HashTable À´¹ÜÀí»º´æÐÅÏ¢£¬ÆäÖ÷ÒªµÄ·½·¨ÈçÏ£º

StaticObj½«Êý¾Ý¿âÖг£ÓõÄÊý¾Ý·ÅÈ뻺´æÖУ¬ÒÔ¼Ó¿ìϵͳµÄ·´Ó¦ËÙ¶È¡£¿Í»§³ÌÐò¿ÉÒÔµ÷ÓÃgetInstance()·½·¨·ÃÎʱ¾ÀàµÄΨһʵÀý¡£

StaticObjÓÐÁ½²ã»º´æ£¬·Ö±ðΪ mainKey - value ºÍ mainKey - subkey ¨C value£¬ÓÉ mainKey ¿ÉÒÔÈ¡µÃµÚÒ»²ãµÄ¶ÔÏó£¬ÓÉ mainKey - subkey ¿ÉÒÔÈ¡µÃµÚ¶þ²ãµÄÖµ£¬ÔÚµÚ¶þ²ãµÄÖµ´æÔÚµÄÇé¿öÏ£¬µÚÒ»²ãµÄֵΪ Hashtable¡£ /**

* ·µ»ØÎ¨Ò»ÊµÀý.Èç¹ûÊǵÚÒ»´Îµ÷Óô˷½·¨,Ôò´´½¨ÊµÀý *

* @return StaticObj ΨһʵÀý */

public static StaticObj getInstance() /**

* »ñÈ¡ mainKey ¶ÔÓ¦µÄµÚÒ»²ã¶ÔÏóÖµ *

* @param key Ö÷¼üÃû³Æ

* @return Object ¶ÔÓڵĵÚÒ»²ã¶ÔÏóÖµ */

public Object getObject(String key) /**

* ÉèÖà mainKey ¶ÔÓ¦µÄµÚÒ»²ã¶ÔÏóÖµ *

* @param key Ö÷¼üÃû³Æ

* @param obj mainKey ¶ÔÓ¦µÄµÚÒ»²ã¶ÔÏóÖµ */

public void putObject(String key, Object obj) /**

* ´Ó»º´æÖÐÇå³ý mainKey ¶ÔÓ¦µÄµÚÒ»²ã¶ÔÏóÖµ *

* @param key Ö÷¼üÃû³Æ */

public void removeObject(String key)

23 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

/**

* »ñÈ¡ mainKey - subkey ¶ÔÓ¦µÄµÚ¶þ²ã¶ÔÏóÖµ *

* @param HashKey Ö÷¼üÃû³Æ * @param RecKey ×ÓÖ÷¼üÃû³Æ

* @return Object ¶ÔÓڵĵڶþ²ã¶ÔÏóÖµ */

public Object getRecordFromObj (String HashKey, String RecKey) /**

* ÉèÖà mainKey - subkey ¶ÔÓ¦µÄµÚ¶þ²ã¶ÔÏóÖµ *

* @param HashKey Ö÷¼üÃû³Æ * @param RecKey ×ÓÖ÷¼üÃû³Æ

* @param obj mainKey - subkey¶ÔÓڵĵڶþ²ã¶ÔÏóÖµ */

public void putRecordToObj (String HashKey, String RecKey, Object obj) /**

* ´Ó»º´æÖÐÇå³ý mainKey - subkey ¶ÔÓ¦µÄµÚ¶þ²ã¶ÔÏóÖµ *

* @param HashKey Ö÷¼üÃû³Æ * @param RecKey ×ÓÖ÷¼üÃû³Æ */

public void removeRecordFromObj (String HashKey, String RecKey) /**

* ´Ó»º´æÖÐÇå³ý ËùÓжÔÏóÖµ * */

public void clearRecord()

ÔËÓÃÕâЩ·½·¨£¬ÎÒÃÇ¿ÉÒÔ¹¹ÔìËùÐèÒªµÄ»º´æÀ࣬ʹÓÃÕâЩ»º´æÀàÀ´¶ÔÆäËüÄ£¿éºÍ¹¦ÄÜÌṩ»º´æÐÅÏ¢µÄ½Ó¿Ú£¬ÕâЩ»º´æÀàÔÚϵͳÖеÄÃüÃûΪ XXXComInfo£¬ÆäÖÐXXXΪÏàÓ¦»º´æÐÅÏ¢µÄÃû³Æ¡£²Î¿¼ÈçϵÄÈËÁ¦×ÊÔ´»º´æÀࣺweaver.hrm.resource.ResourceComInfo¡£

ResourceComInfo ÀàÖ÷ÒªÌṩÈËÁ¦×ÊÔ´ÐÅÏ¢Öг£ÓõÄһЩÐÅÏ¢µÄ»º´æ£¬±ÈÈçÈËÔ±Ãû³Æ£¬ËùÔÚ²¿ÃÅ¡£¶ÔÓÚÕâЩÐÅÏ¢£¬¶¼ÐèÒªÒ»¸ö¼üÖµ¡£³£¼ûµÄ¼üÖµÊÇÕâЩÐÅÏ¢ÔÚÊý¾Ý¿â±íÖеÄPrimary Key£¬±ÈÈçÈËÁ¦×ÊÔ´ID£¬ÆäËüÄ£¿éºÍ¹¦ÄÜÔÚ¹ØÁªÈËÁ¦×ÊÔ´ÐÅÏ¢µÄʱºò£¬Ö»¼Ç¼ÈËÁ¦×ÊÔ´µÄID£¬µ±ÐèÒª»ñÈ¡ÈËÁ¦×ÊÔ´µÄÆäËüÐÅÏ¢£¬ÈçÈËÔ±Ãû³Æ£¬ËùÔÚ²¿ÃŵÄʱºò£¬´ÓResourceComInfoÀàÌṩµÄͳһ½Ó¿ÚÖлñÈ¡¡£

24 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

weaver.hrm.resource.ResourceComInfo µÄ´úÂ룺

package weaver.hrm.resource;

import java.util.*; import weaver.conn.*; import weaver.general.*; /**

* Title: ÈËÁ¦×ÊÔ´»º´æÐÅÏ¢½Ó¿ÚÀà

* Description: ¶ÔÆäËüÄ£¿éºÍ¹¦ÄÜÌṩͳһµÄ»ñÈ¡ÈËÁ¦×ÊÔ´ÐÅÏ¢µÄ½Ó¿Ú * Copyright: Copyright (c) 2002 * Company: weaver * @author liuyu * @version 1.0 */

public class ResourceComInfo extends BaseBean {

/* 1 */

private ArrayList ids = null; // ±£´æÈËÁ¦×ÊÔ´¼üÖµ ID ¶ÓÁÐ private ArrayList loginids = null; // ±£´æÈËÁ¦×ÊÔ´µÇ¼Ãû ¶ÓÁÐ private ArrayList lastnames = null; // ±£´æÈËÁ¦×ÊÔ´Ãû³Æ ¶ÓÁÐ private ArrayList departmentids = null; // ±£´æÈËÁ¦×ÊÔ´²¿ÃÅ ¶ÓÁÐ private ArrayList seclevels = null; // ±£´æÈËÁ¦×ÊÔ´°²È«¼¶±ð ¶ÓÁÐ private ArrayList statuses = null; // ±£´æÈËÁ¦×ÊԴ״̬ ¶ÓÁÐ

private StaticObj staticobj = null; // ¹«¹²»º´æÀà

/* 2 */

private int current_index = -1; // µ±Ç°ÈËÁ¦×ÊÔ´¼Ç¼µÄÖ¸Õë private int array_size = 0; // ÈËÁ¦×ÊÔ´¼Ç¼µÄÊýÁ¿

/**

* ÈËÁ¦×ÊÔ´»º´æÐÅÏ¢½Ó¿ÚÀ๹Ôì·½·¨

* ¹¹Ôì·½·¨Öн«»ñÈ¡¹«¹²»º´æÀàµÄΨһʵÀý£¬²¢µ÷ÓÃgetResourceInfo ·½·¨»ñÈ¡»º´æÐÅÏ¢£¬

* ͬʱ¸³ÖµÈËÁ¦×ÊÔ´¼Ç¼µÄÊýÁ¿ * */

public ResourceComInfo() throws Exception{ staticobj = StaticObj.getInstance(); getResourceInfo() ;

25 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

array_size = ids.size(); }

/**

* »ñÈ¡ÈËÁ¦×ÊÔ´»º´æÐÅÏ¢·½·¨

* ¼ì²éÊÇ·ñÓÐÈËÁ¦×ÊÔ´»º´æÐÅÏ¢£¬Èç¹ûûÓУ¬½«µ÷ÓÃsetResourceInfo ·½·¨´Ó

Êý¾Ý¿âÖлñÈ¡ÈËÁ¦×ÊÔ´ÐÅÏ¢²¢·ÅÈ뻺´æÖÐ * ½«»º´æÖеÄÐÅÏ¢¸³ÓèÏàÓ¦µÄ¶ÓÁÐ * */

private void getResourceInfo() throws Exception{ /* 3 */

if(staticobj.getObject(\ setResourceInfo();

// ½«»º´æÖеÄÐÅÏ¢¸³ÓèÏàÓ¦µÄ¶ÓÁÐ

ids = (ArrayList)(staticobj.getRecordFromObj(\

loginids = (ArrayList)(staticobj.getRecordFromObj(\ lastnames = (ArrayList)(staticobj.getRecordFromObj(\\

departmentids = (ArrayList)(staticobj.getRecordFromObj(\\

seclevels = (ArrayList)(staticobj.getRecordFromObj(\\

statuses = (ArrayList)(staticobj.getRecordFromObj(\ }

/**

* ´ÓÊý¾Ý¿â»ñÈ¡ÈËÁ¦×ÊÔ´ÐÅÏ¢²¢·ÅÈ뻺´æ·½·¨

* ´ÓÊý¾Ý¿â»ñÈ¡ËùÐèÒªµÄÈËÁ¦×ÊÔ´ÐÅÏ¢ £¨¸ÃÀàËùÌṩµÄÈËÁ¦×ÊÔ´ÐÅÏ¢£© * ½«»ñÈ¡µÄÐÅÏ¢·ÅÈ뻺´æÖÐ * */

private void setResourceInfo() throws Exception{

// Éú³É¶ÓÁÐʵÀý

ids = new ArrayList();

loginids = new ArrayList(); lastnames = new ArrayList(); departmentids = new ArrayList(); seclevels = new ArrayList(); statuses = new ArrayList();

// ²éѯÊý¾Ý¿â²¢¸³Öµ¶ÓÁÐ

RecordSet rt = new RecordSet() ;

26 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

rt.executeProc(\ while(rt.next()){

ids.add(Util.null2String(rt.getString(\

loginids.add(Util.null2String(rt.getString(\ lastnames.add(Util.null2String(rt.getString(\

departmentids.add(\ seclevels.add(Util.null2String(rt.getString(\ statuses.add(Util.null2String(rt.getString(\ }

/* 3 */

// ½«»ñÈ¡µÄÐÅÏ¢·ÅÈ뻺´æÖÐ, »º´æÖеÄÒ»¼¶¼üֵΪ \£¬ ¶þ¼¶¼üֵΪÈËÁ¦×ÊÔ´¶ÔÓ¦µÄ¶ÓÁÐÃû³Æ

staticobj.putRecordToObj(\

staticobj.putRecordToObj(\ staticobj.putRecordToObj(\

staticobj.putRecordToObj(\ staticobj.putRecordToObj(\ staticobj.putRecordToObj(\ }

/**

* »ñÈ¡ÈËÁ¦×ÊÔ´ÐÅÏ¢ÊýÁ¿·½·¨ *

* @return int ÈËÁ¦×ÊÔ´ÐÅÏ¢ÊýÁ¿ * */

public int getResourceNum() { return array_size; }

/* 2 */ /**

* ½«µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòÏÂÒ»¸öÈËÁ¦×ÊÔ´ÐÅÏ¢ *

* @return boolean Èç¹ûÓÐÏÂÒ»¸öÈËÁ¦×ÊÔ´ÐÅÏ¢£¬·µ»Øtrue£¬ ·ñÔò·µ»Øfalse£¬²¢½«µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖÃΪ³õʼֵ£¨³õʼֵÔÚµÚÒ»Ìõ¼Ç¼֮ǰ£© * */

public boolean next(){

while((current_index+1) < array_size){ current_index++; return true; }

current_index = -1; return false;

27 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

}

/* 2 */ /**

* ½«µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸Ïò³õʼֵ£¨³õʼֵÔÚµÚÒ»Ìõ¼Ç¼֮ǰ£© * */

public void setTofirstRow(){ current_index = -1; }

/* 2 */ /**

* »ñÈ¡µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòµÄÈËÁ¦×ÊÔ´¼Ç¼µÄid *

* @return String µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòµÄÈËÁ¦×ÊÔ´¼Ç¼µÄid */

public String getResourceid(){

return (String)(ids.get(current_index)); }

/* 2 */ /**

* »ñÈ¡µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòµÄÈËÁ¦×ÊÔ´¼Ç¼µÄÃû³Æ *

* @return String µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòµÄÈËÁ¦×ÊÔ´¼Ç¼µÄÃû³Æ */

public String getLastname(){

return ((String)(lastnames.get(current_index))).trim() ; }

/* 2 */ /**

* »ñÈ¡µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòµÄÈËÁ¦×ÊÔ´¼Ç¼µÄ²¿ÃÅid *

* @return String µ±Ç°ÈËÁ¦×ÊÔ´ÐÅÏ¢Ö¸ÕëÖ¸ÏòµÄÈËÁ¦×ÊÔ´¼Ç¼µÄ²¿ÃÅid */

public String getDepartmentID(){

return ((String)(departmentids.get(current_index))).trim() ; } /**

* »ñÈ¡ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´Ãû³ÆÐÅÏ¢ *

* @param key ÈËÁ¦×ÊÔ´id £¨ÎªÈËÁ¦×ÊÔ´ÐÅÏ¢µÄ¼üÖµ£©

·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn 28

* @return String ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´Ãû³ÆÐÅÏ¢ */

public String getResourcename(String key) { int index=ids.indexOf(key);

if(index!=-1) return ((String)lastnames.get(index)).trim(); else return \ }

/**

* »ñÈ¡ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´µÇ¼ÃûÐÅÏ¢ *

* @param key ÈËÁ¦×ÊÔ´id £¨ÎªÈËÁ¦×ÊÔ´ÐÅÏ¢µÄ¼üÖµ£© * @return String ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´µÇ¼ÃûÐÅÏ¢ */

public String getLoginID(String key) { int index=ids.indexOf(key);

if(index!=-1) return ((String)loginids.get(index)).trim() ; else return \ } /**

* »ñÈ¡ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´²¿ÃÅÐÅÏ¢ *

* @param key ÈËÁ¦×ÊÔ´id £¨ÎªÈËÁ¦×ÊÔ´ÐÅÏ¢µÄ¼üÖµ£© * @return String ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´²¿ÃÅÐÅÏ¢ */

public String getDepartmentID(String key) { int index=ids.indexOf(key);

if(index!=-1) return ((String)departmentids.get(index)).trim() ; else return \ } /**

* »ñÈ¡ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´°²È«¼¶±ðÐÅÏ¢ *

* @param key ÈËÁ¦×ÊÔ´id £¨ÎªÈËÁ¦×ÊÔ´ÐÅÏ¢µÄ¼üÖµ£© * @return String ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊÔ´°²È«¼¶±ðÐÅÏ¢ */

public String getSeclevel(String key) { int index=ids.indexOf(key);

if(index!=-1) return ((String)seclevels.get(index)).trim() ; else return \ }

·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn 29

/**

* »ñÈ¡ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊԴ״̬ÐÅÏ¢ *

* @param key ÈËÁ¦×ÊÔ´id £¨ÎªÈËÁ¦×ÊÔ´ÐÅÏ¢µÄ¼üÖµ£© * @return String ÈËÁ¦×ÊÔ´id¶ÔÓ¦µÄÈËÁ¦×ÊԴ״̬ÐÅÏ¢ */

public String getStatus(String key) { int index=ids.indexOf(key);

if(index!=-1) return ((String)statuses.get(index)).trim() ; else return \ }

/* 4 */ /**

* Çå³ýÈËÁ¦×ÊÔ´»º´æÐÅÏ¢ * */

public void removeResourceCache() { /* 3 */

staticobj.removeObject(\ } }

ÒÔÉÏ´úÂëÐèҪעÒâµÄ¼¸¸öµØ·½£º

×¢ÊÍ1£ºÕâÀïËù¶¨ÒåµÄ¶ÓÁУ¬ÓÃÓÚÒÀ´Î´æ·ÅÈËÁ¦×ÊÔ´µÄËùÐèÐÅÏ¢¡£ËùÐèÐÅÏ¢ÊǸù¾ÝÎÒÃǵÄÐèÒªÀ´È·¶¨µÄ£¬µ«ÊDZØÐëÃ÷È·Ò»µã£¬Ö»ÓÐÄÇЩ¾­³£Óõ½µÄÐÅÏ¢²É·Åµ½»º´æÖУ¬·ñÔò½«»áÔì³É»º´æµÄÓ·Óà¡£

×¢ÊÍ2£ºÕâÀïµÄÖ¸ÕëºÍ·½·¨ÓÃÓÚһЩ³ÌÐò±éÀúÈËÁ¦×ÊÔ´µÄËùÓÐÐÅÏ¢¡£±ÈÈçÈçÏÂÔÚjspÒ³ÃæÖеÄÓ¦Óãº

30 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

×¢ÊÍ3£º»º´æÖеÄÒ»¼¶¼üÖµÉèÖÃΪÏàÓ¦µÄÀàÃû£¬¸ù¾ÝÕâ¸ö¼üÖµÀ´Åжϻº´æÖÐÊÇ·ñÓÐÏàÓ¦µÄÐÅÏ¢£¬»òÕßÇå³ý»º´æÖеĸÃÐÅÏ¢¡£ÐèҪעÒâµÄÊÇ£¬»º´æÖеļüÖµÐÅÏ¢±ØÐëΨһ£¬²»ÄÜÖØ¸´£¡

×¢ÊÍ4£ºÇåÀí»º´æÐÅÏ¢£¬ÆäÄ¿µÄÊÇÔÚÏÂÒ»´Î»ñÈ¡»º´æÐÅÏ¢µÄʱºò£¬±ØÐëÖØÐ´ÓÊý¾Ý¿âÖжÁȡһ´ÎÔÚ·ÅÈ뻺´æÖС£ÔÚʲôʱºòÐèÒªÇåÀí»º´æÐÅÏ¢ÄØ£¿µ±È»ÊÇÔÚÈËÁ¦×ÊÔ´ÐÅÏ¢ÓÐËù¸Ä±äµÄʱºò£¬±ÈÈçн¨ÁËÈËÁ¦×ÊÔ´£¬É¾³ýÁËÈËÁ¦×ÊÔ´£¬ÐÞ¸ÄÁËÈËÁ¦×ÊÔ´ÐÅÏ¢£¨ÕâÀïÈç¹ûÄÜÅжÏÐ޸ĵÄÐÅÏ¢ÊÇ·ñΪ»º´æÖеÄÐÅÏ¢£¬±ÈÈçÈËÁ¦×ÊÔ´ÐÕÃû£¬µ±ÊǵÄʱºò²ÅÇåÀí£¬²»ÊǵÄʱºò¾Í²»ÇåÀí£¬ÊÇ×îºÃµÄ£¡£©¡£

¶ÔÓÚÇåÀí»º´æ£¬Èç¹ûÄܸÄΪеĴ¦Àí·½Ê½£¬¼´ÔÚÊý¾Ý¿âÐÅÏ¢¸Ä±äµÄͬʱ£¬Ö»¸Ä±ä¶ÔÓ¦µÄ»º´æÐÅÏ¢£¬¶ø²»ÊÇÇåÀí»º´æÐÅÏ¢ºóÖØÐ¶ÁÈ¡Êý¾Ý¿â£¬½«¶Ô³ÌÐòµÄÐÔÄÜÆðµ½ºÜºÃµÄ¸Ä½ø£¡

31 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn

3.9 ÆäËüµ×²ãÀà»ù±¾·½·¨

ÔÚ¿ªÊ¼±à³Ì֮ǰ£¬´ó¼Ò»¹ÐèÒª¿´¿´Èçϼ¸¸öÀàµÄAPI Îĵµ£º

weaver.general.Util :

ÌṩÁË´óÁ¿»ù±¾µÄ¹¤¾ß·½·¨£¬ÆäÖÐnull2String·½·¨£¬fromScreen·½·¨£¬toScreen ·½·¨£¬TokenizerString ·½·¨ÊÇ´ó¼ÒÐèÒª¹Ø×¢µÄ·½·¨¡£

weaver.general. SendMail :

ÌṩÁËÓʼþ·¢Ë͵Ļù±¾·½·¨£¬ÆäÖÐsend·½·¨£¬sendhtml·½·¨£¬sendMiltipartText·½·¨ÊÇ´ó¼ÒÐèÒª¹Ø×¢µÄ·½·¨¡£

weaver.file.FileManage :

ÌṩÁËÎļþ´¦ÀíµÄ¹¤¾ß·½·¨¡£ÆäÖÐcreateDir·½·¨£¬copy·½·¨£¬moveFileTo·½·¨£¬DeleteFile·½·¨£¬extractFileName·½·¨£¬extractFileExt·½·¨£¬extractFilePath·½·¨ÊÇ´ó¼ÒÐèÒª¹Ø×¢µÄ·½·¨¡£

weaver.file.GraphFile weaver.file.GraphOut

ÌṩÁËͼÐδ¦ÀíµÄ·½·¨¡£¾ßÌåµÄʹÓúÍʵÀýÇë²Î¼û ¡¶ecologyͼƬAPI¼°ÊµÀýÎĵµ¡·

weaver.file.ExcelFile weaver.file.ExcelOut weaver.file.ExcelParse weaver.file.ExcelRow weaver.file.ExcelSheet weaver.file.ExcelStyle

ÌṩÁËExcelÎļþµÄÉú³ÉºÍ´¦ÀíµÄ·½·¨¡£¾ßÌåµÄʹÓúÍʵÀýÇë²Î¼û ¡¶ecology Excel API¼°ÊµÀýÎĵµ¡·

32 ·ºÎ¢ÍøÂçÓÐÏÞ¹«Ë¾ www.weaver.com.cn