- 浏览: 367218 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (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 1089tlde_ti 写道 我是觉得连依赖管理工具都不用的项目实在 ... -
[MAVEN]web工程的调试
2011-12-18 21:48 4117接上篇:[MAVEN]maven最佳实践 mav ... -
[jetty]jetty学习
2011-12-27 16:19 2557Jetty源码学习 图源码:jetty.dia ... -
[jetty]start.jar启动
2011-12-27 16:16 2755概图 关键点 org.eclipse.jetty ... -
在java中怎样执行系统命令?
2011-12-05 00:12 0linux比较容易实现,windows下问题千奇百怪。 ... -
[MAVEN]maven最佳实践
2011-12-06 11:00 2242参考资料: 官方:http://maven.ap ... -
java点滴
2011-11-25 00:18 0main静态方法调用: 意思的在method ... -
[java]synchronized我的理解
2011-11-18 21:56 1823多线程、同步、锁,搞 ... -
[web工程]Struts2+Spring3.1+Hibernate3.6的集成
2011-05-20 00:32 2025背景:如果选择struts2+Spring+Hibernate ... -
[web工程]集成struts2 mvc
2011-05-20 00:30 2170返回:[web工程]Struts2+Spring3 ... -
[web工程]集成hibernate
2011-05-20 00:28 1476返回:[web工程]Struts2+Spring3.1+ ... -
[web工程]创建web工程
2011-05-19 21:30 1968返回:[web工程]Struts2+Spring3.1+Hib ... -
[分享][Hibernate]公用DAO
2011-05-15 23:27 1977通过Hibernate的元信息处理组件等等,利用spring封 ... -
[经验][hibernate][自定义类型]hibernate 3.6.3中自定义类型,json类型
2011-05-14 12:05 1458首先感谢您百忙之中的阅读 :) 下面进入正题 在3. ... -
hibernate和jdbc加载对象性能
2011-05-03 21:49 1990skzr.org 写道 core2 P8400 ... -
java远程调用通讯协议比较
2011-04-12 16:11 1533我的测试: 环境: 使用spring做为粘合剂 ... -
svn经验
2011-03-30 12:55 1435一下内容摘录自自己的wiki,所以链接可能有问题! 目录 ... -
完善包注释[javadoc package-info.java]
2011-03-27 14:03 6482包级注释 说明: 包级注释,有时候是非常有用的,可以清晰的 ... -
Tomcat7新特性?cookie HttpOnly的那些事(sessionid获取麻烦了)
2011-03-26 10:46 13219环境: tomcat6和tomcat7, ... -
weblogic部署应用
2011-02-16 19:59 1183weblogic部署应用 weblogic 1 怎样 ...
相关推荐
WebLogic 项目移植到 Tomcat 配置说明 在进行 WebLogic 项目移植到 Tomcat 之前,需要确保已经成功安装了 Tomcat。下面将对 WebLogic 项目移植到 Tomcat 的配置进行详细说明。 配置 Tomcat 1. 在 Tomcat 安装目录...
tomcat是jakarta项目中的一个重要的子项目,其被JavaWorld杂志的编辑选为2001年度最具创新的java产品(Most Innovative Java Product),同时它又是sun公司官方推荐的servlet和jsp容器(具体可以见...
【Tomcat全攻略(TOMCAT详细教程)】 Tomcat是一款广泛应用的开源Servlet容器,由Apache软件基金会的Jakarta项目维护。它被JavaWorld杂志评为2001年度最具创新的Java产品,也是Sun公司官方推荐的Servlet和JSP容器。...
### Tomcat与IIS集成全攻略:实现无缝Web服务 #### 概述 在Web开发领域,Apache Tomcat和Microsoft Internet Information Services(IIS)分别是Java应用和.NET应用的热门服务器选择。然而,在某些场景下,为了...
**一、Tomcat简介** Tomcat是Jakarta项目下的核心组件,它是一个开源的Servlet容器,主要用于执行Java Servlet和JavaServer Pages(JSP)。Tomcat因其高效、稳定和易用的特点,深受开发者和企业的青睐。它被...
【标题】:“Tomcat全攻略” 【描述】:“Tomcat全攻略,基础”这段描述暗示了我们将探讨的是关于Apache Tomcat的基础知识,一个广泛使用的开源Java Servlet容器,它执行Java Web应用程序并支持JavaServer Pages ...
在Ubuntu 10.04操作系统上搭建Tomcat服务器的过程是一项关键的任务,尤其对于那些希望在Linux环境下运行Java Web应用程序的人来说。以下是一个详尽的步骤指南,基于实践经验和排错后的总结。 首先,通过Ubuntu的包...
J2EE应用服务器是企业级Java应用程序开发和部署的核心平台,而Jboss和Tomcat的组合提供了一种开源且稳定的选择。Jboss是一款强大的J2EE应用服务器,它支持多种J2EE规范,如EJB(Enterprise JavaBeans)、JMS(Java ...
本教程将详细讲解如何在MyEclipse 9.0集成环境中,结合JRebel插件和Tomcat服务器,实现Spring项目热部署的攻略。 首先,我们来了解JRebel。JRebel是一款强大的Java应用热部署工具,它能够实时地更新类、资源文件...
Tomcat全攻略最好的 谢谢
### Tomcat 4.01 全攻略:深入解析与配置指南 #### 一、Tomcat 4.01 概览与荣誉 Tomcat 4.01 是一款由 Jakarta 项目组开发的开源应用服务器,专为 Java 应用提供支持。它在 2001 年被《JavaWorld》杂志评为最具...
### JDK 5.0 和 Tomcat 5.0 配置全攻略 #### 环境搭建背景 对于初入Java领域的新手来说,环境配置往往是一个不小的挑战。本篇文章旨在帮助那些在Java学习过程中遇到环境配置问题的朋友,提供一份详尽的JDK 5.0 和 ...
【Tomcat集成StartSSL认证全攻略】 在网络安全日益重要的今天,使用HTTPS协议为网站提供安全的传输已经成为标准。本文将详细介绍如何使用StartSSL获取可信的私钥和证书,并将其集成到Tomcat服务器中,确保你的网站...
文件"Linux一键安装web环境全攻略.pdf"可能是详细的步骤指南,涵盖从基础操作到高级配置的所有信息。而"linux服务器配置.zip"可能包含更多的配置文件和脚本,供用户自定义其服务器环境。 通过这个一键安装包,用户...