项目服务端:Tomcat6.0.41

选用数据库:Mysql5.6.17

JDK环境:1.6.37

运行系统:Windows server 2008(64bit)

===========================================================

部署好Tomcat项目,运行startup.bat.提示错误(节选):

……

2014-8-20 15:59:13 org.apache.cxf.endpoint.ServerImpl initDestination
信息: Setting the server's publish address to be /pay
2014-8-20 15:59:13 org.apache.cxf.jaxrs.provider.ProviderFactory setDefaultProvider
信息: Problem with setting the default provider org.apache.cxf.jaxrs.provider.JSONProviderorg/codehaus/jettison/mapped/TypeConverter
2014-8-20 15:59:14 org.apache.catalina.core.StandardContext start
严重: Error listenerStart
2014-8-20 15:59:14 org.apache.catalina.core.StandardContext start
严重: Context [/xGameServer] startup failed due to previous errors
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
严重: The web application [/xGameServer] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [Thread-2] but has failed to stop it. This is very likely to create a memory leak.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [Thread-3] but has failed to stop it. This is very likely to create a memory leak.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [Thread-5] but has failed to stop it. This is very likely to create a memory leak.
2014-8-20 15:59:14 org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
严重: The web application [/xGameServer] appears to have started a thread named [NioSocketAcceptor-1-idleStatusChecker] but has failed to stop it. This is very likely to create a memory leak.

……

===========================================================

在这里,需要吐槽tomcat的错误提示。因为它的错误提示很表面。单纯看这错误提示内容,红色部分内容,我们简单地理解为web项目启动了JDBC驱动程序,但是在web项目停止时,JDBC驱动程序注销失败。为了防止内存泄漏,该驱动程序被强制干掉了....然后就引发了后面一大片的蓝色部分内容:提示好多好多线程被启动了,吓唬你不关闭线程的话可能会导致程序内存泄漏(也就是可能会导致程序挂掉)。

这个时候,你需要这样一份文件(Tomcat不自带):

============================文件内容===============================

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

org.apache.juli.FileHandler.level = FINE
org.apache.juli.FileHandler.directory = ${catalina.base}/logs
org.apache.juli.FileHandler.prefix = error-debug.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

============================文件内容===============================

新建一个记事本,将上面绿色字体内容C-V操作,然后保存文件为logging.properties

OK,完成。

将这份文件拷贝到部署项目目录的\WEB-INF\Classes目录下。

e.g.假设我的部署项目目录名为:HeHe

把文件放在:webapps\HeHe\WEB-INF\Classes\logging.properties

然后再次运行tomcat的startup.bat,界面显示的错误不变,我们要查看的是Tomcat根目录下的logs目录(例如:E:\tomcat6\logs),有一份文本文件:error-debug.xxxx-xx-xx

回到我们项目运行失败的问题上,从error-debug.xxxx-xx-xx文件中可以看到,最根本报错的地方是:

===========================================================

2014-8-20 16:25:46 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2014-8-20 16:25:51 org.apache.cxf.endpoint.ServerImpl initDestination
信息: Setting the server's publish address to be /pay
2014-8-20 16:25:51 org.apache.cxf.jaxrs.provider.ProviderFactory setDefaultProvider
信息: Problem with setting the default provider org.apache.cxf.jaxrs.provider.JSONProviderorg/codehaus/jettison/mapped/TypeConverter
2014-8-20 16:25:52 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.linyun.xgame.listener.InitSystemListener
org.springframework.jdbc.UncategorizedSQLException: SqlMapClient operation; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1130];   
--- The error occurred in com/linyun/xgame/dao/sqlmap/Global.xml.  
--- The error occurred while executing query.  
--- Check the    SELECT VALUE_INT AS valueInt, VALUE_STR AS valueStr,PRO_1 AS pro_1,PRO_2 AS pro_2,PRO_3 AS pro_3,PRO_4 AS pro_4,PRO_5 AS pro_5,PARA_ID AS paraID,PARA_DESC AS paraDesc,ISCLIENT AS isclient     FROM T_GLOBAL  .  
--- Check the SQL Statement (preparation failed).  
--- Cause: java.sql.SQLException: null,  message from server: "Host 'iZ23e08c18sZ' is not allowed to connect to this MySQL server"; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException:   
--- The error occurred in com/linyun/xgame/dao/sqlmap/Global.xml.  
--- The error occurred while executing query.  
--- Check the    SELECT VALUE_INT AS valueInt, VALUE_STR AS valueStr,PRO_1 AS pro_1,PRO_2 AS pro_2,PRO_3 AS pro_3,PRO_4 AS pro_4,PRO_5 AS pro_5,PARA_ID AS paraID,PARA_DESC AS paraDesc,ISCLIENT AS isclient     FROM T_GLOBAL  .  
--- Check the SQL Statement (preparation failed).  
--- Cause: java.sql.SQLException: null,  message from server: "Host 'iZ23e08c18sZ' is not allowed to connect to this MySQL server"
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)

……

===========================================================

红色部分就把问题暴露出来了:数据库访问失败了...

