浅谈tomcat的配置及数据库连接池的配置
1.如何修改tomcat的端口
在某些情况下,可能需要修改tomcat监听的端口8080,比如:
a.需要启动两份tomcat服务器
b.某个服务占用了8080端口(1433,1521,3306...)
Windows查看端口使用命令:netstat -an
修改tomcat端口的方法:
修改~tommcat/conf/server.xml文件中port="8080"数据将8080修改成你需要的端口号即可。
端口号范围:1-65535(实际上里面的有些端口已经被使用),一般情况下1-1024是不允许使用的,改范
围内的端口被称为有名端口.
2.如何设置虚拟目录
为什么我们要设置虚拟目录?
目前,我们的网站站点都是放在默认的目录下~tomcat~/webapps下。但是,在某些情况下,可能需要把
站点放在别的目录下,比如:
a.tomcat所在的磁盘空间不够用了
b.为了统一管理,希望放在某个特定的目录下,而不是放在默认的~tomcat~/webapps下。
怎样设置虚拟目录?
打开tomcat安装目录下的conf子目录,修改其中的server.xml文件,在适当的位置添加如下信息:
<Context path="/yoursite"[你的站点名,就是主文件夹名称] doBase="d:\mysite[站点存放的磁盘目
录]" debug="0"/>
注意:以上配置代码需要方法<host></host>之间.
3.如何给tomcat的管理员设置密码
为什么要设置管理员密码?
在tomcat安装的目录下的tomcat-users.xml文件中可以给管理员设置密码,密码设置可以防止非法用户
远程登录到tomcat。
a.在默认情况下,管理员的密码是空密码,这样不法分子可能远程发布一个站点,并在某个servlet中
假如一些可怕的语句(比如重启、关机等...)
利用密码为空搞破坏过程
a.利用jdk自带的jar工具将有搞破坏的站点打包成*.war文件这个步骤,首先需要设置路径命令如下:
set path=%path%;你的jdk目录\bin,这样即可在任何目录下使用jar命令,然后切换路径到需要打包的
那个文件夹目录下;打包的命令是:jar -cvf war文件名 *.*
b.通过tomcat管理页面将站点发布到tomcat
c.访问有破坏代码的servlet,这样你就会被黑了。
设置管理员密码:
在tomcat安装的目录下的tomcat-users.xml文件中可以给管理员设置密码,密码的设置可以防止非法用
户远程登录到tomcat。在tomcat-users.xml文件的适当位置,给管理员设置密码即可。<user
username="xushouwei" password="xushouwei" roles="standard,manager,admin">
4.如何设置数据源和连接池
为什么使用数据源和连接池?
Java源程序每次操作数据库都需要加载驱动才能得到一个连接然后再返回一个结果。这样做太耽误时间
了,假如我们的新浪等大型的网站每天可能有成千上万甚至上亿的访问每次访问的时候都会查数据库,
即使驱动加载的时间很短,访问次数多了也会变的很慢。
配置数据源和连接池原理示意图:
5.如何配置数据源和连接池?
a.通过修改%Tomcat_home%/conf/server.xml文件,在指定的位置添加如下代码:
<Context path="/MyWebSite" docBase="d:\MyWebSite" debug="0">
<!--name:给数据源设置名字,auth:表示该数据是由谁管理的,type:类型-->
<Resource name="xushouwei" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="xushouwei">
<!--工厂设置-->
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<!--驱动设置,该驱动放在tomcat的common/lib下,或者放在该站点自己的lib目录下-->
<name>driverClassName</name>
<value>com.microsoft.jdbc.sqlserver.SQLServerDriver</value>
</parameter>
<parameter>
<!--设置url-->
<name>url</name>
<value>jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=spdb</value>
</parameter>
<parameter>
<!--设置连接数据库的用户名-->
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<!--设置连接数据库的密码-->
<name>password</name>
<value>xushouwei</value>
</parameter>
<parameter>
<!--在连接池中最大的激活连接数-->
<name>maxActive</name>
<value>200</value>
</parameter>
<parameter>
<!--在连接池中最大的保留空闲连接数-->
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<!--客户端在队列池中最大等待时间,按秒计算-->
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
b.通过tomcat管理界面来配置
6.如何使用数据源和连接池?
a.如果使用连接池的方式来连接数据库,那么就要这样:
Context ctt=new javax.naming.InitialContext();
DataSource ds=( DataSource)ctt.lookup(“java:comp/env/数据源的名称”);
ct=ds.getConnection();
注意:“java:comp/env/数据源的名称”这个是固定写法,意思是得到配置环境的意思。
浅谈tomcat的配置及数据库连接池的配置的更多相关文章
- Tomcat数据库连接池的配置方法总结
Tomcat数据库连接池的配置方法总结 数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标 ...
- 浅谈tomcat中间件的优化【转】
今天来总结一下tomcat的一些优化的方案,由于本人才疏学浅,写的不好,勿喷! tomcat对于大多数从事开发工作的童鞋应该不会很陌生,通常做为默认的开发环境来为大家服务,不过tomcat默认的一些配 ...
- 数据库连接池优化配置(druid,dbcp,c3p0)
主要描述了数据库连接池参数配置的准则,针对常用的数据库连接池(c3p0,dbcp,druid)给出推荐的配置. 考虑因素 1:当前连接DB的规模 2:并发情况 3:执行db的响应时间 配置考虑 1 ...
- Web jsp开发学习——数据库的另一种连接方式(配置静态数据库连接池)
1.导包 2.找到sever里的sever.xml,配置静态数据库连接池 <Context docBase="bookstore" path="/booksto ...
- Tomcat中配置MySQL数据库连接池
Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...
- tomcat中使用mysql连接池的配置
1.下载相应的jar包,添加到工程中 需要下载的包主要有commons-pool2-2.2 commons-dbcp2-2.0.1-src commons-dbcp2-2.0.1 commons-c ...
- 浅谈Tomcat和Servlet
本文浅谈下对Tomcat和Servlet总体的理解,初学时有用过一段时间,但当时疲于应对如何xml配置和使用,对他们的理解就像是一个黑匣子.现在回顾一下帮助自己加深网络的理解.开始还是先推荐我看的文章 ...
- 三种数据库连接池的配置及使用(For JDBC)
DBCP 一.导包 Apache官网下载DBCP包,导入两个包路径如下: commons-dbcp-1.4-bin\commons-dbcp-1.4\commons-dbcp-1.4.jar:连接池的 ...
- 数据库连接池----Druid配置详解
什么是连接池? 数据库连接池出现的原因在数据库连接资源的低效管理,使用数据库连接池是基于设计模式中的资源池的概念,从而解决资源频繁是分配.释放所造成的问题. 数据库连接池的基本思想就是为数据库连接建立 ...
随机推荐
- 转 ORACLE数据库它可以存储 中文 字节或字符
一:因为ORACLE数据库它可以存储字节或字符,例如 CHAR(12 BYTE) CHAR(12 CHAR)的意义是不同的.一般来说默认是存储字节,你可以查看数据库参数NLS_LENGTH_SEMAN ...
- Spring Quartz定时器 配置文件详解
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等.我们可以使用java.util.Timer结合java.util.TimerTask来完成这项工作,但 ...
- Fix a Tree
Fix a Tree A tree is an undirected connected graph without cycles. Let's consider a rooted undirecte ...
- ida调试 android so
C:\Documents and Settings\Administrator>adb shellshell@htc_v2_dtg:/ $ susushell@htc_v2_dtg:/ # cd ...
- Zigbee协议栈OSAL层API函数【转载】
OSAL层提供了很多的API来对整个的协议栈进行管理.主要有下面的几类:信息管理.任务同步.时间管理.中断管理.任务管理.内存管理.电源管理以及非易失存储管理.看到这些管理是不是感 ...
- Sublime Text 3 搭建 Golang 开发环境
安装Golang go语言主页: https://golang.org/ go语言安装下载: https://golang.org/dl 环境变量设置: GOROOT: GOROOT变量设置go安装的 ...
- 写插件时遇到的一个小问题,关于animate和css3的问题
昨天写代码时,偶然想到了如果我们把css3属性放在animate中,指定时间.能否实现动画呢.举个例子吧: <script> $(".box").animate({ & ...
- 编码器芯片MLX90363的使用
文档资料 MLX90363 Datasheet MLX90363 Application Note 使用 对于编码器来说,Rotary Application模式 SPI驱动中,CS必须在8个字节都发 ...
- precision、recall、accuracy的概念
机器学习中涉及到几个关于错误的概念: precision:(精确度) precision = TP/(TP+FP) recall:(召回率) recall = TP/(TP+FN) accuracy: ...
- NSURL 子串截取
NSURL *url = [NSURL URLWithString:@"http://reg.email.163.com/unireg/call.do?cmd=register.entran ...