無(wú)名的博客

          2005年12月23日 #

          如何在TOMCAT配置數(shù)據(jù)源,調(diào)用數(shù)據(jù)源

          1、在TOMCAT里配置數(shù)據(jù)源,在<host></host>之間加上下面的代碼,具體的參數(shù)根據(jù)自己情況修改
          ???<Context path="" docBase="E:\WEB_CODE\DEMO\WEB" debug="0">
          ???
          ???<Logger className="org.apache.catalina.logger.FileLogger"
          ???????????????????? prefix="localhost_xzm_log." suffix=".txt"
          ??????? ?? timestamp="true"/>

          ????????? <Environment name="maxExemptions" type="java.lang.Integer"
          ????????????????????? value="15"/>
          ????????? <Parameter name="context.param.name" value="context.param.value"
          ???????????????????? override="false"/>?????????
          ?????????
          ????????? <Resource name="jdbc/tzwdb" auth="Container"
          ??????????????????? type="oracle.jdbc.pool.OracleDataSource"/>
          ????????? <ResourceParams name="jdbc/tzwdb">
          ??????????? <parameter><name>factory</name><value>oracle.jdbc.pool.OracleDataSourceFactory</value></parameter>???????????
          ??????????? <parameter><name>driverClassName</name><value>oracle.jdbc.driver.OracleDriver</value></parameter>
          ??????????? <parameter><name>url</name><value>jdbc:oracle:thin:@127.0.0.1:1521:ORCL</value></parameter>
          ??????????? <parameter><name>username</name><value>demo</value></parameter>
          ??????????? <parameter><name>password</name><value>demo</value></parameter>
          ??????????? <parameter><name>serverName</name><value>127.0.0.1</value></parameter>???????????
          ??????????? <parameter><name>databaseName</name><value>ORCL</value></parameter>???????????
          ??????????? <parameter><name>portNumber</name><value>1521</value></parameter>
          ??????????? <parameter><name>maxActive</name><value>30</value></parameter>
          ??????????? <parameter><name>maxIdle</name><value>10</value></parameter>
          ??????????? <parameter><name>maxWait</name><value>500</value></parameter>???????????
          ??????????? <parameter><name>description</name><value>oracle</value></parameter>???????????
          ????????? </ResourceParams>
          ???????????
          ????????? <Resource name="mail/Session" auth="Container"
          ??????????????????? type="javax.mail.Session"/>
          ????????? <ResourceParams name="mail/session">
          ??????????? <parameter>
          ????????????? <name>mail.smtp.host</name>
          ????????????? <value>localhost</value>
          ??????????? </parameter>
          ????????? </ResourceParams>
          ???
          ???</Context>

          2、連接數(shù)據(jù)庫(kù)

          import java.sql.Connection;
          import java.sql.PreparedStatement;
          import java.sql.SQLException;
          import java.sql.Statement;

          import javax.naming.Context;
          import javax.naming.InitialContext;
          import javax.sql.DataSource;

          import org.apache.log4j.Logger;

          /**
          ?* @author :?蕭秋水
          ?*
          ?* @contact me :
          cnyanhai@hotmail.com
          ?*
          ?*/
          public class DBManager {


          ??? static Logger logger = Logger.getLogger(DBManager.class.getClass());

          ??? private Context initCtx = null;

          ??? private Context ctx = null;

          ??? private DataSource ds = null;

          ??? private long timeout = 5000;

          ??? private Statement theStatement = null;

          ??? private PreparedStatement thePstmt = null;

          ??? private static final String userName = "tzw";

          ??? private static final String password = "ywsoft";

          ??? /***************************************************************************
          ???? *
          ???? * 初試化initCtx
          ???? *
          ???? * 取得數(shù)據(jù)源對(duì)象
          ???? *?
          ???? **************************************************************************/

          ??? public DBManager() {
          ??????? try {
          ??????????? initCtx = new InitialContext();
          ??????????? //init context,read config web.xml
          ??????????? if (initCtx == null) {
          ??????????????? throw new Exception("Initial Failed!");
          ??????????? }
          ??????????? ctx = (Context) initCtx.lookup("java:comp/env");
          ??????????? //find "jdbc/tzwdb" object this configruation in the SERVER.XML of
          ??????????? // Tomcat
          ??????????? if (ctx != null) {
          ??????????????? ds = (DataSource) ctx.lookup("jdbc/tzwdb");
          ??????????? }
          ??????????? if (ds == null) {
          ??????????????? throw new Exception("Look up DataSource Failed!");
          ??????????? }
          ??????? } catch (Exception e) {
          ??????????? logger.error("Look up DataSource error! -- " + e.getMessage());
          ??????? }
          ??? }

          ??? /***************************************************************************
          ???? *
          ???? * get Connection
          ???? *
          ???? * @return Connection
          ???? *?
          ???? **************************************************************************/

          ??? public synchronized Connection getConnection() {
          ??????? //get connection and set to delay time
          ??????? long startTime = new java.util.Date().getTime();
          ??????? Connection con = null;
          ??????? while (con == null) {
          ??????????? con = newConnection();
          ??????????? if (con != null) {
          ??????????????? logger.info("Create New Connection!");
          ??????????????? break;
          ??????????? }
          ??????????? try {
          ??????????????? logger.info("Connection timeout,Please wait " + timeout + "ms");
          ??????????????? wait(timeout);
          ??????????? } catch (InterruptedException e) {
          ??????????????? logger.warn("Connection timeout! -- " + e.getMessage());
          ??????????? }
          ??????????? if ((new java.util.Date().getTime() - startTime) >= timeout) {
          ??????????????? logger.warn("Connection timeout!");
          ??????????????? break;
          ??????????? }
          ??????? }
          ??????? return con;
          ??? }

          ??? private Connection newConnection() {
          ??????? Connection con = null;
          ??????? try {
          ??????????? con = ds.getConnection(userName, password);
          ??????????? if (con == null) {
          ??????????????? throw new Exception("Create Connection Failed!");
          ??????????? }
          ??????? } catch (Exception e) {
          ??????????? logger.warn("Create Connection Failed! -- " + e.getMessage());
          ??????? }
          ??????? return con;
          ??? }

          ??? /***************************************************************************
          ???? *
          ???? * release the connection
          ???? *?
          ???? **************************************************************************/

          ??? public synchronized void freeConnection(Connection conn, PreparedStatement pstmt) {
          ??????? try {
          ??????????? //close PreparedStatement
          ??????????? if (pstmt != null) {
          ??????????????? pstmt.close();
          ??????????????? pstmt = null;
          ??????????? }
          ??????? } catch (Exception e) {
          ??????????? logger.warn("release stmt,pstmt error! -- " + e.getMessage());
          ??????? }
          ??????? try {
          ??????????? //close Connection
          ??????????? if (conn != null) {
          ??????????????? conn.close();
          ??????????????? conn = null;
          ??????????? }
          ??????? } catch (SQLException e) {
          ??????????? logger.warn("release conn error! -- " + e.getMessage());
          ??????? }
          ??? }

          }
          ???

          posted @ 2006-01-19 10:04 十三郎 閱讀(1452) | 評(píng)論 (0)編輯 收藏

          在TOMCAT下JSP的中文處理解決方案

          方法一:new String(request.getParameter("test").getBytes("iso-8859-1"),"GBK")

          方法二:
          1、
          在jsp中加入下面兩行
                    <%@ page contentType="text/html; charset=GBK" language="java" %>
                    <meta http-equiv="Content-Type" content="text/html; charset=GBK">
          2、
          在TOMCAT中找到SetCharacterEncodingFilter.java,他們位于D:\Tomcat5.0.27\webapps\jsp-examples\WEB-INF\classes\filters,加到你的工程文件里去,并修改包名。
          3、
          配置WEB.XML,
          在web.xml里加入這一段
           <filter>
              <filter-name>Set Character Encoding</filter-name>
              <filter-class>utils.SetCharacterEncodingFilter</filter-class>
              <init-param>
                <param-name>encoding</param-name>
                <param-value>GB2312</param-value>
              </init-param>
            </filter>
            <filter-mapping>
              <filter-name>Set Character Encoding</filter-name>
              <url-pattern>/*</url-pattern>
            </filter-mapping>
          4、修改server.xml中兩個(gè)部分
          <Connector port="8090"
                         maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                         enableLookups="false" redirectPort="8443" acceptCount="100"
                         debug="0" connectionTimeout="20000"
                         disableUploadTimeout="true" URIEncoding='GB2312'/>
          <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
                         port="8009" minProcessors="5" maxProcessors="75"
                         enableLookups="true" redirectPort="8443"
                         acceptCount="10" debug="0" connectionTimeout="0"
                         useURIValidationHack="false" protocol="AJP/1.3"
                        
          protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" 
                         URIEncoding='GB2312'/>

          posted @ 2006-01-09 10:46 十三郎 閱讀(237) | 評(píng)論 (0)編輯 收藏

          一些比較好的javascript

          1、window.opener.location.reload();
          當(dāng)A頁(yè)面彈出B頁(yè)面時(shí),在B頁(yè)面如果調(diào)用這句js代碼,則會(huì)刷新A頁(yè)面。

          posted @ 2005-12-23 16:49 十三郎 閱讀(421) | 評(píng)論 (1)編輯 收藏

          主站蜘蛛池模板: 图木舒克市| 河曲县| 疏附县| 武宁县| 邵阳市| 女性| 来安县| 广水市| 普定县| 青龙| 错那县| 东辽县| 景德镇市| 隆安县| 望城县| 武穴市| 珲春市| 凤阳县| 平凉市| 韩城市| 沅陵县| 通化县| 略阳县| 瑞昌市| 甘谷县| 建瓯市| 陇川县| 大安市| 桂东县| 阳泉市| 兴国县| 韶关市| 阿克陶县| 北碚区| 齐齐哈尔市| 仲巴县| 谢通门县| 廊坊市| 玉龙| 梁河县| 普格县|