锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日韩国产精品乱-久,久久精品亚洲综合,亚洲精品国产高清在线观看http://www.tkk7.com/hyljava/category/51780.htmlzh-cnSat, 23 Nov 2013 23:14:00 GMTSat, 23 Nov 2013 23:14:00 GMT60鍥涙搗鍏村攼璇劇▼杈呭騫沖彴http://www.tkk7.com/hyljava/archive/2013/11/23/406728.html浣曚簯闅?/dc:creator>浣曚簯闅?/author>Sat, 23 Nov 2013 12:52:00 GMThttp://www.tkk7.com/hyljava/archive/2013/11/23/406728.htmlhttp://www.tkk7.com/hyljava/comments/406728.htmlhttp://www.tkk7.com/hyljava/archive/2013/11/23/406728.html#Feedback0http://www.tkk7.com/hyljava/comments/commentRss/406728.htmlhttp://www.tkk7.com/hyljava/services/trackbacks/406728.html鍥涙搗鍏村攼璇劇▼杈呭騫沖彴
http://fd.itedu-g.cn/login.php

]]>
鍗囩駭鐗圝DBC宸ュ叿綾?/title><link>http://www.tkk7.com/hyljava/archive/2012/05/31/379691.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Thu, 31 May 2012 14:07:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/05/31/379691.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/379691.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/05/31/379691.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/379691.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/379691.html</trackback:ping><description><![CDATA[<p> </p> <p>import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.sql.ParameterMetaData;<br />import java.sql.PreparedStatement;<br />import java.sql.ResultSet;<br />import java.sql.ResultSetMetaData;<br />import java.sql.SQLException;<br />import java.sql.Statement;<br />import java.util.HashMap;<br />import java.util.LinkedList;<br />import java.util.List;<br />import java.util.Map;</p> <p><br />/**<br /> * 鐢ㄦ埛鏁版嵁搴撹闂殑綾?br /> *@浣滆匒dministrator<br /> <a href="mailto:*@createTime">*@createTime</a> 2011-12-5 涓婂崍11:55:18<br /> <a href="mailto:*@version">*@version</a> 1.0<br /> */<br />public class DButil1 {</p> <p> private Connection conn;<br /> private Statement st;<br /> private PreparedStatement pps;<br /> private ResultSet rs;<br /> public  String url="jdbc:oracle:thin:@localhost:1521:orcl";<br /> private String user="hyl";<br /> private String password="hyl";<br /> <br /> //鍔犺澆椹卞姩銆佹斁鍦ㄩ潤鎬佷唬鐮佸潡涓紝淇濊瘉椹卞姩鍦ㄦ暣涓」鐩腑鍙姞杞戒竴嬈★紝鎻愰珮鏁堢巼<br /> static{<br />  try {<br />   Class.forName("oracle.jdbc.driver.OracleDriver");<br />  } catch (ClassNotFoundException e) {<br />   e.printStackTrace();<br />  }<br /> }<br /> <br /> /**<br />  * 鑾峰彇榪炴帴鐨勬柟娉?br />  * @return Connection 涓涓湁鏁堢殑鏁版嵁搴撹繛鎺?br />  */<br /> public Connection getConnection()<br /> {<br />  try {<br />   //娉ㄦ剰閾炬帴鏃訛紝瑕佹崲鎴愯嚜宸辯殑鏁版嵁搴撳悕錛屾暟鎹簱鐢ㄦ埛鍚嶅強(qiáng)瀵嗙爜<br />   Connection con=DriverManager.getConnection(url,user,password);<br />   return con;<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  return null;<br /> }</p> <p> /**<br />  * 鐢ㄤ簬鎵ц鏇存柊鐨勬柟娉?鍖呮嫭錛坕nsert delete update錛夋搷浣?br />  * @param sql String 綾誨瀷鐨凷QL璇彞<br />  * @return Integer 琛ㄧず鍙楀獎(jiǎng)鍝嶇殑琛屾暟<br />  */<br /> public int update(String sql)<br /> {<br />  //瀹氫箟鍙橀噺鐢ㄦ潵鍒ゆ柇鏇存柊鎿嶄綔鏄惁鎴愬姛錛屽鏋滆繑鍥?1璇存槑娌℃湁褰卞搷鍒版洿鏂版搷浣滅殑鏁版嵁搴撹褰曟潯鏁幫紝鍗蟲洿鏂版搷浣滃け璐?br />  int row=-1;<br />  try {<br />   //濡傛灉鏁版嵁搴撻摼鎺ヨ鍏抽棴浜嗭紝灝辮鏃㈠緱涓涓柊鐨勯摼鎺?br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   //浣跨敤Connection瀵硅薄conn鐨刢reateStatement()鍒涘緩Statement錛堟暟鎹簱璇彞瀵硅薄錛塻t<br />   st=conn.createStatement();<br />   //鎵ц鏇存柊鎿嶄綔錛岃繑鍥炲獎(jiǎng)鍝嶇殑璁板綍鏉℃暟row<br />   row=st.executeUpdate(sql);<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  finally{<br />   close();<br />  }<br />  return row;<br /> }<br /> <br /> /**<br />  * 鍩轟簬PreparedStatement鐨勪慨鏀規(guī)柟娉?PreparedStatement:琛ㄧず棰勭紪璇戠殑 SQL 璇彞鐨勫璞?br />  * @param sql  String 綾誨瀷鐨凷QL璇彞錛坕nsert delete update錛?br />  * @param obj 瀛樻斁鍔ㄦ佸弬鏁扮殑鏁扮粍<br />  * @return Integer 琛ㄧず鍙楀獎(jiǎng)鍝嶇殑琛屾暟<br />  */<br /> public int update(String sql,Object ...obj)<br /> {<br />  try {<br />   //鑾峰彇閾炬帴<br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   //鍒涘緩棰勭紪璇戠殑 SQL 璇彞瀵硅薄<br />   pps=conn.prepareStatement(sql);<br />   //瀹氫箟鍙橀噺length浠h〃鏁扮粍闀垮害錛屼篃灝辨槸棰勫鐞嗙殑sql璇彞涓殑鍙傛暟涓暟 <br />   int length=0;<br />   //ParameterMetaData錛氱敤浜庤幏鍙栧叧浜?PreparedStatement 瀵硅薄涓瘡涓弬鏁扮殑綾誨瀷鍜屽睘鎬т俊鎭殑瀵硅薄<br />   ParameterMetaData pmd=pps.getParameterMetaData();<br />   length=pmd.getParameterCount();<br />   //寰幆灝唖ql璇彞涓殑?璁劇疆涓簅bj鏁扮粍涓搴旂殑鍊鹼紝娉ㄦ剰浠?寮濮嬶紝鎵浠瑕佸姞1<br />   for(int i=0;i<length;i++)<br />   {<br />    pps.setObject(i+1, obj[i]);<br />   }<br />   //鎵ц鏇存柊鎿嶄綔<br />   return pps.executeUpdate();<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }finally{<br />   close();<br />  }<br />  <br />  return -1;<br /> }<br /> /**<br />  * 鑾峰彇涓鏉¤褰曠殑鏂規(guī)硶錛岃渚濊禆浜庝笅闈㈢殑queryToList鏂規(guī)硶錛屾敞鎰忔硾鍨嬬殑浣跨敤<br />  * @param sql<br />  * @return銆Map<String,Object><br />  */<br /> public Map<String,Object> getOneRow(String sql)<br /> {<br />  //鎵ц涓嬮潰鐨剄ueryToList鏂規(guī)硶<br />  List<Map<String,Object>> list=queryToList(sql);<br />  //涓夌洰榪愮畻錛屾煡璇㈢粨鏋渓ist涓嶄負(fù)絀鴻繑鍥瀕ist涓涓涓璞?鍚﹀垯榪斿洖null<br />  return list.size()>0?list.get(0):null;<br /> }<br /> <br /> /**<br />  * 榪斿洖鏌ヨ緇撴灉鍒楄〃錛屽艦濡傦細(xì)[{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}, {TEST_NAME=bbb, TEST_NO=3, TEST_PWD=bbb}...]<br />  * @param sql<br />  * @return List<Map<String,Object>><br />  */<br /> public List<Map<String,Object>> queryToList(String sql)<br /> {<br />  //鍒涘緩闆嗗悎鍒楄〃鐢ㄤ互淇濆瓨鎵鏈夋煡璇㈠埌鐨勮褰?br />  List<Map<String, Object>> list=new LinkedList<Map<String, Object>>();<br />  try {<br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   st=conn.createStatement();<br />   rs=st.executeQuery(sql);<br />   //ResultSetMetaData 鏄粨鏋滈泦鍏冩暟鎹紝鍙幏鍙栧叧浜?ResultSet 瀵硅薄涓垪鐨勭被鍨嬪拰灞炴т俊鎭殑瀵硅薄 渚嬪錛氱粨鏋滈泦涓叡鍖呮嫭澶氬皯鍒楋紝姣忓垪鐨勫悕縐板拰綾誨瀷絳変俊鎭?br />   ResultSetMetaData rsmd=rs.getMetaData();<br />   //鑾峰彇緇撴灉闆嗕腑鐨勫垪鏁?br />   int columncount=rsmd.getColumnCount();<br />   //while鏉′歡鎴愮珛琛ㄦ槑緇撴灉闆嗕腑瀛樺湪鏁版嵁<br />   while(rs.next())<br />   {<br />    //鍒涘緩涓涓狧ashMap鐢ㄤ簬瀛樺偍涓鏉℃暟鎹?br />    HashMap<String, Object> onerow=new HashMap<String, Object>();<br />    //寰幆鑾峰彇緇撴灉闆嗕腑鐨勫垪鍚嶅強(qiáng)鍒楀悕鎵瀵瑰簲鐨勫鹼紝姣忔寰幆閮藉緱鍒頒竴涓璞★紝褰㈠錛歿TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}<br />    for(int i=0;i<columncount;i++)<br />    {<br />     //鑾峰彇鎸囧畾鍒楃殑鍚嶇О錛屾敞鎰弌rcle涓垪鍚嶇殑澶у皬鍐?br />     String columnName=rsmd.getColumnName(i+1);<br />     onerow.put(columnName, rs.getObject(i+1));<br />    }<br />    //灝嗚幏鍙栧埌鐨勫璞newrow={TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}鏀懼埌闆嗗悎鍒楄〃涓?br />    list.add(onerow);<br />   }<br />  }catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  finally{<br />   close();<br />  }<br />  return list;<br /> }<br /> /**<br />  * 榪斿洖鏌ヨ緇撴灉鍒楄〃,浣跨敤鐨勬槸棰勭紪緇嶴QL 璇彞瀵硅薄PreparedStatement<br />  * 褰㈠錛歔{TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}, {TEST_NAME=bbb, TEST_NO=3, TEST_PWD=bbb}]<br />  * @param sql<br />  * @param paramValues<br />  * @return List<Map<String,Object>><br />  */<br /> public List<Map<String,Object>> queryWithParam(String sql,Object ...paramValues){<br />  //鍒涘緩闆嗗悎鍒楄〃鐢ㄤ互淇濆瓨鎵鏈夋煡璇㈠埌鐨勮褰?br />  List<Map<String, Object>> list=new LinkedList<Map<String, Object>>();<br />  try {<br />   if(conn==null||conn.isClosed()){<br />     conn=getConnection();<br />   }<br />   pps = conn.prepareStatement(sql);<br />   for (int i = 0; i < paramValues.length; i++) {<br />    pps.setObject(i + 1, paramValues[i]);<br />   }<br />   rs = pps.executeQuery();<br />   //ResultSetMetaData 鏄粨鏋滈泦鍏冩暟鎹紝鍙幏鍙栧叧浜?ResultSet 瀵硅薄涓垪鐨勭被鍨嬪拰灞炴т俊鎭殑瀵硅薄 渚嬪錛氱粨鏋滈泦涓叡鍖呮嫭澶氬皯鍒楋紝姣忓垪鐨勫悕縐板拰綾誨瀷絳変俊鎭?br />   ResultSetMetaData rsmd=rs.getMetaData();<br />   //鑾峰彇緇撴灉闆嗕腑鐨勫垪鏁?br />   int columncount=rsmd.getColumnCount();<br />   //while鏉′歡鎴愮珛琛ㄦ槑緇撴灉闆嗕腑瀛樺湪鏁版嵁<br />   while (rs.next()) {<br />    //鍒涘緩涓涓狧ashMap鐢ㄤ簬瀛樺偍涓鏉℃暟鎹?br />    HashMap<String, Object> onerow=new HashMap<String, Object>();<br />    //寰幆鑾峰彇緇撴灉闆嗕腑鐨勫垪鍚嶅強(qiáng)鍒楀悕鎵瀵瑰簲鐨勫鹼紝姣忔寰幆閮藉緱鍒頒竴涓璞★紝褰㈠錛歿TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}<br />    for(int i=0;i<columncount;i++)<br />    {<br />     //鑾峰彇鎸囧畾鍒楃殑鍚嶇О錛屾敞鎰弌rcle涓垪鍚嶇殑澶у皬鍐?br />     String columnName=rsmd.getColumnName(i+1);<br />     onerow.put(columnName, rs.getObject(i+1));<br />    }<br />    //灝嗚幏鍙栧埌鐨勫璞newrow={TEST_NAME=aaa, TEST_NO=2, TEST_PWD=aaa}鏀懼埌闆嗗悎鍒楄〃涓?br />    list.add(onerow);<br />   }<br />  }catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br />  finally{<br />   close();<br />  }<br />  return list;<br /> }<br /> <br /> <br /> <br /> /**<br />  * 瀹炵幇oracle鍒嗛〉鍔熻兘<br />  * @param sql<br />  * @param pagesize<br />  * @param pagenow<br />  * @return PageBean<br />  */<br /> public PageBean getPage(String sql,int pagesize,int pagenow)<br /> {<br />  PageBean pb=new PageBean();<br />  int end=pagenow*pagesize;<br />  int start=end-pagesize+1;<br />  String exesql="select a.* from (select t.*,rownum as rowindex from ("+sql+") t where rownum<="+end+" ) a where a.rowindex>="+start;<br />  String countsql="select count(*) as rowcount from ("+sql+")";<br />  pb.setResult(queryToList(exesql));<br />  pb.setPagenow(pagenow);<br />  pb.setPagesize(pagesize);<br />  Map<String,Object> map=this.getOneRow(countsql);<br />  int rows=Integer.parseInt(map.get("ROWCOUNT").toString());<br />  pb.setRows(rows);<br />  int pages=rows%pagesize==0?rows/pagesize:rows/pagesize+1;<br />  pb.setPages(pages);<br />  pb.setSql(sql);<br />  return pb;<br /> }<br /> /**<br />  * 鍏抽棴鏁版嵁搴撳悇縐嶈祫婧怌onnection Statement PreparedStatement ResultSet鐨勬柟娉?br />  */<br /> private void close()<br /> {<br />     if(rs!=null)<br />     {<br />      try {<br />    rs.close();<br />   } catch (SQLException e) {<br />    e.printStackTrace();<br />   }<br />     }<br />     <br />     if(st!=null)<br />     {<br />      try {<br />       st.close();<br />   } catch (SQLException e) {<br />    e.printStackTrace();<br />   }<br />     }<br />     if(pps!=null){<br />      try {<br />       pps.close();<br />   } catch (SQLException e) {<br />    e.printStackTrace();<br />   }<br />     }<br />     try {<br />   if(conn!=null&&!conn.isClosed())<br />   {<br />    try {<br />     conn.close();<br />    } catch (SQLException e) {<br />     e.printStackTrace();<br />    }<br />   }<br />  } catch (SQLException e) {<br />   e.printStackTrace();<br />  }<br /> }<br /> <br />}</p><img src ="http://www.tkk7.com/hyljava/aggbug/379691.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-05-31 22:07 <a href="http://www.tkk7.com/hyljava/archive/2012/05/31/379691.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>LOG4J鐨勮В鏋?/title><link>http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Mon, 28 May 2012 11:06:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/379380.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/379380.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/379380.html</trackback:ping><description><![CDATA[<p>鏂規(guī)硶涓銆?瑙e喅鐨勫姙娉曡嚜鐒舵槸鐢ㄧ浉瀵硅礬寰勪唬鏇跨粷瀵硅礬寰勶紝鍏跺疄log4j鐨凢ileAppender鏈韓灝辨湁榪欐牱鐨勬満鍒訛紝濡傦細(xì)log4j.appender.logfile.File=${WORKDIR}/logs/app.log <br />鍏朵腑“${WORKDIR}/”鏄釜鍙橀噺錛屼細(xì)琚玈ystem Property涓殑“WORKDIR”鐨勫間唬鏇褲傝繖鏍鳳紝鎴戜滑灝卞彲浠ュ湪log4j鍔犺澆閰嶇疆鏂囦歡涔嬪墠錛屽厛鐢⊿ystem.setProperty ("WORKDIR", WORKDIR);璁劇疆濂芥牴璺緞錛屾鎿嶄綔鍙氳繃涓鍒濆鐨剆ervlet榪涜銆?</p> <p>鏂規(guī)硶浜屻佸彲浠ヤ嬌鐢ㄦ湇鍔″櫒鐜鍙橀噺 <br />log4j鐨勯厤緗枃浠舵敮鎸佹湇鍔″櫒鐨剉m鐨勭幆澧冨彉閲忥紝鏍煎紡綾諱技${catalina.home} <br />log4j.appender.R=org.apache.log4j.RollingFileAppender <br />log4j.appender.R.File=${catalina.home}/logs/logs_tomcat.log <br />log4j.appender.R.MaxFileSize=10KB <br />鍏朵腑鐨?{catalina.home}騫墮潪windows緋葷粺鐨勭幆澧冨彉閲忥紝榪欎釜鐜鍙橀噺灝變笉闇瑕佸湪Windows緋葷粺鐨勭幆澧冨彉閲忎腑璁劇疆銆備箣鎵浠ヨ繖鏍鳳紝浣犲彲浠ョ湅鐪媡omcat\bin\catalina.bat(startup,shutdown閮芥槸璋冪敤榪欎釜)閲岄潰鑷甫鏈?Dcatalina.home= "%CATALINA_HOME%" 銆傜戶鎵胯繖涓濇兂錛屾墍浠ヤ綘涔熷彲浠ヨ嚜宸辮瀹氫竴涓弬鏁?Dmylog.home="D:/abc/log"鍒板搴旂殑鏈嶅姟鍣╦ava鍚姩鐨剉m鍙傛暟涓?</p> <p>鏂規(guī)硶涓夈侀氳繃servlet鍒濆鍖杋nit()鏂規(guī)硶涓姞杞絝ile灞炴у疄鐜扮浉瀵硅礬寰?<br />鍏蜂綋瀹炵幇:鍋氫竴涓猻ervlet,鍦ㄧ郴緇熷姞杞界殑鏃跺?灝辨妸properties鐨勬枃浠惰鍒頒竴涓猵roperties鏂囦歡涓?閭d釜file鐨勫睘鎬у?鎴戜嬌鐢ㄧ殑鏄浉瀵圭洰褰?鏀規(guī)帀(鍓嶉潰鍔犱笂緋葷粺鐨勬牴鐩綍),璁╁悗鎶婅繖涓猵roperties瀵硅薄璁劇疆鍒皃ropertyConfig涓幓,榪欐牱灝卞垵濮嬪寲浜唋og鐨勮緗?鍦ㄥ悗闈㈢殑浣跨敤涓氨鐢ㄤ笉鐫鍐嶉厤緗簡 <br />涓鑸湪鎴戜滑寮鍙戦」鐩繃紼嬩腑,log4j鏃ュ織杈撳嚭璺緞鍥哄畾鍒版煇涓枃浠跺す,榪欐牱濡傛灉鎴戞崲涓涓幆澧?鏃ュ織璺緞鍙堥渶瑕侀噸鏂頒慨鏀?姣旇緝涓嶆柟渚?鐩墠鎴戦噰鐢ㄤ簡鍔ㄦ佹敼鍙樻棩蹇楄礬寰勬柟娉曟潵瀹炵幇鐩稿璺緞淇濆瓨鏃ュ織鏂囦歡 <br />(1).鍦ㄩ」鐩惎鍔ㄦ椂,瑁呭叆鍒濆鍖栫被: <br />public class Log4jInit extends HttpServlet { <br />         static Logger logger = Logger.getLogger(Log4jInit.class); <br />         public Log4jInit() { <br />         } </p> <p>         public void init(ServletConfig config) throws ServletException { <br />             String prefix = config.getServletContext().getRealPath("/"); <br />             String file = config.getInitParameter("log4j"); <br />             String filePath = prefix + file; <br />             Properties props = new Properties(); <br />             try { <br />                 FileInputStream istream = new FileInputStream(filePath); <br />                 props.load(istream); <br />                 istream.close(); <br />                 //toPrint(props.getProperty("log4j.appender.file.File")); <br />                 String logFile = prefix + props.getProperty("log4j.appender.file.File");//璁劇疆璺緞 <br />                 props.setProperty("log4j.appender.file.File",logFile); <br />                 PropertyConfigurator.configure(props);//瑁呭叆log4j閰嶇疆淇℃伅 <br />             } catch (IOException e) { <br />                 toPrint("Could not read configuration file [" + filePath + "]."); <br />                 toPrint("Ignoring configuration file [" + filePath + "]."); <br />                 return; <br />             } <br />         } </p> <p>         public static void toPrint(String content) { <br />             System.out.println(content); <br />         } <br />} <br />瀹為檯涓妉og4j鐨勯厤緗枃浠秎og4j.properties濡備負(fù)榛樿鍚嶏紝鍙斁緗湪JVM鑳借鍒扮殑classpath閲岀殑浠繪剰鍦版柟錛屼竴鑸槸鏀懼湪WEB- INF/classes鐩綍涓嬨傚綋log4j鐨勯厤緗枃浠朵笉鍐嶆槸榛樿鍚嶏紝鍒欓渶瑕佸彟澶栧姞杞藉茍緇欏嚭鍙傛暟錛屽涓?“ropertyConfigurator.configure(props);//瑁呭叆log4j閰嶇疆淇℃伅” </p> <p>(2).Web.xml涓殑閰嶇疆 <br /><servlet> <br />         <servlet-name>log4j-init</servlet-name> <br />         <servlet-class>Log4jInit</servlet-class> <br />         <init-param> <br />           <param-name>log4j</param-name> <br />           <param-value>WEB-INF/classes/log4j.properties</param-value> <br />         </init-param> <br />         <load-on-startup>1</load-on-startup> <br />       </servlet> </p> <p>娉ㄦ剰錛氫笂闈㈢殑load-on-startup璁句負(fù)0錛屼互渚垮湪Web瀹瑰櫒鍚姩鏃跺嵆瑁呭叆璇ervlet銆俵og4j.properties鏂囦歡鏀懼湪鏍圭殑properties瀛愮洰褰曚腑錛屼篃鍙互鎶婂畠鏀懼湪鍏跺畠鐩綍涓傚簲璇ユ妸.properties鏂囦歡闆嗕腑瀛樻斁錛岃繖鏍鋒柟渚跨鐞嗐?<br />(3).log4j.properties涓嵆鍙厤緗甽og4j.appender.file.File涓哄綋鍓嶅簲鐢ㄧ殑鐩稿璺緞. </p> <p><br />浠ヤ笂鏄綉涓妉og4j鏃ュ織鏂囦歡鐨勭浉瀵硅礬寰勯厤緗殑涓夌鏂規(guī)硶錛堟垜鑳芥壘鍒扮殑灝變笁縐嶏級(jí)錛屽垎鏋愶細(xì) </p> <p>鏂規(guī)硶涓涓昏鏄墿灞曚簡log4j鐨凴ollingFileAppender綾伙紝鍏朵粬鐨凢ileAppender鍚屾牱閬撶悊銆傛墿灞曠殑鏂規(guī)硶錛屽氨鏄敤涓涓瓙綾誨幓瑕嗙洊setFile鏂規(guī)硶錛岃繖涓柟娉曞湪log4j璇誨彇閰嶇疆鏂囦歡鐢熸垚appender鐨勬椂鍊欒皟鐢紝浼犲叆鐨勫氨鏄厤 <br />緗枃浠朵腑鐨勮礬寰勶紝榪欐牱鎴戝氨鍙互鎸夌収鑷繁鐨勬兂娉曞湪璺緞鍓嶉潰鍔犱笂鏍硅礬寰勪簡銆傝繖縐嶆柟娉曞彲浠ュ湪log4j.properties涓敤鐩稿璺緞鑷敱閰嶇疆log4j.appender.A1.File灞炴ф潵鍐沖畾鐢熸垚鐨勬棩蹇楃浉瀵箇eb搴旂敤鏍?<br />鐩綍鐨勪綅緗?</p> <p>鏂規(guī)硶浜屾槸鍒╃敤鏈嶅姟鍣╲m涓凡緇忓瓨鍦ㄧ殑鐜鍙橀噺濡?{catalina.home}鏉ヨ緗浉瀵逛簬${catalina.home}鐨勬棩蹇楄礬寰勶紝鏃ュ織鍙兘鏀懼埌鏈嶅姟鍣ㄥ瓙鐩綍閲岋紝鑰屼笖濡傛灉鏄敤鐨勫叾瀹冩湇鍔″櫒錛屽垯瑕佹敼瀵瑰簲鐨勭幆澧冨彉閲忋傛鏂規(guī)硶騫沖彴縐繪涓嶆柟渚褲?</p> <p>鏂規(guī)硶涓夋槸鎵╁睍ActionServlet綾伙紝瑕嗙洊鍏秈nit()鏂規(guī)硶錛屾柊鏂規(guī)硶涓澆鍏og4j.properties浣嶇疆鐨勫弬鏁幫紝鍙互鑷敱閰嶇疆log4j鐨勯厤緗枃浠剁殑鍚嶅瓧鍜屽瓨鏀句綅緗備篃鍙嚜鐢遍厤緗甽og4j鏃ュ織鏂囦歡鐨勭浉瀵逛簬褰撳墠搴旂敤鐨勮礬寰勩傝 <br />緇嗕唬鐮佸涓嬶細(xì) </p> <p>紼嬪簭浠g爜 <br />package wbb.bysxxglxt.util; </p> <p>import org.apache.struts.action.*; <br />import org.apache.commons.logging.LogFactory; <br />import org.apache.commons.logging.Log; <br />import javax.servlet.ServletException; <br />import java.util.Properties; <br />import java.io.InputStream; <br />import org.apache.log4j.PropertyConfigurator; <br />import java.io.FileInputStream; <br />import java.io.IOException; </p> <p>public class ExtendedActionServlet extends ActionServlet { <br />        private Log log = LogFactory.getLog(this.getClass().getName()); </p> <p>        public ExtendedActionServlet() {} </p> <p>        public void init() throws ServletException { <br />            log.info( <br />                    "Initializing, My MyActionServlet init this System's Const Variable"); <br />            String prefix = this.getServletConfig().getServletContext().getRealPath( <br />                    "/"); <br />            String file = this.getServletConfig().getInitParameter("log4j"); <br />            String filePath = prefix + file; <br />            Properties props = new Properties(); <br />            System.out.println(prefix); <br />            System.out.println(file); <br />            System.out.println(filePath); </p> <p>            try { <br />                FileInputStream log4jStream = new FileInputStream(filePath); <br />                props.load(log4jStream); <br />                log4jStream.close(); <br />                String logFile = prefix + <br />                                 props.getProperty("log4j.appender.A1.File"); //璁劇疆璺緞 </p> <p>                System.out.println(logFile); <br />                props.setProperty("log4j.appender.A1.File", logFile); <br />                PropertyConfigurator.configure(props); //瑁呭叆log4j閰嶇疆淇℃伅 <br />            } catch (IOException e) { <br />                e.printStackTrace(); <br />            } <br />            log.info("Initializing, end My Init"); <br />            super.init();//搴旂敤浜唖truts,姝ゆ柟娉曚笉鑳界渷錛孉ctionServlet瑕嗙洊浜嗙殑姝ゆ柟娉曚腑鏈夊緢澶氶噸瑕佹搷浣?<br />        } <br />} </p> <p><br />**********************搴旂敤web.xml 鍏抽敭閮ㄥ垎*************************** </p> <p>      <br />紼嬪簭浠g爜 <br /><servlet> <br />        <servlet-name>action</servlet-name> <br />        <servlet-class>wbb.bysxxglxt.util.ExtendedActionServlet</servlet-class> <br />        <init-param> <br />          <param-name>config</param-name> <br />          <param-value>/WEB-INF/struts-config.xml</param-value> <br />        </init-param> <br />        <init-param> <br />            <param-name>log4j</param-name> <br />            <param-value>properties\log4j.properties</param-value>                    <br />          </init-param> <br />        <init-param> <br />          <param-name>debug</param-name> <br />          <param-value>0</param-value> <br />        </init-param> <br />        <init-param> <br />          <param-name>application</param-name> <br />          <param-value>ApplicationResources</param-value> <br />        </init-param> <br />        <load-on-startup>0</load-on-startup> <br />      </servlet> <br />      <servlet-mapping> <br />        <servlet-name>action</servlet-name> <br />        <url-pattern>*.do</url-pattern> <br />      </servlet-mapping> </p> <p><br />娉ㄦ剰log4j鍙傛暟涓浉瀵硅礬寰勭殑鏂滄潬綰跨殑鍐欐硶錛岃屼笖log4j灞炴ф枃浠跺鏀劇疆鍦╳eb-inf/classes鐩綍鎴杦eb-inf絳夌洰褰曚腑鏈濂芥敼鍚嶏紝鍥犱負(fù)鍦ㄥ姞杞芥Servlet涔嬪墠錛屾湇鍔″櫒濡倀omcat鍚姩鏃朵細(xì)鑷姩鎼滅儲(chǔ)web-inf鐩綍鍜寃eb-inf/classes鐩綍涓璴og4j.properties鏂囦歡錛屽鏈夊垯鑷姩鍔犺澆銆俵og4j灞炴ф枃浠跺姞杞藉悗,鐢變簬璇ュ睘鎬ф枃浠朵腑log4j.appender.A1.File鐨勫肩敤鐨勬槸鐩稿璺緞錛岃嚜鍔ㄥ姞杞介厤緗究浼?xì)鍑洪敊锛?xì) <br />log4j:ERROR setFile(null,true) call failed. <br />java.io.FileNotFoundException: WEB-INF\logs\bysxxglxt.log (緋葷粺鎵句笉鍒版寚瀹氱殑璺緞銆? <br />涓嶇煡閬搇og4j涓轟粈涔堜細(xì)榪欎箞鏃╄嚜鍔ㄥ惎鍔ㄣ傚敖綆″悗闈㈠姞杞芥墿灞曠殑ActionServlet涓紜緗簡log4j灞炴ф枃浠跺茍姝e父鍔犺澆浜嗭紝浣嗘姤鐨勮繖涓敊榪樻槸鎬笉鐖界殑錛屼簬鏄彧鏈夋洿鏀筶og4j灞炴ф枃浠跺悕瀛楁垨鑰呮洿鏀瑰叾瀛樻斁浣嶇疆錛岃鍏朵笉鑳借嚜鍔ㄥ姞杞戒簡錛屼笉榪囪繕鏄湁涓や釜璀﹀憡錛?<br />log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax). <br />log4j:WARN Please initialize the log4j system properly. <br />榪欐牱鍋氬氨綆楁槸鎺╄崇洍閾冧簡錛屽鏋滀綘鏈夋洿濂界殑瑙e喅鍔炴硶錛屽笇鏈涜兘鍦ㄦ璐村嚭鏉ワ紝澶у涓璧風(fēng)爺絀躲?</p> <p>********************log4j.properties***************************** <br />### 璁劇疆logger綰у埆 ### </p> <p>紼嬪簭浠g爜 <br />log4j.rootLogger=DEBUG,stdout,A1 </p> <p>### appender.stdout杈撳嚭鍒版帶鍒跺彴 ### <br />log4j.appender.stdout=org.apache.log4j.ConsoleAppender <br />log4j.appender.stdout.Target=System.out <br />log4j.appender.stdout.layout=org.apache.log4j.PatternLayout <br />log4j.appender.stdout.layout.ConversionPattern= [%5p] [BYSXXGLXT] %d{yyyy-MM-dd HH:mm:ss}: %-4r [%-5p] [%t] ( %F,%L ) - %m%n </p> <p>### appender.A1杈撳嚭鍒版棩蹇楁枃浠?### <br />log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender <br />log4j.appender.A1.File=WEB-INF\\logs\\bysxxglxt.log <br />##娉ㄦ剰涓婇潰鏃ュ織鏂囦歡鐩稿搴旂敤鏍圭洰褰曡礬寰勭殑鍐欐硶 <br />log4j.appender.A1.DatePattern='.'yyyy-MM-dd'.log' <br />log4j.appender.A1.Append=true <br />## 杈撳嚭DEBUG綰у埆浠ヤ笂鐨勬棩蹇?<br />log4j.appender.A1.Threshold=DEBUG <br />log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br />log4j.appender.A1.layout.ConversionPattern= [%5p] [BYSXXGLXT] %d{yyyy-MM-dd HH:mm:ss}: %-4r     [%t] ( %F,%L ) - %m%n <br /></p><img src ="http://www.tkk7.com/hyljava/aggbug/379380.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-05-28 19:06 <a href="http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>log4j鐨勭畝鍗曢厤緗?/title><link>http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Mon, 28 May 2012 11:04:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/379378.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/379378.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/379378.html</trackback:ping><description><![CDATA[<p> 棣栧厛瀵煎叆涓や釜鍖?  commons-logging.jar  log4j-1.2.12.jar</p> <p>   鍦╯rc涓嬬紪鍐?涓?properties鏂囦歡</p> <p>1.log4j.properties 涓嬮潰鏄唴瀹?/p> <p><br />##LOGGERS</p> <p>#define a logger<br />log4j.rootLogger=INFO,console,file</p> <p>##APPENDERS<br />#define an appender named console<br />log4j.appender.console=org.apache.log4j.ConsoleAppender<br />#define an appender named file<br />log4j.appender.file=org.apache.log4j.RollingFileAppender<br />log4j.appender.file.File=d:/demo_log.txt<br />#set the log's size<br />log4j.appender.file.MaxFileSize=1000KB<br />log4j.appender.file.MaxBackupIndex=20</p> <p>##LAYOUTS<br />#assign a SimpleLayout to console appender<br />log4j.appender.console.layout=org.apache.log4j.SimpleLayout<br />#assign a PatternLayout to file appender<br />log4j.appender.file.layout=org.apache.log4j.PatternLayout<br />log4j.appender.file.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}]%m%n</p> <p> </p> <p>2.<br />    simplelog.properties涓嬮潰鏄唴瀹?/p> <p><br />log.apache.commons.logging.simplelog.defaultlog=info</p> <p>3.<br />    commons-logging.properties涓嬮潰鏄唴瀹?/p> <p>##set Log as Log4J<br />org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger</p> <p> </p> <p> </p><img src ="http://www.tkk7.com/hyljava/aggbug/379378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-05-28 19:04 <a href="http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>log4j鐨勪綔鐢? http://www.tkk7.com/hyljava/archive/2012/05/25/379099.html浣曚簯闅?/dc:creator>浣曚簯闅?/author>Fri, 25 May 2012 01:32:00 GMThttp://www.tkk7.com/hyljava/archive/2012/05/25/379099.htmlhttp://www.tkk7.com/hyljava/comments/379099.htmlhttp://www.tkk7.com/hyljava/archive/2012/05/25/379099.html#Feedback0http://www.tkk7.com/hyljava/comments/commentRss/379099.htmlhttp://www.tkk7.com/hyljava/services/trackbacks/379099.html

