浅谈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配置详解
什么是连接池? 数据库连接池出现的原因在数据库连接资源的低效管理,使用数据库连接池是基于设计模式中的资源池的概念,从而解决资源频繁是分配.释放所造成的问题. 数据库连接池的基本思想就是为数据库连接建立 ...
随机推荐
- myeclipse连接hadoop集群编程及问题解决
原以为搭建一个本地编程测试hadoop程序的环境很简单,没想到还是做得焦头烂额,在此分享步骤和遇到的问题,希望大家顺利. 一.要实现连接hadoop集群并能够编码的目的需要做如下准备: 1.远程had ...
- java dom4j解析xml实例
java利用dom4j解析xml 需要的jar包: dom4j官方网站在 http://www.dom4j.org/ 下载dom4j-1.6.1.zip 解开后有两个包,仅操作XML文档的话把dom4 ...
- Qt5:窗口居中显示
QDesktopWidget* desktop = QApplication::desktop(); // =qApp->desktop();也可以move((desktop->width ...
- java中的装饰设计模式,浅谈与继承之间的区别
最初接触装饰设计模式,一直搞不懂这么做的意义是什么,看了网上很多的资料,对于与继承的区别并没有很清楚的分析,直到看到这篇博客:http://www.cnblogs.com/rookieFly-tdii ...
- Preface
I'd never given much thought to how I would die — 我从来没有想过我会怎么样死 much thought 仔细思考 我从未仔细思考过,我将如何死去 th ...
- 关于struts2的web.xml配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "- ...
- awesome-deep-learning
https://github.com/ChristosChristofidis/awesome-deep-learning
- Sping--集合注入
UserDAOImpl.java: package com.bjsxt.dao.impl; import java.util.List; import java.util.Map; import ja ...
- 第三弹:ZFNet
在所有深度网络中,卷积神经网和图像处理最为密切相关,卷积网在很多图片分类竞赛中都取得了很好的效果,但卷积网调参过程很不直观,很多时候都是碰运气.为此,卷积网发明者Yann LeCun的得意门生Matt ...
- 14、手把手教你Extjs5(十四)模块字段和Grid列的定义[2]
model和columns生成好了,下面要修改一下Module.js和Grid.js中的代码,使其能够协同工作. /** * 一个模块的主控界面的容器,用来安放各个模块控件以及协调他们之间的关系 */ ...