servlet学习笔记10——tomcat配置(连接池)

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)在前添加如下信息:

比如:


3.如何给tomcat的管理员设置密码
(1)打开tomcat6/conf/tomcat-users.xml
(2)添加代码:
 
 


 
 
 


 
 
 

 


利用密码为空搞破坏过程演示:
(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,在之前添加代码:

 

maxIdle="30" maxWait="-1" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/spdb?useUnicode=true&characterEncoding=gbk&autoReconnect=true" username="root" password="root" />

tomcat关闭异常: Invalid byte 2 of 2-byte UTF-8 sequence
问题成因——注释或代码带有中文
解决方案——(办法1)就是把那汉字删除。修改路径
                   (办法2)就是在server.xml里面的最上面加一句
                           
 

(方法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; } }

6.原理图


 

你可能感兴趣的:(JavaWeb)