浅谈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/数据源的名称”这个是固定写法,意思是得到配置环境的意思。