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

来源:互联网 发布:天涯博客群发软件 编辑:程序博客网 时间:2024/05/22 03:32

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

 

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

6.原理图


 

原创粉丝点击