1、在TOMCAT里配置数据源,在<host></host>之间加上下面的代码,具体的参数根据自己情况修改
<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、连接数据库
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
*
* 取得数据源对象
*
**************************************************************************/
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());
}
}
}
方法一: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中两个部分
<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'/>