|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。数据|数据库|数据库毗连
(摘自JAVA中文站)
本文是作者在设置廖兄的blog时用到的,刚入手下手利用Tomcat5.0.27,后又利用Tomcat5.5.4,可是设置数据库总有毛病,厥后发明时context标记被作废的原因。吾个性情中人,弄不定就换,因而就利用Tomcat4.1.31。次要参考FanyHan等人的相干文章,先容了Tomcat4.1.31这个版本下数据库毗连池的设置,及程序对毗连池的JNDI查找,并供应响应测试代码。最初指出设置及使用过程当中的罕见成绩及办理办法。1、Tomcat简介Tomcat是ApacheJakarta的子项目之一,是Sun公司保举的JSP、Servlet容器。作为一款优异的使用服务器,Tomcat供应了数据库毗连池、SSL、Proxy等很多通用组件功效,个中毗连池是4.0以上版本的新增功效,使用十分普遍。2、该文设置情况Tomcat4.1.31+jdk1.4.2+SqlServer2000+Win2000AS3、对Tomcat4.1.31的DBCP设置这里,将毗连池置于tomcat的工程目次中的blog子文件夹(新建)下,JNDI名设为jdbc/blog,数据库服务器IP为localhost,SID为blog,设置步骤以下。第一步:设置server.xml在server.xml中找到<!--TomcatRootContext--><!?<Contextpath=""docBase="ROOT"debug="0"/>-->将其改成:<Contextpath="/blog"docBase="blog"debug="0"reloadable="true"><Resourcename="jdbc/blog"auth="Container"type="javax.sql.DataSource"/><ResourceParamsname="jdbc/blog"><parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter><parameter><name>driverClassName</name><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter><parameter><name>url</name><value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=blog</value></parameter><parameter><name>username</name><value>sa</value></parameter><parameter><name>password</name><value>sa</value></parameter><parameter><name>maxActive</name><value>20</value></parameter><parameter><name>maxIdle</name><value>20</value></parameter><parameter><name>maxWait</name><value>-1</value></parameter></ResourceParams></Context>参数申明:Resource项:<Resource name="jdbc/blog"auth="Container"type="javax.sql.DataSource"/>Resource项(即毗连池的DataSource对象),有3个属性name、auth、type,name项是JNDI的称号界说,程序经由过程JNDI才干找到此对象,这里取名jdbc/Sblog;auth项即毗连池办理权属性,这里取值Container,声名为容器办理;type项即对象的范例,这里取值javax.sql.DataSource,声名为数据库毗连池。在接上去的<ResourceParams>域内容里包括四个参数user、password、driverClassName、driverName,顺次为数据库的用户名、暗码、JDBC驱动和数据库地点。factory参数:<parameter><name>factory</name><value>org.apache.commons.dbcp.BasicDataSourceFactory</value></parameter>即基本对象工场,这里取值org.apache.commons.dbcp.BasicDataSourceFactory,即DBCP自带的工场,也能够用其余。DriverClassName参数:<parameter><name>driverClassName</name><value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value></parameter>即数据库的JDBC驱动称号,详细值为: SqlServer2000:com.microsoft.jdbc.sqlserver.SQLServerDriver起首要下载安装sqlserver-jdbc-驱动,然后将其lib下的三个jar文件放到tomcat/common/lib下。MySql: org.gjt.mm.mysql.DriverMySql的JDBC驱动包mm.mysql-2.0.14.jar。Oracle8.1.7:oracle.jdbc.driver.OracleDriverOracle8.1.7的JDBC驱动包名叫classes.jar,一样平常位于Oracle安装目次下的ora81jdbclib目次下,初始扩大名为ZIP,必要手工把classes.zip更名为classes.jar,并放到tomcat/common/lib下。oracle.jdbc.driver.OracleDriver此类由classes.jar供应。url参数:<parameter><name>url</name><value>jdbc:microsoft:sqlserver://localhost:1433;databaseName=blog</value></parameter>即数据库的地点。(分歧的数据库其地点都不不异)username参数:<parameter><name>username</name><value>sa</value></parameter>即毗连数据库的用户名。password参数:<parameter><name>password</name><value>**</value></parameter>即毗连数据库的暗码。maxActive、maxIdle和maxWait参数:<parameter><name>maxActive</name><value>20</value></parameter><parameter><name>maxIdle</name><value>20</value></parameter><parameter><name>maxWait</name><value>-1</value></parameter>maxActive是最年夜激活毗连数,这里取值为20,暗示同时最多有20个数据库连 接。maxIdle是最年夜的余暇毗连数,这里取值为20,暗示即便没无数据库毗连时仍然能够坚持20余暇的毗连,而不被扫除,随时处于待命形态。MaxWait是最年夜守候秒钟数,这里取值-1,暗示无穷守候,直到超时为止,也可取值9000,暗示9秒后超时。第二步:设置web.xml翻开webapps/ROOT/WEB-INF下web.xml,到场以下内容:<resource-ref><description>SqlServerDatasourceexample</description><res-ref-name>jdbc/blog</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref>第三部:设置tomcat(增加类)将MicrosoftSQLServer2000DriverforJDBClib目次下的三个jar文件拷贝到Tomcat安装目次的commonlib下。设置完成!!4、测试代码数据库以下:新建一个名为blog的数据库,在内里创立一个表格:Createtabletest(idvarchar(12),namevarchar(30));写一个jsp文件(testdb.jsp),将其置于webapps/ROOT目次下,翻开tomcat运转该页面举行测试。页面testdb.jsp的内容以下:<%@pagecontentType="text/html;charset=GBK"%><%@pageimport="java.sql.*"%><%@pageimport="javax.naming.*"%><%try{ContextinitCtx=newInitialContext();Contextctx=(Context)initCtx.lookup("java:comp/env");//猎取毗连池对象Objectobj=(Object)ctx.lookup("jdbc/blog");//范例转换javax.sql.DataSourceds=(javax.sql.DataSource)obj;Connectionconn=ds.getConnection();Statementstmt=conn.createStatement();StringstrSql="insertintotest(id,name)values( |
|