log4j鐨勪綔鐢?/font>  

 

涓銆佷粈涔堟槸log4j
Log4j 鏄疉pache鐨勪竴涓紑鏀炬簮浠g爜欏圭洰錛岄氳繃浣跨敤Log4j錛屾垜浠彲浠ユ帶鍒舵棩蹇椾俊鎭緭閫佺殑鐩殑鍦版槸鎺у埗鍙般佹枃浠躲丟UI緇勪歡銆佺敋鑷蟲槸濂楁帴鍙f湇鍔″櫒銆丯T鐨勪簨浠惰褰曞櫒銆乁NIX Syslog瀹堟姢榪涚▼絳夛紱鎴戜滑涔熷彲浠ユ帶鍒舵瘡涓鏉℃棩蹇楃殑杈撳嚭鏍煎紡錛涢氳繃瀹氫箟姣忎竴鏉℃棩蹇椾俊鎭殑綰у埆錛屾垜浠兘澶熸洿鍔犵粏鑷村湴鎺у埗鏃ュ織鐨勭敓鎴愯繃紼嬨傛渶浠や漢鎰熷叴瓚g殑灝辨槸錛岃繖浜涘彲浠ラ氳繃涓涓厤緗枃浠舵潵鐏墊椿鍦拌繘琛岄厤緗紝鑰屼笉闇瑕佷慨鏀瑰簲鐢ㄧ殑浠g爜銆?

