精灵巫婆 发表于 2015-1-18 11:48:46

JAVA编程:Tomcat下设置MySQL数据库毗连池

其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:mysql|数据|数据库|数据库毗连
经由泰半天的理论和探索,终究在Tomcat下乐成地设置MySQL的数据库毗连池。总结以下:

1.在$CATALINA_HOME/conf/server.xml中增加设置信息,声明毗连池的详细信息,增加内容以下:

<!--声明毗连池-->

<Resourcename="jdbc/mysql"auth="Container"type="javax.sql.DataSource"/>

<!--对毗连池的参数举行设置-->

<ResourceParamsname="jdbc/mysql">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>5000</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>username</name>

<value>shopadm</value>

</parameter>

<parameter>

<name>password</name>

<value>123</value>

</parameter>

<parameter>

<name>url</name><value>jdbc:mysql://localhost/shopdb?useUnicode=true&charact-erEncoding=gb2312</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>com.mysql.jdbc.Driver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

</ResourceParams>

2.在$CATALINA_HOME/conf/web.xml的</web-app>前增加以下信息:

<resource-ref>

<description>DBConnection</description>

<res-ref-name>jdbc/mysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

个中<res-ref-name>中的参数名必需和server.xml中声明的毗连名一样。



3.在$CATALINA_HOME/conf/catalina/localhost目次下找到必要举行数据库毗连确当出息序的设置信息,好比这里是shopping.xml,在这个文件中增加以下信息:

<Context…>



<ResourceLinkname=”jdbc/mysql”global=”jdbc/mysql”type=”javax.sql.DataSource”/>



</Context>



半途而废!



在此基本上,参考Tomcat官方网站的用户手册,探索出别的一种设置毗连池的办法,这个办法不必要对server.xml举行修正,只需对必要利用到毗连池的程序的设置文档举行修正就能够了。办法以下:

1.$CATALINA_HOME/conf/catalina/localhost目次下找到必要数据库毗连池的程序的设置文档,此处是shopping.xml。在<Context></Context>之间增加以下信息,声明一个数据库毗连池:

<Resourcename="jdbc/mysql"auth="Container"type="javax.sql.DataSource"/>



<ResourceParamsname="jdbc/mysql">

<parameter>

<name>factory</name>

<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>

</parameter>

<parameter>

<name>maxWait</name>

<value>5000</value>

</parameter>

<parameter>

<name>maxActive</name>

<value>20</value>

</parameter>

<parameter>

<name>password</name>

<value>123</value>

</parameter>

<parameter>

<name>url</name>

<value>jdbc:mysql://localhost/shopdb?useUnicode=true&characterEncoding=gb2312</value>

</parameter>

<parameter>

<name>driverClassName</name>

<value>com.mysql.jdbc.Driver</value>

</parameter>

<parameter>

<name>maxIdle</name>

<value>10</value>

</parameter>

<parameter>

<name>username</name>

<value>shopadm</value>

</parameter>

</ResourceParams>

这里的参数和上一种办法中增加到server.xml里的信息几近是完整一样的。



2.在对应程序的WEB-INF下创建一个web.xml文档,增加以下信息:

<?xmlversion="1.0"encoding="ISO-8859-1"?>



<web-appxmlns="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee

http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

<resource-ref>

<description>DBConnection</description>

<res-ref-name>jdbc/mysql</res-ref-name>

<res-type>javax.sql.DataSource</res-type>

<res-auth>Container</res-auth>

</resource-ref>

</web-app>

关头是斜体字的部分,指向后面声明的毗连池。



这两种办法经测试都能设置乐成,明显他们的“感化域”是纷歧样的。别的,设置今后外部的援用和运转机制,留待今后再深切研讨。接上去先入手下手进修数据库毗连池和JSP的协同事情。

而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!

乐观 发表于 2015-1-21 15:22:16

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

莫相离 发表于 2015-1-30 20:26:00

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

第二个灵魂 发表于 2015-2-12 20:23:19

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

再见西城 发表于 2015-3-3 07:13:48

是一种突破用户端机器环境和CPU

若天明 发表于 2015-3-6 21:19:09

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

小魔女 发表于 2015-3-7 10:49:42

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

冷月葬花魂 发表于 2015-3-15 00:13:56

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

仓酷云 发表于 2015-3-17 03:11:17

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

只想知道 发表于 2015-3-23 17:23:15

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

愤怒的大鸟 发表于 2015-4-9 00:42:38

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

爱飞 发表于 2015-4-9 06:49:31

是一种突破用户端机器环境和CPU

小女巫 发表于 2015-4-10 10:08:17

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

分手快乐 发表于 2015-4-14 07:18:26

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

海妖 发表于 2015-4-15 10:52:55

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

兰色精灵 发表于 2015-4-26 05:24:58

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

精灵巫婆 发表于 2015-5-4 11:49:11

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

透明 发表于 2015-5-6 03:49:39

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

谁可相欹 发表于 2015-6-15 11:55:25

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
页: [1]
查看完整版本: JAVA编程:Tomcat下设置MySQL数据库毗连池