- 浏览: 355938 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (186)
- J2EE (46)
- spring (4)
- Applet (7)
- 网页前端 (10)
- 生活与工作 (55)
- 开放的世界 (10)
- linux (16)
- j2me (2)
- android (5)
- ExtJS (1)
- 架构师与设计 (7)
- 开发平台 (2)
- Eclipse (4)
- 教育 (0)
- 数据库 (9)
- English (1)
- Jetty (2)
- 未分类 (1)
- 工具 (2)
- flex (2)
- synchronized (1)
- maven (2)
- command (0)
- shell (1)
- web (1)
- qq (3)
- wine (3)
- chrome (1)
- extensions (1)
- plugin (1)
- 插件 (1)
- ssh (1)
- 内网 (1)
- J2EE excel (1)
- ubuntu (4)
- storm (2)
- hadoop (1)
最新评论
-
skzr.org:
jdbc:mysql://localhost:3306/?us ...
storm topology all in one spring文件合并 -
chenghong726:
你好,我用你这个方法,上传文件72M一直卡在 mapper.s ...
超大excel读取 43万记录 26M文件 -
海hai:
您好我对这篇文章很敢兴趣可以和你请教下吗?我qq9034418 ...
淘宝top自动授权页面,方便大家调试top应用 -
skzr.org:
首先感谢你的关注:)yaerfeng1989 写道最代码上有更 ...
[MAVEN]web工程的调试 -
skzr.org:
最新消息2013-12-17:腾讯再次弹出消息,我的QQ201 ...
ubuntu 12.04安装QQ2012
以下是常见的tomcat配置和问题
以下总结来自实践(OS: Ubuntu 10.10 64bit)
目录
-
Tomcat conf配置
- tomcat-users.xml配置
- web.xml静态资源编码设置
- URI编码设置
- APR
-
配置SSL
- 非APR的SSL配置步骤
- APR环境的SSL配置(ssl使用apr)
- gzip压缩
- jdbc
- HttpOnly
Tomcat conf配置
tomcat-users.xml配置
- 默认是没有任何用户的,这样开发不方便,如果是生产环境,建议删除所有用户,开发配置(tomcat7)如下:
-
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="" roles="manager-gui,manager-script,manager-jmx,manager-status"/> </tomcat-users>
web.xml静态资源编码设置
-
问题:在查看页面js或者css的源代码的时候,源代码出现乱码,但是页面上一切正常运行,因为tomcat需要配置静态资源的编码格式 解决:打开tomcat_home/conf/web.xml文件,在mime-type中增加编码chartset=utf-8信息即可,如:
<mime-mapping> <extension>css</extension> <mime-type>text/css;charset=utf-8</mime-type> </mime-mapping> <mime-mapping> <extension>js</extension> <mime-type>text/javascript;charset=utf-8</mime-type> </mime-mapping>
URI编码设置
-
问题:乱码问题,非通过表单的提交,比如直接在浏览器地址栏直接输入中文数据的乱码问题
http://yoururl//your.action?name=我的中文名&check=可能在服务器端乱码
解决:打开tomcat_home/conf/server.xml文件,设置Connector属性URIEncoding="UTF-8"就可以解决了,注意每一个Connector都要设置此属性
<Connector URIEncoding="UTF-8" port="8159" protocol="AJP/1.3" redirectPort="8593"/>
APR
-
tomcat启动时提示信息——The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found
Sep 3, 2010 8:59:51 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /prog/java/jdk1.6.0_20/bin:/prog/apache/app-apache-tomcat-7.0.0/bin Sep 3, 2010 8:59:51 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 848 ms
步骤:APR详情
- 准备依赖包
-
下载APR依赖: APR 1.2+ development headers (libapr1-dev package)
-
下载OpenSSL依赖:OpenSSL 0.9.7+ development headers (libssl-dev package)
-
- 解压缩tomcat_home/bin/tomcat-native.tar.gz
-
进入目录:tomcat-native-1.1.20-src/jni/native 详细安装见此目录下的BUILDING文件
- 执行 export JAVA_HOME=/prog/java/jdk 设置JDK
- 执行:./configure --with-apr=/usr/bin --with-ssl=/usr/bin
- 执行:make
-
执行:sudo make install -->安装到/usr/local/apr/lib
- 执行:ln -s /usr/local/apr/lib/libtcnative-1.so $JAVA_HOME/jre/lib/amd64/
-
重新启动tomcat看到:
Sep 3, 2010 9:56:17 PM org.apache.catalina.core.AprLifecycleListener init INFO: Loaded APR based Apache Tomcat Native library 1.1.20. Sep 3, 2010 9:56:18 PM org.apache.catalina.core.AprLifecycleListener init INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. Sep 3, 2010 9:56:18 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: Failed to initialize the SSLEngine. Sep 3, 2010 9:56:18 PM org.apache.coyote.http11.Http11AprProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8782 Sep 3, 2010 9:56:18 PM org.apache.coyote.ajp.AjpAprProtocol init INFO: Initializing Coyote AJP/1.3 on ajp-8711 Sep 3, 2010 9:56:18 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 840 ms
- 准备依赖包
配置SSL
非APR的SSL配置步骤
-
创建keystore:
jdk/bin/keytool -genkey -keystore tomcat.keystore -alias tomcat -keyalg RSA
- 把tomcat.keystore放入${user.home}目录中,就是你的用户目录,当然你可以放入其他目录中
-
修改tomcat的server.xml,增加Connector:
<Connector port="9145" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8" keystoreFile="${user.home}/tomcat.keystore" keystorePass="cms4g-proxy-PaSsWoRd" maxThreads="20" />
APR环境的SSL配置(ssl不使用apr): -
如果还是按照上面的#非APR的SSL配置步骤进行ssl配置,那么需要这么做:
-
在Connector中配置protocol=org.apache.coyote.http11.Http11NioProtocol
<Connector port="9145" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" protocol="org.apache.coyote.http11.Http11NioProtocol" URIEncoding="UTF-8" keystoreFile="${user.home}/tomcat.keystore" keystorePass="cms4g-proxy-PaSsWoRd" maxThreads="20" />
但启动时会提示错误:Failed to initialize the SSLEngine.
Sep 3, 2010 10:49:42 PM org.apache.catalina.core.AprLifecycleListener init INFO: Loaded APR based Apache Tomcat Native library 1.1.20. Sep 3, 2010 10:49:43 PM org.apache.catalina.core.AprLifecycleListener init INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. Sep 3, 2010 10:49:43 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: Failed to initialize the SSLEngine. Sep 3, 2010 10:49:43 PM org.apache.coyote.http11.Http11AprProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8782 Sep 3, 2010 10:49:43 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Using a shared selector for servlet write/read Sep 3, 2010 10:49:43 PM org.apache.coyote.http11.Http11NioProtocol init INFO: Initializing Coyote HTTP/1.1 on http-9145 Sep 3, 2010 10:49:43 PM org.apache.coyote.ajp.AjpAprProtocol init INFO: Initializing Coyote AJP/1.3 on ajp-8711 Sep 3, 2010 10:49:43 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1162 ms
-
虽然提示信息:Failed to initialize the SSLEngine.但ssl依然可以正常运行,要抑制此信息只要修改server.xml配置apr的sslengine=off即可,如
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
启动信息
Sep 3, 2010 10:51:53 PM org.apache.catalina.core.AprLifecycleListener init INFO: Loaded APR based Apache Tomcat Native library 1.1.20. Sep 3, 2010 10:51:53 PM org.apache.catalina.core.AprLifecycleListener init INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true]. Sep 3, 2010 10:51:54 PM org.apache.coyote.http11.Http11AprProtocol init INFO: Initializing Coyote HTTP/1.1 on http-8782 Sep 3, 2010 10:51:54 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Using a shared selector for servlet write/read Sep 3, 2010 10:51:54 PM org.apache.coyote.http11.Http11NioProtocol init INFO: Initializing Coyote HTTP/1.1 on http-9145 Sep 3, 2010 10:51:54 PM org.apache.coyote.ajp.AjpAprProtocol init INFO: Initializing Coyote AJP/1.3 on ajp-8711 Sep 3, 2010 10:51:54 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1081 ms
-
APR环境的SSL配置(ssl使用apr)
-
创建相关密钥:OpenSSL官方createKey
-
创建private key:
Private keys are generated with 'openssl genrsa' if you want a RSA private key, or 'openssl gendsa' if you want a DSA private key. openssl genrsa -out privkey.pem
-
Creating a certificate request
3. Creating a certificate request The certificate request is created like this: openssl req -new -key privkey.pem -out cert.csr
-
自签名
4. Creating a self-signed test certificate openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
-
我的实际运行:
openssl genrsa -out tomcatkey.pem 产生文件 tomcatkey.pem openssl req -new -x509 -key tomcatkey.pem -out tomcatca.pem -days 1095 产生文件 tomcatca.pem
-
-
配置APR的SSL Connector和listener,文件server.xml:
<!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!-- Connector配置 --> <Connector port="9145" SSLEnabled="true" scheme="https" secure="true" URIEncoding="UTF-8" SSLCertificateKeyFile="${user.home}/tomcatkey.pem" SSLCertificateFile="${user.home}/tomcatca.pem" maxThreads="20" />
gzip压缩
-
直接在server.xml中配置Connector即可:
<Connector port="9145" SSLEnabled="true" scheme="https" secure="true" URIEncoding="UTF-8" SSLCertificateKeyFile="${user.home}/tomcatkey.pem" SSLCertificateFile="${user.home}/tomcatca.pem" maxThreads="20" compression="on" compressionMinSize="1024" compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,application/x-json,application/json" />
jdbc
-
配置Context.xml
<Context path="" docBase="${catalina.home}/atlassian-jira" reloadable="false"> <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource" username="[enter db username]" password="[enter db password]" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/jiradb?useUnicode=true&characterEncoding=UTF8" [ delete the minEvictableIdleTimeMillis and timeBetweenEvictionRunsMillis params here ] maxActive="20" validationQuery="select 1"/> </Context>
HttpOnly
- 配置Context中配置useHttpOnly="true",tomcat7默认是true,对于6是false
-
<?xml version="1.0" encoding="UTF-8" ?> <Context path="/${tomcat.deployName}" docBase="${basedir}/WebRoot" useHttpOnly="true"/>
-
发表评论
-
答复: 再谈一个关于final的不一致编译的低级错误
2012-09-25 09:13 1014tlde_ti 写道 我是觉得连依赖管理工具都不用的项目实在 ... -
[MAVEN]web工程的调试
2011-12-18 21:48 4028接上篇:[MAVEN]maven最佳实践 mav ... -
[jetty]jetty学习
2011-12-27 16:19 2457Jetty源码学习 图源码:jetty.dia ... -
[jetty]start.jar启动
2011-12-27 16:16 2683概图 关键点 org.eclipse.jetty ... -
在java中怎样执行系统命令?
2011-12-05 00:12 0linux比较容易实现,windows下问题千奇百怪。 ... -
[MAVEN]maven最佳实践
2011-12-06 11:00 2161参考资料: 官方:http://maven.ap ... -
java点滴
2011-11-25 00:18 0main静态方法调用: 意思的在method ... -
[java]synchronized我的理解
2011-11-18 21:56 1757多线程、同步、锁,搞 ... -
[web工程]Struts2+Spring3.1+Hibernate3.6的集成
2011-05-20 00:32 1978背景:如果选择struts2+Spring+Hibernate ... -
[web工程]集成struts2 mvc
2011-05-20 00:30 2108返回:[web工程]Struts2+Spring3 ... -
[web工程]集成hibernate
2011-05-20 00:28 1423返回:[web工程]Struts2+Spring3.1+ ... -
[web工程]创建web工程
2011-05-19 21:30 1919返回:[web工程]Struts2+Spring3.1+Hib ... -
[分享][Hibernate]公用DAO
2011-05-15 23:27 1907通过Hibernate的元信息处理组件等等,利用spring封 ... -
[经验][hibernate][自定义类型]hibernate 3.6.3中自定义类型,json类型
2011-05-14 12:05 1390首先感谢您百忙之中的阅读 :) 下面进入正题 在3. ... -
hibernate和jdbc加载对象性能
2011-05-03 21:49 1934skzr.org 写道 core2 P8400 ... -
java远程调用通讯协议比较
2011-04-12 16:11 1476我的测试: 环境: 使用spring做为粘合剂 ... -
svn经验
2011-03-30 12:55 1380一下内容摘录自自己的wiki,所以链接可能有问题! 目录 ... -
完善包注释[javadoc package-info.java]
2011-03-27 14:03 6422包级注释 说明: 包级注释,有时候是非常有用的,可以清晰的 ... -
Tomcat7新特性?cookie HttpOnly的那些事(sessionid获取麻烦了)
2011-03-26 10:46 13111环境: tomcat6和tomcat7, ... -
weblogic部署应用
2011-02-16 19:59 1133weblogic部署应用 weblogic 1 怎样 ...
相关推荐
tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见...
omcat全攻略(TOMCAT详细教程)
Tomcat IIS HowTo将Tomcat装入IIS全攻略
Tomcat全攻略(详细讲述Tomcat): 一:简介 二:安装及配置 三:应用 四:综述
Tomcat全攻略Linux!其他linux相关资源在我的主页.
JBoss+Tomcat已经成为一个免费的开源的稳定的J2EE服务器,虽然在JBoss中部署J2EE没有商用J2EE服务器那么方便,基本都是通过手工编写XML配置文件,但是这样可以让我们更容易理解J2EE的来龙去脉。本文以Jboss 2为例,...
tomcat全攻略,基础
Tomcat全攻略最好的 谢谢
Tomcat4_01全攻略 ,很有帮助
tomcat作为一个开源的servlet容器,应用前景越来越广!
解决java spring热部署的问题,亲测能用,不能用那是人品啊
安装网上其他人的指导,完全安装排错后的总结.
tomcat调优全攻略,不合用保证全额退分。包括线程调优,内存调优。
通过Start SSL获取让互联网可信的私钥和证书,并同Tomcat进行集成, 本文解决一个网络多数文章中的一个错误。你值得拥有。
(注:安装tomcat之前必须先安装jdk) Tomcat全攻略 一:简介 tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度 最具创新的java产品(Most Innovative Java Product),同时它又是sun...
JDK - Tomcat - JSP - Servlet 配置运行全攻略