浜屻佹棩蹇楃畝浠?br />鏃ュ織鎸囧湪紼嬪簭涓彃鍏ヨ鍙ヤ互鎻愪緵璋冭瘯淇℃伅銆備嬌鐢ㄦ棩蹇楄兘澶熺洃瑙嗙▼搴忕殑鎵ц銆備緥濡傦紝鐢ㄦ埛鍒╃敤鏃ュ織鍙互鑾峰緱鍏充簬搴旂敤紼嬪簭鏁呴殰鐨勫畬鏁翠俊鎭傜敤鎴峰彲浠ュ皢璋冭瘯璇彞錛堝 System.out.println錛夋彃鍏ュ埌紼嬪簭涓互鑾峰緱璇︾粏鐨勮皟璇曚俊鎭?

涓夈侀」鐩腑涓轟粈涔堣鐢╨og4j
澶у鍦ㄧ紪紼嬫椂緇忓父涓嶅彲閬垮厤鍦拌浣跨敤鍒頒竴浜涙棩蹇楁搷浣滐紝姣斿寮鍙戦樁孌電殑璋冭瘯淇℃伅銆佽繍琛屾椂鐨勬棩蹇楄褰曞強(qiáng)瀹¤銆傝皟鏌ユ樉紺猴紝鏃ュ織浠g爜鍗犱唬鐮佹婚噺鐨?錛呫傞氬父澶у鍙互綆鍗曞湴浣跨敤System.out.println()璇彞杈撳嚭鏃ュ織淇℃伅錛屼絾鏄線寰浼?xì)鏈変竴浜涘垽鏂紝姣斿錛?
 
