Tomcat的配置:
1.如何修改tomcat的端口
netstat -an ----->监控端口号
修改%TOMCAT_HOME%/conf/server.xml文件中port=8080将8080修改成你需要的端口号即可
计算机端口号范围:1~65535(2bit)
1~1024(有名端口)
一般超10000左右可以用
2.如何设置虚拟目录
为什么修改虚拟目录:
(1)tomcat所在磁盘空间不够
(2)为了统一管理,希望在某个特定的目录下,而不是放在默认的~tomcat~/webapps下
如何设置:
(1)打开tomcat/conf/server.xml
(2)在</Host>前添加如下信息:
<Context path="/yoursite(你的站点名)" docBase="c:/mysite(站点存放的磁盘目录)" debug="0(0为不调试)"/>
比如:<Context path="/servlettest" docBase="D:/servlettest" debug="0"/>
3.如何给tomcat的管理员设置密码
(1)打开tomcat6/conf/tomcat-users.xml
(2)添加代码:
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
利用密码为空搞破坏过程演示:
(1)利用jdk自带的jar工具将有搞破坏的的站点打包成*.war文件
a 设置路径:
set path=%path%;你的jdk目录/bin
这样即可在任何目录下使用jar命令
b 切换路径到需要打包的那个文件夹目录下
打包:jar -cvf 文件名.war *.*
如:jar -cvf test.war *.*
(2)通过tomcat管理页面将站点发布到tomcat
(3)访问有破坏代码的servlet
如:
number1:java.lang.Runtime.getRuntime().exec("c:/windows/notepad.exe");//打开记事本
number2:
java.lang.Runtime.getRuntime().exec("shutdown -h now");//立即关闭服务器
这样,你就被黑了
4.如何设置数据源和连接池(公司常用)
说明:如果连接池中有空闲的连接,tomcat就分配给请求客户端,如果没有空闲的连接,请求客户端将会在队列池中等待
配置方法:
(方法1)修改%TOMCAT_HOME%/conf/server.xml,在</Host>之前添加代码:
- <!--配置数据源和连接池-->
- <Context path="/servlettest" docBase="D:/servlettest" debug="0" reloadable="true">
- <!--name:给数据源设置名字(jndi) auth:表示该数据源是由谁管理 type:类型-->
- <Resource name="shunping" auth="Container" type="javax.sql.DataSource"
- maxActive="200" <!--在连接池中最大的激活连接数,经验:200(瞬间连接)根连接线可以支撑5000用户同时在线-->
- maxIdle="30" <!--在连接池中最大的保留(空闲)连接数-->
- maxWait="-1" <!--客户端在队列池中最大等待时间,按秒计算-->
- <!--驱动设置,该驱动放在tomcat的common/lib下,或者放在该站点自己的lib目录下-->
- driverClassName="com.mysql.jdbc.Driver"
- <!--设置url-->
- url="jdbc:mysql://localhost:3306/spdb?useUnicode=true&characterEncoding=gbk&autoReconnect=true"
- username="root" <!--设置连接数据库的用户名-->
- password="root" /> <!--设置连接数据库的密码-->
- </Context>
tomcat关闭异常: Invalid byte 2 of 2-byte UTF-8 sequence
问题成因——注释或代码带有中文
解决方案——(办法1)就是把那汉字删除。修改路径
(办法2)就是在server.xml里面的最上面加一句
<?xml version="1.0" encoding="gbk"?>
(方法2)通过tomcat管理界面
打开连接 http://localhost:8080/admin/ 进到tocomcat web server administration tool
5.如何使用连接池
Context ctt=new javax.naming.InitialContext();
DataSource ds=(DataSource)ctt.lookup("java:comp env 数据源的名");//java:comp env——表示得到配置环境,固定写法
ct=ds.getConnection();
代码示例:
ConnDB.java
- //从数据库中得到连接
- package com.tsinghua;
- import java.sql.*;
- import javax.sql.*;
- import javax.naming.*;
- public class ConnDB{
- private Connection ct=null;
- public Connection getConn(){
- /* try{
- // 连接数据库
- Class.forName("com.mysql.jdbc.Driver");// 加载驱动
- // 得到连接
- ct = DriverManager.getConnection(
- "jdbc:mysql://localhost:3306/spdb", "root", "root");
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return ct; */
- try{
- //创建一个上下文环境
- Context con=new javax.naming.InitialContext();
- //通过con得到数据源
- DataSource ds=(DataSource)con.lookup("java:comp/env/shunping");
- ct=ds.getConnection();
- System.out.println("使用连接池的方式");
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return ct;
- }
- }