项目从 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日下午

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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