if (someCondition)
{
  System.out.println("some information.");
}

榪欎簺鍒ゆ柇閫犳垚姝e父鐨勭▼搴忛昏緫涓販鏉備簡澶ч噺鐨勮緭鍑鴻鍙ャ傝屽湪寮鍙戦樁孌靛啓涓嬬殑榪欎簺鍒ゆ柇浠呬負(fù)浜嗚皟璇曠殑璇彞錛屽湪寮鍙戝畬鎴愭椂闇瑕佹煡鎵懼茍縐婚櫎銆傞儴緗茶繍琛屽悗錛屽挨鍏舵槸鍦ㄤ竴浜涗紒涓氬簲鐢ㄧ郴緇熶腑錛岃繕緇忓父闇瑕佽繘涓姝ヨ皟璇曪紝榪欐椂灝遍亣鍒頒簡鏇村ぇ鐨勯夯鐑?chǔ)銆傛墍浠ワ紝鎴戜滑闇瑕佷竴濂楀畬澶囩殑銆佺伒媧葷殑銆佸彲閰嶇疆鐨勬棩蹇楀伐鍏穕og4J灝辨槸浼樼鐨勯夋嫨銆?

鍥涖乴og4j緇勪歡
Log4j 鐢?logger銆乤ppender 鍜?layout 涓変釜緇勪歡緇勬垚銆傚彲浠ラ氳繃鍚屽悕鐨?Java 綾昏闂?Log4j 鐨勮繖涓変釜緇勪歡銆?/font>

