项目从 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Intellij IDEA2021.1创建Java web项目(超详细)

    Intellij IDEA2021.1创建Java web项目(超详细)IntellijIDEA2021.1点击next填写项目的名称以及位置,finish右键项目,选择addframeworksupport完成之后,项目结构变成了这样接下来,我们在WEB-INF下创建classes,lib文件夹编辑项目结构将outputpath的路径改成classes文件夹的路径接下来点击dependencies,选择加号,选择jarsordirectories点击后,他会弹出一个文件选择框,这里选择lib文件所在位置,之后按照下面这张图

    2022年8月25日
    8
  • tess4j正确的使用 OCR

    tess4j正确的使用 OCR在官网上下载下来的tess4j的zip,初见时看的云里雾里的,原以为是个jar,直接引用就好了,结果竟是个zip。网上查一下用法,各种说法,各种菜,全是误导,自己不懂就敢瞎说…实际上使用时需要注意一下几点:一、引jar包打开压缩包,在dist下边有tess4j的jar,这个jar包在lib下也可以找到,这是关键jar。此外还需要其他好多依赖jar包,这些都可以在lib下找到。l

    2022年5月25日
    100
  • 最炫python表白代码_有趣的python代码表白

    最炫python表白代码_有趣的python代码表白文章目录前言演示网站制作部署网站二维码制作总结前言跟着我做,不要跳着看,否则你会失败。第一步是制作二维码;第二步是制作网站。演示具体成果地址:https://yanghanwen.xyz/ai/网站制作首先你需要下载我的这个完整项目:链接:https://pan.baidu.com/s/1EmRehx_gRnT5hLjJvKuAIg提取码:pz1y–来自百度网盘超级会员V2的分享下载好后文件目录如下:然后你需要注意的是我把img里面的图片删了,涉及隐私,大家自己替换自己追

    2022年8月30日
    3
  • 5G学习笔记:NSA和SA

    5G学习笔记:NSA和SA大家好,我是小枣君。第一个5G正式标准马上就要发布了,相信大家一定都在翘首企盼。之前我曾经和大家介绍过,去年12月份的时候,我们其实已经发布了“半个”5G标准。是的没错,那个时候是“非独立组网(NSA)”的5G标准。而我们现在正在等的,是“独立组网(SA)”的5G标准。关于非独立组网和独立组网,NSA和SA,虽然大家都听了很多次,但很少有人能真正搞懂它们到底是怎么…

    2022年10月25日
    0
  • PyCharm激活码永久有效PyCharm2019.3.3激活码教程-持续更新,一步到位[通俗易懂]

    PyCharm激活码永久有效PyCharm2019.3.3激活码教程-持续更新,一步到位[通俗易懂]PyCharm激活码永久有效2019.3.3激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.3成功激活

    2022年6月19日
    38
  • arduino超声波测距_stm32超声波测距lcd显示

    arduino超声波测距_stm32超声波测距lcd显示加入高工智能汽车行业群(自动驾驶行业4群,车联网智能座舱3群,智能商用车行业群),加微信:15818636852,并出示名片,仅限智能网联汽车零部件及OEM厂商。目前为止,特斯拉的Autopilot一共经历了三代硬件的更迭,分别是Autopilot1.0,2.0和2.5。按照目前特斯拉的公开信息,Autopilot3.0硬件将可能在今年底和自主研发的芯片一起推出。此前,《高工智能汽车》陆…

    2022年9月3日
    2

发表回复

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

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