Tom小猫,让我看清你的五脏六腑3(转)
来源:互联网 发布:网络机房建设报价单 编辑:程序博客网 时间:2024/04/30 05:52
-和JDBC域很类似,只不过访问数据库的方式不同,这个是使用JNDI DataSource来访问数据库的。
先在web.xml中加入安全约束,在和JDBC域一样新建两张表,然后在server.xml文件的<GlobalNamingResources>元素下添加如下内容:
DataSource域
<ResourceParams name="jdbc/tomcatusers">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActiove</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value></value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/tomcatusers?autoReconnect=true</value>
</parameter>
</ResourceParams>
注意:Tomcat的JNDI资源必须配置在<GlobalNamingResources>元素下,服务器才能找到,否则会出现NameNotFoundException;低于Tomcat5.0.12的版本,即使正确配置了DataSourceRealm,也会出现找不到JNDI DataSource的异常,这个小猫的一个bug;在web.xml中是不需要配置<resource-ref>元素的,因为Web应用并不会访问这个DataSource。
当然server.xml还需要添加和JDBC域几乎相同的代码:
driverName="com.mysql.jdbc.Driver" debug="0"
connectionURL="jdbc:mysql://localhost/tomcatusers" connectionName="roor"
connectonPassword="" userTable="users" userNameCol="user_name"
userCredCol="user_pass" userRoleTable="user_roles" roleNameCol="role_name">
Tomcat阀
由org.apache.Catalina.Value接口定义,能够对Catalina容器接收的HTTP Request进行预处理,是小猫特有的功能,可以加入到3种容器中(Engine、Host、Context)。
客户访问日志阀(Access Log Value)- 能够将可以的Request信息写入到日志中。可以记录页面访问的次数、用户Session活动和用户验证信息等。
例如:<Value className="org.apache.catalina.AccessLogValue" directory="logs" prifix="localhost_access_log" suffix=".txt" pattern="%h%l%u%t%s%r%s%b" resolveHost="true">
上面的pattern值可以用common,一个默认的值。
pattern属性规定日志的格式和内容:%a-远程IP地址;%A-本地IP地址;%b-发送的字节数,不包括HTTP Header;%h-远程主机名;%H-客户请求所用的协议;%l-"-";%m-请求的方法;%p-接受请求的本地服务器断开;%q-查询字符串;%r-用户请求的第一行内容;%s-响应HTTP Request的状态码;%S-用户Session ID;%t-时间;%u-验证的用户名;%U-请求URL路径;%v-本地服务器名。
远程地址过滤器(Remote Address Filter)-根据IP地址决定是否接受客户的请求。
例如:<Value className="org.apache.catalina.RemoteAddrValue" allow="127.0.0.1" deny="127.111.*"/>
远程主机过滤器(Remot Host Filter)-根据主机名决定是否接受请求。
<Value className="org.apache.catalina.RemoteHostValue" allow="localhost" deny="monster*"/>
客户请求记录器(Request Dumper)-把客户请求的详细信息记录在日志文件中,这里的日志文件是指<Logger>元素。
假定在server.xml中localhost的<Host>元素下已经配置了<Logger>元素:
suffix=".txt" timestamp="true"/>
然后再添加<Value>元素:
参考:《Tomcat与JavaWeb开发技术详解》
- Tom小猫,让我看清你的五脏六腑(一)
- Tom小猫,让我看清你的五脏六腑(二)
- Tom小猫,让我看清你的五脏六腑(三)
- Tom小猫,让我看清你的五脏六腑3(转)
- Tom小猫,让我看清你的五脏六腑2(转)
- Tom小猫,让我看清你的五脏六腑4(转)
- Tom小猫,让我看清你的五脏六腑5(转)
- Tom小猫,让我看清你的五脏六腑1
- 让我怀念“小猫”的宽带
- 一张图让你看清Java集合类(Java集合类的总结)
- 一张图让你看清Java集合类(Java集合类的总结)
- 一张图让你看清Java集合类(Java集合类的总结)
- Tomcat自身配置优化-让你的“小猫”飞一会
- 我的小猫叫小皮
- 让我看清你,EDS-T示波器视窗拓展功能-利利普技术特色系列No.117
- 我的Android项目之Tom伴你行
- 真心话大冒险,一款小程序让你看清你朋友的内心
- 感谢我的不完美,让我看清了真正对…
- Tom小猫,让我看清你的五脏六腑1
- source insight使用总结
- linux下查找某目录下所有文件包含某字符串的命令
- 提高ASP.NET应用程序性能的几招方法
- Tom小猫,让我看清你的五脏六腑2(转)
- Tom小猫,让我看清你的五脏六腑3(转)
- Tom小猫,让我看清你的五脏六腑4(转)
- Tom小猫,让我看清你的五脏六腑5(转)
- 最全的CSS浏览器兼容问题整理
- 日志类之序
- 如何给10^7个数据量的磁盘文件排序
- poj 3468 A Simple Problem with Integers(splay tree解法)
- 容易忽略的SQL语句(二)
- 背景音乐自动播放代码