Logger - 鍦ㄦ墽琛屽簲鐢ㄧ▼搴忔椂錛屾帴鏀舵棩蹇楄鍙ョ敓鎴愮殑鏃ュ織璇鋒眰銆傚畠鏄竴縐嶉噸瑕佺殑鏃ュ織澶勭悊緇勪歡錛?鍙互閫氳繃 log4j API 鐨?logger 綾誨鍏惰繘琛岃闂傚畠鐨勬柟娉曟湁錛歞ebug銆乮nfo銆亀arn銆乪rror銆乫atal 鍜?log銆傝繖浜涙柟娉曠敤浜庤褰曟秷鎭?
Appender - 綆$悊鏃ュ織璇彞鐨勮緭鍑虹粨鏋溿傛墽琛屾棩蹇楄鍙ユ椂錛孡ogger 瀵硅薄灝嗘帴鏀舵潵鑷棩蹇楄鍙ョ殑璁板綍璇鋒眰銆傛璇鋒眰鏄氳繃 logger 鍙戦佽嚦 appender 鐨勩傜劧鍚庯紝Appender 灝嗚緭鍑虹粨鏋滃啓鍏ュ埌鐢ㄦ埛閫夋嫨鐨勭洰鐨勫湴銆傚浜庝笉鍚岀殑鏃ュ織鐩殑鍦幫紝鎻愪緵涓嶅悓鐨?appender 綾誨瀷銆傝繖浜?appender 鍖呮嫭錛氱敤浜庢枃浠剁殑 file appender銆佺敤浜庢暟鎹簱鐨?JDBC appender 鍜岀敤浜?SMTP 鏈嶅姟鍣ㄧ殑 SMTP appender銆?
Layout - 鐢ㄤ簬鎸囧畾 appender 灝嗘棩蹇楄鍙ュ啓鍏ユ棩蹇楃洰鐨勫湴鎵閲囩敤鐨勬牸寮忋俛ppender 鍙互鐢ㄦ潵鏍煎紡鍖栬緭鍑虹粨鏋滅殑鍚勭甯冨眬鍖呮嫭錛氱畝鍗曞竷灞銆佹ā寮忓竷灞鍜?HTML 甯冨眬銆?/font>



]]>
Struts鑷畾涔夋爣絳撅紝楠岃瘉闈炴硶鐧誨綍http://www.tkk7.com/hyljava/archive/2012/05/23/378971.html浣曚簯闅?/dc:creator>浣曚簯闅?/author>Wed, 23 May 2012 14:23:00 GMThttp://www.tkk7.com/hyljava/archive/2012/05/23/378971.htmlhttp://www.tkk7.com/hyljava/comments/378971.htmlhttp://www.tkk7.com/hyljava/archive/2012/05/23/378971.html#Feedback0http://www.tkk7.com/hyljava/comments/commentRss/378971.htmlhttp://www.tkk7.com/hyljava/services/trackbacks/378971.html















]]>
主站蜘蛛池模板: 中文字幕在线免费看线人| 亚洲AV无码乱码在线观看性色扶| 欧美a级成人网站免费| MM131亚洲国产美女久久| 亚洲精品乱码久久久久久蜜桃图片| 免费国产黄网站在线观看| 亚洲熟女一区二区三区| 一个人晚上在线观看的免费视频| 宅男666在线永久免费观看| 国产精品亚洲综合五月天| 国产又黄又爽又大的免费视频| 免费一级毛片不卡不收费| 噜噜综合亚洲AV中文无码| 精品久久免费视频| 亚洲a视频在线观看| 永久黄色免费网站| 1区1区3区4区产品亚洲 | a级毛片免费观看视频| 亚洲国色天香视频| 国产精品免费观看久久| 久久免费视频一区| 亚洲日韩区在线电影| 99视频精品全部免费观看| 美女被吸屁股免费网站| 亚洲AV中文无码乱人伦在线视色| 久久精品无码专区免费青青| 亚洲人成电影在线观看网| 日韩成人在线免费视频 | 久久不见久久见中文字幕免费| 久久久久久久久久久免费精品| 亚洲欧美国产欧美色欲| 国产乱弄免费视频| 久久久久女教师免费一区| 亚洲Av无码国产一区二区| 亚洲高清无在码在线无弹窗| 久久亚洲高清综合| 在线人成精品免费视频| 人妻在线日韩免费视频| 亚洲大尺码专区影院| 亚洲三级电影网站| 亚洲国产美女精品久久久久∴|