项目从 tomcat7部署到tomcat8「建议收藏」

项目从 tomcat7部署到tomcat8「建议收藏」这段时间将一个老项目从tomcat7部署到tomcat8上,期间遇到的典型问题。接下来我会介绍下整个升级过程和在升级中遇到的问题。首先要装个jdk8+,因为开发环境用的是eclipse,还要搞个兼容tomcat8的eclipse.新下的tomcat8里是自带20几个jar的,这是要留着的不能直接拿来tomcat7的lib就用。因为老项目要依赖的jar都放在了tomcat下没有用maven,所以拿来…

大家好,又见面了,我是你们的朋友全栈君。

这段时间将一个老项目从tomcat7部署到tomcat8上,期间遇到的典型问题。

接下来我会介绍下整个升级过程和在升级中遇到的问题。

首先要装个jdk8+,因为开发环境用的是eclipse,还要搞个兼容tomcat8的eclipse.

新下的tomcat8里是自带20几个jar的,这是要留着的不能直接拿来tomcat7的lib就用。

因为老项目要依赖的jar都放在了tomcat下没有用maven,所以拿来Tomcat7的lib用Tomcat8的

初始jar覆盖下。因为tomcat的类加载机制,在启动tomcat时会报很多jar找不到或是版本不合适,

如果原来没有这个jar就去下载,如果有只是版本号不同那在jar上改个要求的版本号也是可以的。

前面jar都替换好之后,并且编译没报错就可以进行下一步了,启动tomcat,我在启动tomcat时遇到的第一个问题就是连接

sqlServer的问题,报的是dao注入失败,因为用的是ssh框架迅速查了一遍各种配置,因为连接的是双数据源,mysql是没有问题的,这就让我很纠结了,就查驱动之类的,写了个连接mysql和sqlServer的小程序,跑起来发现都能够连接成功。于是转移目标继续死查配置和注解,并没用。后来看一个tomcat8的源码博客发现tomcat7与tomcat8使用的数据库连接池规范不一样。tomcat7用的是dbcp1而tomcat8用的是dbcp2。dbcp2连接数据库的接口isvalid实现换成了validationQuery(),因此想要在tomcat8中使用jtds就要在Resource中加上validationQuery() = ‘’select 1‘’。然后这个问题解决了。

接下来是structs2的版本问题,因为之前版本太低 ,所以org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter(web.xml里配置的structs2的核心过滤器)2.5的版本

tomcat启动成功后,,登陆页面报500,看jsp发现是jsp规范性的问题,可能我们平常没有注意到,下面代码后面是不应该有分号的!

<%@ page language=”java” contentType=”text/html; charset=UTF-8″
pageEncoding=”UTF-8″

import=”java.io.BufferedReader,java.io.IOException,java.io.InputStreamReader,java.io.LineNumberReader,java.net.InetAddress,java.net.UnknownHostException,java.util.Properties;”%>

但是这一问题在tomcat7里并没有暴露出来。

这就是我在把项目从tomcat7部署到tomcat8上遇到的几个比较典型的问题,其它问题就不一一叙诉了。

2018年3月4日下午

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/161057.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js实现冒泡排序_js 冒泡排序

    js实现冒泡排序_js 冒泡排序冒泡排序原理:冒泡排序算法的原理如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比比较 白话就是:比如有6个数,你需要比较5趟,这……

    2022年10月10日
    3
  • 安卓ExpandableListView的详细使用教程(附代码解析过程)

    安卓ExpandableListView的详细使用教程(附代码解析过程)ExpandableListView又称可扩展的ListView,它可以实现点击父项展开子项的效果,本文实现了一个比较精美的ExpandableListView。

    2022年6月30日
    18
  • 跟着实例学习ZooKeeper的用法: 计数器[通俗易懂]

    跟着实例学习ZooKeeper的用法: 计数器

    2022年3月3日
    183
  • Promise的使用方法[通俗易懂]

    Promise的使用方法[通俗易懂]PS~:Promise是一个构造函数,自己身上有all、reject、resolve等几个方法,原型上有then、catch等几个方法。Promise对象用于表示一个异步操作的最终状态(完成或失败),以及其返回的值。一、Promise有以下三种状态:pending:初始状态,既不是成功,也不是失败状态,(等待中,或者进行中,表示还没有得到结果)fulfi…

    2025年8月5日
    2
  • Java 审计之SSRF篇

    Java审计之SSRF篇0x00前言本篇文章来记录一下JavaSSRF的审计学习相关内容。0x01SSRF漏洞详解原理:服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过

    2021年12月12日
    57
  • 面试官:请你谈谈Java的类加载过程[通俗易懂]

    面试官:请你谈谈Java的类加载过程[通俗易懂]刚刚走出校门的应届毕业生,如果在去寻求一份Java开发的工作时,你的面试官很有可能一边看着你的简历,一边漫不经心地问你:了解过Java类的加载过程吗?这个时候你一定要注意了,虽然这是一个老生常谈的问题,但是这也是一个非常能够考验你Java功底的问题。如果你答好了,这是你应该的;如果你没答好,那么对不起,面试官心中已经给了你不及格。今天,小编就Java类加载过程这个问题,抛砖引玉,说一下…

    2022年8月11日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号