tomcat配置(连接池)

论坛 期权论坛 脚本     
匿名技术用户   2021-1-5 16:57   155   0

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>之前添加代码:

[xhtml] view plain copy
  1. <!--配置数据源和连接池-->
  2. <Context path="/servlettest" docBase="D:/servlettest" debug="0" reloadable="true">
  3. <!--name:给数据源设置名字(jndi) auth:表示该数据源是由谁管理 type:类型-->
  4. <Resource name="shunping" auth="Container" type="javax.sql.DataSource"
  5. maxActive="200" <!--在连接池中最大的激活连接数,经验:200(瞬间连接)根连接线可以支撑5000用户同时在线-->
  6. maxIdle="30" <!--在连接池中最大的保留(空闲)连接数-->
  7. maxWait="-1" <!--客户端在队列池中最大等待时间,按秒计算-->
  8. <!--驱动设置,该驱动放在tomcat的common/lib下,或者放在该站点自己的lib目录下-->
  9. driverClassName="com.mysql.jdbc.Driver"
  10. <!--设置url-->
  11. url="jdbc:mysql://localhost:3306/spdb?useUnicode=true&characterEncoding=gbk&autoReconnect=true"
  12. username="root" <!--设置连接数据库的用户名-->
  13. password="root" /> <!--设置连接数据库的密码-->
  14. </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

[c-sharp] view plain copy
  1. //从数据库中得到连接
  2. package com.tsinghua;
  3. import java.sql.*;
  4. import javax.sql.*;
  5. import javax.naming.*;
  6. public class ConnDB{
  7. private Connection ct=null;
  8. public Connection getConn(){
  9. /* try{
  10. // 连接数据库
  11. Class.forName("com.mysql.jdbc.Driver");// 加载驱动
  12. // 得到连接
  13. ct = DriverManager.getConnection(
  14. "jdbc:mysql://localhost:3306/spdb", "root", "root");
  15. }catch(Exception ex){
  16. ex.printStackTrace();
  17. }
  18. return ct; */
  19. try{
  20. //创建一个上下文环境
  21. Context con=new javax.naming.InitialContext();
  22. //通过con得到数据源
  23. DataSource ds=(DataSource)con.lookup("java:comp/env/shunping");
  24. ct=ds.getConnection();
  25. System.out.println("使用连接池的方式");
  26. }catch(Exception ex){
  27. ex.printStackTrace();
  28. }
  29. return ct;
  30. }
  31. }
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP