问题描述:

        程序中使用到javax.servlet.http.HttpServletRequest等类内容,然而这些类是依赖于tomcat容器lib包下的jar包,工程中导入这两个jar包后就会和tomcat产生冲突。
 
        javax包下都是jdk提供接口规范,由第三方服务器厂商自己来实现。
 
        工程中导入的目的是为了能顺利使用这两个jar包,包含正确编译、使用等。
 
    解决方式:
        
        1.在tomcat的context.xml中添加一段配置,这段配置的作用就是采用jvm的代理模式,优先使用父类包含的jar包。
  1. <Loaderdelegate="true"/>
        delegate值为true时,使用代理模式,加载前先访问上级loader。 false代表从本web应用程序中查找。        
 
        2.如果使用maven,可以将依赖jar包的作用域调成provide,作用就是只在编译、测试环境下使用,发布时jar包会由JDK或容器提供,不会发布此jar包。换言之,provide作用于不具有传递性。这也是与compile作用域的区别(compile会将jar发布出去)。
 
        3.编写项目以及发布的时候将两个jar复制到lib并加入buildpath,项目运行之前删掉两个jar。这种方式不方便,但是能达到效果。(不推荐)。
 
        4.无需复制jar包,直接将tomcat目录下的jar添加到工程中。到build path中Add Library →User Library,将tomcat/lib下servlet-api.jar和jsp-api.jar放到User Library中,buildPath给工程就OK。
            

关于程序中使用servlet-api.jar和jsp-api.jar与服务器lib包jar包冲突的问题的更多相关文章

  1. 程序中图片透明 函数(使用SetBkColor API函数)

    void DrawTransparentBitmap(HDC  hdc,  HBITMAP  hBitmap,  short  xStart,  short  yStart,  COLORREF  c ...

  2. 微信小程序中转义字符的处理

    在微信小程序开发过程中,有时候会用到常用的一些特殊字符如:‘<’.‘>’.‘&’.‘空格’等,微信小程序同样支持对转义字符的处理,下面提供两种方法用来处理微信小程序中转义字符的处理 ...

  3. 使用Win2D在UWP程序中2D绘图(一)

    在新的Windows UWP程序中,引入了一个新的API库: Win2D.它是一个d2d的封装,可以直接使用C#来快速实现高效2D绘图了.这个API虽然在Win8.1时代就开始着手开发了,但最近才完善 ...

  4. Struts2中使用Servlet API步骤

    Struts2中使用Servlet API步骤 Action类中声明request等对象 Map<String, Object> request; 获得ActionContext实例 Ac ...

  5. struts2中访问servlet API

    Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等.Struts ...

  6. Native Application 开发详解(直接在程序中调用 ntdll.dll 中的 Native API,有内存小、速度快、安全、API丰富等8大优点)

    文章目录:                   1. 引子: 2. Native Application Demo 展示: 3. Native Application 简介: 4. Native Ap ...

  7. application.properties多环境配置文件、jar包外部配置文件、配置项加密、程序中配置使用

    一.简介 spring boot项目application.properties文件存放及使用介绍 二.方法一多环境配置文件 我们一般都会有多个应用环境,开发环境.测试环境.生产环境,各个环境的配置会 ...

  8. Struts2框架中使用Servlet的API示例

    1. 在Action类中也可以获取到Servlet一些常用的API * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的 ...

  9. 在Struts2框架中使用Servlet的API

    1. 在Action类中也可以获取到Servlet一些常用的API * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的 ...

随机推荐

  1. 1001 害死人不偿命的(3n+1)猜想 (15 分)

    #include <iostream> using namespace std; int main(){ ; cin >> n; ){ != ) n = ( * n + ) / ...

  2. ZOJ - 3623 完全背包变种

    题意理解有误导致方程建歪,题意是n种类型的船造成至少L伤害的最小时间,攻击过程是不必同步的 #include<iostream> #include<algorithm> #in ...

  3. Highcharts的一些属性

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. maven tomcat eclipse 配置 debug

    1.单击Eclipse菜单"Run"中的"Run Configurations". 2.在弹出的对话框中的左侧树中找"到Maven Build&quo ...

  5. 基于scrapy的一些实例

    一.爬取斗鱼主播 1. 爬虫文件 # -*- coding: utf-8 -*- import scrapy import json from Douyu.items import DouyuItem ...

  6. 2019.3.13 final与static

    final 当使用final修饰类的时候,表示类不能被继承(就是extends后面不能再加它了) final 注意事项: 当使用final修饰时,该方法不能被子类重写 当一个方法被标记为private ...

  7. Python实现图片验证码识别

    转载地址:https://blog.csdn.net/EB_NUM/article/details/77060009 具体想要实现上面的代码需要安装两个包和一个引擎 在安装之前需要先安装好Python ...

  8. HDFS基本shell操作

    在客户端输入Hadoop fs,可以查看所有的,hadoop shell # -help [cmd] //显示命令的帮助信息,如: hadoop fs -help ls # -ls(r) <pa ...

  9. IE678不兼容CSS3 user-select:none(不可复制功能),需要JS解决

    [方法一:CSS3实现文本不可复制] .content {-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o- ...

  10. Java入门系列-07-从控制台中接收输入

    这篇文章帮你使用Scanner类从控制台接收输入 从控制台接收字符串 敲一敲: import java.util.Scanner; public class DemoScanner { public ...