访问数据库失败原因:Mysql默认是不可以通过远程机器访问的,所以我们需要开启远程访问。

解决方式(网上有提供其他方法,这里只说我选择的方式):

1.进入到Mysql控制台。运行-CMD,一直cd进入到Mysql的bin目录,输入:mysql -uroot -p

2.提示输入mysql的访问密码。

3.输入密码后输入:use mysql;(记得分号)

4.输入:show tables;

5.输入:select host from user;

6.输入:update user set host = '%' where user = 'root' and host = 'localhost';

OK。。。大功告成。。。如果执行命令没出错的话,再次运行startup.bat,这回就可以运行妥妥的。

Tomcat部署遇到的问题的更多相关文章

  1. Tomcat部署web项目,如何直接通过域名访问,不加项目名称

    问题:下面的问题是互联网上问得比较多的,但是显然都是同一个问题. JavaWeb项目部署到tomcat服务之后设置不需要输入项目名称即可访问? Tomcat部署web项目,如何直接通过域名访问,不加项 ...

  2. Tomcat部署web应用程序

    对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[替换ROOT目录] 最简单的一种方法,webapps目录下面ROOT文件夹的文件为你的文件,然后输入localhost:8080/首页 ...

  3. 如何制定tomcat部署时自己定义的docBase路径

    装了tomcat后发现tomcat安装在系统跟路径地下,每次部署的时候挺麻烦的,于是想指定一个自己定义的应用部署的路径: 以下是如何指定,相关文档请查看https://tomcat.apache.or ...

  4. Tomcat部署方式

    tomcat中三种部署项目的方法 第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/he ...

  5. Tomcat 部署

    <CATALINA_HOME>/webapps: Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录. 1.war包部署:  将需要发布的web应用打成war文件, ( ...

  6. tomcat部署方法总结

    可以参考之前的:http://www.cnblogs.com/youxin/archive/2013/01/18/2865814.html 在Tomcat中部署Java Web应用程序有两种方式:静态 ...

  7. 解决tomcat部署多个虚拟机时报IllegalStateException: Web app root system property already set to 的问题

    解决tomcat部署多个虚拟机时报IllegalStateException: Web app root system property already set to 的问题 在web.xml中添加如 ...

  8. (转) Tomcat部署Web应用方法总结

    原文:http://blog.csdn.net/yangxueyong/article/details/6130065 Tomcat部署Web应用方法总结 分类: Java web2011-01-11 ...

  9. Tomcat部署web应用的方式

    对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[使用控制台部署] 访问Http://localhost:8080,并通过Tomcat Manager登录,进入部署界面即可. 2.[利 ...

  10. Tomcat部署Web应用方法总结

    转载:http://m.blog.csdn.net/blog/u012516903/15741727 Tomcat部署Web应用方法总结 在Tomcat中部署Java Web应用程序有两种方式:静态部 ...

随机推荐

  1. ETL利器Kettle

    ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 本系列文章主要索引如下: 一.ETL利器Kettle实战应用解析系列一[Kettle使用介绍] 二.ETL利器Kettle实战应用解析 ...

  2. Ajax1

    一.Ajax是什么? 全称"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术. AJA ...

  3. loadrunner 编写socket脚本实例(附服务端实现)

    一.socket背景知识 这个咱就不废话了,网上一搜一大堆 二.本实例实现的功能 服务端接收客户端发送的字符串,并返回"5678succ"共8个字符 三.服务端实现(java代码) ...

  4. 【干货】解密监控宝Docker监控实现原理

    分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者.8 年研发管理经验,早期从事大规模企业信息化研发架构,09 年涉足互联网数字营销领域并深入 ...

  5. bootstrop验证手机号

    formValidate($form,getRules(),getMessages()); function getRules(){ return { "memberViewVo.membe ...

  6. MM常用BADI

    1.删除采购申请BADI BAPI_REQUISITION_DELETE 但是需要输入采购申请 和采购申请行项目号

  7. css之absolute绝对定位(绝对定位特性)

    学习了绝对定位以后,对此进行一个总结,啦啦啦啦~ 绝对定位特性 1.破坏性 破坏了原有的位置,从文档流里脱离出来 2.包裹性 如果下面这种情况,父级元素将不会有高度和宽度,失去原有的大小

  8. [z]Oracle性能优化-读懂执行计划

    http://blog.csdn.net/lifetragedy/article/details/51320192 Oracle的执行计划   得到执行计划的方式       Autotrace例子 ...

  9. Android进程间的通信之AIDL

    Android服务被设计用来执行很多操作,比如说,可以执行运行时间长的耗时操作,比较耗时的网络操作,甚至是在一个单独进程中的永不会结束的操作.实现这些操作之一是通过Android接口定义语言(AIDL ...

  10. js ShowDialogModal 关闭子页面并刷新父页面,保留查询条件

    不知道大家有没有碰到类似的问题,当时的你是什么思路来处理这个问题呢?是url,session,cookie,还是…… 今天笔者就遇到了这个问题,当时的想法如:url,session,cookie都尝试 ...