|
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">
-
- <Resource name="shunping" auth="Container" type="javax.sql.DataSource"
- maxActive="200"
- 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" />
- </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{
-
- Context con=new javax.naming.InitialContext();
-
- DataSource ds=(DataSource)con.lookup("java:comp/env/shunping");
- ct=ds.getConnection();
- System.out.println("使用连接池的方式");
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return ct;
- }
- }
|