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的配置及数据库连接池的配置的更多相关文章

  1. Tomcat数据库连接池的配置方法总结

    Tomcat数据库连接池的配置方法总结 数据库连接是一种关键的有限的昂贵的资源,这在多用户网页应用程序中体现的尤为突出.对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标 ...

  2. 浅谈tomcat中间件的优化【转】

    今天来总结一下tomcat的一些优化的方案,由于本人才疏学浅,写的不好,勿喷! tomcat对于大多数从事开发工作的童鞋应该不会很陌生,通常做为默认的开发环境来为大家服务,不过tomcat默认的一些配 ...

  3. 数据库连接池优化配置(druid,dbcp,c3p0)

    主要描述了数据库连接池参数配置的准则,针对常用的数据库连接池(c3p0,dbcp,druid)给出推荐的配置. 考虑因素 1:当前连接DB的规模   2:并发情况 3:执行db的响应时间 配置考虑 1 ...

  4. Web jsp开发学习——数据库的另一种连接方式(配置静态数据库连接池)

    1.导包   2.找到sever里的sever.xml,配置静态数据库连接池 <Context docBase="bookstore" path="/booksto ...

  5. Tomcat中配置MySQL数据库连接池

    Web开发中与数据库的连接是必不可少的,而数据库连接池技术很好的优化了动态页与数据库的连接,相比单个连接数据库连接池节省了很大的资源.用一个通俗的比喻:如果一个人洗澡需花一桶水,那一百个人就要花一百桶 ...

  6. tomcat中使用mysql连接池的配置

    1.下载相应的jar包,添加到工程中 需要下载的包主要有commons-pool2-2.2 commons-dbcp2-2.0.1-src commons-dbcp2-2.0.1  commons-c ...

  7. 浅谈Tomcat和Servlet

    本文浅谈下对Tomcat和Servlet总体的理解,初学时有用过一段时间,但当时疲于应对如何xml配置和使用,对他们的理解就像是一个黑匣子.现在回顾一下帮助自己加深网络的理解.开始还是先推荐我看的文章 ...

  8. 三种数据库连接池的配置及使用(For JDBC)

    DBCP 一.导包 Apache官网下载DBCP包,导入两个包路径如下: commons-dbcp-1.4-bin\commons-dbcp-1.4\commons-dbcp-1.4.jar:连接池的 ...

  9. 数据库连接池----Druid配置详解

    什么是连接池? 数据库连接池出现的原因在数据库连接资源的低效管理,使用数据库连接池是基于设计模式中的资源池的概念,从而解决资源频繁是分配.释放所造成的问题. 数据库连接池的基本思想就是为数据库连接建立 ...

随机推荐

  1. CastelWindsor Demo

    class Program { static void Main(string[] args) { var container = new WindsorContainer(); container. ...

  2. 【knockoutjs】 Computed VS Pure Computed 区别

    Pure Computed只有当有其他subscriber的时候才会有这个对象,所对应的DOM对象 不激活的时候不存在,这样可以防止内存泄露,在Component等场景下不用担心dispose的问题. ...

  3. Gson通过借助TypeToken获取泛型参数的类型的方法

    最近在使用Google的Gson包进行Json和Java对象之间的转化,对于包含泛型的类的序列化和反序列化Gson也提供了很好的支持,感觉有点意思,就花时间研究了一下. 由于Java泛型的实现机制,使 ...

  4. js原型对象,每个new出来的新对象都有独立的原型对象__proto__

    刚才看一篇博文的时候, 动手测试了一下 JavaScript的原型链, 原型对象,发现每个构造器(赋给了某个 prototype ) new 出来的对象都有各自独立的原型对象 __proto__. p ...

  5. 手动启动Android模拟器

    1.5版本中加了个所谓的AVD(Android Virtual Device),AVD就相当于是一个模拟器的,不过你可以利用AVD创建基于不同版本的模拟器,然后使用emulator-avd avdNa ...

  6. Python+Selenium使用Page Object实现页面自动化测试

    Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium测试页面中可以通 ...

  7. BNU 51002 BQG's Complexity Analysis

    模拟 #include<cstdio> #include<cstring> #include<cmath> #include<vector> #incl ...

  8. [数据结构]Treap简介

    [写在前面的话] 如果想学Treap,请先了解BST和BST的旋转 二叉搜索树(BST)(百度百科):[here] 英文好的读者可以戳这里(维基百科) 自己的博客:关于旋转(很水,顶多就算是了解怎么旋 ...

  9. java中堆和堆栈的区别

    java中堆和堆栈的区别(一) 1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. 2. 栈的优势是,存取 ...

  10. CodeForces 618C CodeForces 618C

    第一反应是在凸包上随便找一条边,然后找剩下n-2个点里面距离这条边最短的一个点,这三点就构成了符合要求的三角形..然而..精度被卡死. 换种思路,随便找两个点P1,P2,找剩下n-2个点中哪一个点与P ...