Archive for 十二月 22nd, 2003


一些有用的java资源网站

类库网站
生成图表
http://www.ve.com/download.html?ref=gad5
一个Gif/JEPG Encoder
http://www.acme.com/java/software/Acme.JPM.Encoders.GifEncoder.html


Knowledge 网站
http://www.chinajavaworld.net/
http://www.javaworld.net/
http://www.jspinsider.com/
http://www.javaresearch.org/


 

在tomcat中使用数据库连接池

server.xml定义上下文,<Host>标签中
     <Context path=”/publish” docBase=”publish” debug=”5″ reloadable=”true” crossContext=”true”>
     <Resource name=”jdbc/publish_sqlserver” auth=”SERVLET” type=”javax.sql.DataSource”/>
     <ResourceParams name=”jdbc/publish_sqlserver”>
      <parameter>
       <name>factory</name>
       <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
      </parameter>
      <!– Maximum number of dB connections in pool. Make sure you
         configure your mysqld max_connections large enough to handle
         all of your db connections. Set to 0 for no limit.
         –>
      <parameter>
       <name>maxActive</name>
       <value>100</value>
      </parameter>
      <!– Maximum number of idle dB connections to retain in pool.
         Set to 0 for no limit.
         –>
      <parameter>
       <name>maxIdle</name>
       <value>30</value>
      </parameter>
      <!– Maximum time to wait for a dB connection to become available
         in ms, in this example 10 seconds. An Exception is thrown if
         this timeout is exceeded.  Set to -1 to wait indefinitely.
         –>
      <parameter>
       <name>maxWait</name>
       <value>1000</value>
      </parameter>
      <!– MySQL dB username and password for dB connections  –>
      <parameter>
       <name>username</name>
       <value>sa</value>
      </parameter>
      <parameter>
       <name>password</name>
       <value>secret</value>
      </parameter>
      <!– Class name for mm.mysql JDBC driver –>
      <parameter>
       <name>driverClassName</name>
       <value>com.jnetdirect.jsql.JSQLDriver</value>
      </parameter>
      <!– The JDBC connection url for connecting to your MySQL dB.
         The autoReconnect=true argument to the url makes sure that the
         mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
         connection.  mysqld by default closes idle connections after 8 hours.
         –>
      <parameter>
       <name>url</name>
       <value>jdbc:JSQLConnect://192.168.1.108:1433/database=repent/applicationName=sWPS2.0</value>
      </parameter>
     </ResourceParams>
    </Context>


web application的web.xml中定义使用的资源
 <resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/publish_sqlserver</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
  </resource-ref>


redeploy web application后,如果数据库参数没有错误,可以按如下方法使用
<%@page import=”java.util.*”%>
<%@page import=”javax.naming.*”%>
<%@page import=”javax.sql.*”%>
<pre>
<%
 Context initialcontext = new InitialContext();
 Context envContext  = (Context)initialcontext.lookup(“java:comp/env”);
 DataSource dataSource = (DataSource)envContext.lookup(“jdbc/publish_sqlserver”);
 Connection connection = null;
 Statement stmt = null;
 
 if(dataSource!=null)
  connection = dataSource.getConnection();  


 if (connection != null) {
  stmt = connection.createStatement();
 }


 connection.close();
 stmt.close(); 
%>
</pre>

Log4j 简易使用指南

依据log4j的mannual中在servlet应用的一个例子


Log4jInit
package com.foo;


import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.io.IOException;


public class Log4jInit extends HttpServlet {


  public
  void init() {
    String prefix =  getServletContext().getRealPath(“/”);
    String file = getInitParameter(“log4j-init-file”);
    // if the log4j-init-file is not set, then no point in trying
    if(file != null) {
      PropertyConfigurator.configure(prefix+file);
    }
  }


  public
  void doGet(HttpServletRequest req, HttpServletResponse res) {
  }
}


web.xml
  <servlet>
    <servlet-name>log4j-init</servlet-name>
    <servlet-class>com.foo.Log4jInit</servlet-class>


    <init-param>
      <param-name>log4j-init-file</param-name>
      <param-value>WEB-INF/classes/log4j.lcf</param-value>
    </init-param>


    <load-on-startup>1</load-on-startup>
  </servlet>


log4j.lcf
log4j.rootLogger=debug, stdout, R


log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout


# Pattern to output the caller’s file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) – %m%n
#R 输出到文件
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=d:/log4j.log


log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1


log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=[%p] %d{yyyy-MM-dd HH:mm:ss} %x %t %c – %m%n


In any class u can use like this
   Logger log = Logger.getLogger(this.getClass().getName());
   log.error(se);


When shut down
LogManager.shutdown();

Powered by WordPress. Theme: Motion by 85ideas.