zoukankan      html  css  js  c++  java
  • javax.servlet.jsp.JspException cannot be resolved to a type 和 javax.servlet.jsp.PageContext cannot be resolved to a type 解决办法

    今天我从码云上拉一个项目下来,是个maven项目,闲来无事自己研究研究,发现刚拉下来,项目就有报错,我一看是httpServletRequest cannot be resolved to a type, 应该是少了servlet的jar包,直接在pom.xml中添加了这个servlet的依赖,这个依赖的域范围要改成provided 即:

    1 <dependency>
    2     <groupId>javax.servlet</groupId>
    3     <artifactId>javax.servlet-api</artifactId>
    4     <version>${servlet.version}</version>
    5     <scope>provided</scope>
    6 </dependency>

    发现错误变成了标题上的两个错误,这两个错误都是没有jsp的jar包导致的,我果断再加了一个依赖:

    1 <dependency>
    2     <groupId>javax.servlet</groupId>
    3     <artifactId>jsp-api</artifactId>
    4     <version>2.0</version>
    5     <scope>provided</scope>
    6 </dependency>

    这样就不报错了,项目正常启动,第一次我这个jsp-api的域范围没有设置为provided,启动项目就报错

    报的是:

    1 Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/mybatisplus-spring-mvc]]

    然后我改了jsp-api的作用域就ok了,这里解释下为什么要将这两个依赖的作用域设置为provided,这是因为我使用的是maven内置的tomcat插件启动的项目,而tomcat本身就

    自带了这两个jar包,如果你设置为默认的,会将这两个jar包打包进去,就会造成重复,和Tomcat里自带的相冲突。

    大家看一下就明白了

    当然如果你使用的是maven内置的插件jetty的话,就不用设置这个域的范围!

    解决方法二:

      选择你的项目,右击build path -》Config Build Path..  ->libraries->Add External JARS.. 

      然后选择你本机器上的Tomcat,选择它里面的jsp-api.jar

      然后一路确定就可以了。

    如有不对的地方,欢迎指正!

    越努力越幸运
  • 相关阅读:
    c# 泛型(知识整理)
    [VC++]C\C++中结构体知识点强化
    [VC++]CString转化成char
    [VC++]C++中类的多态与虚函数的使用
    [C#]关于自己编写MesasgeBox
    [C#]给DataGridView里的ComboBoxCol添加SelectIndexChange事件
    [C#]用代码触发一个事件
    [C#]序列化例子
    [VC++]怎么使对话框中的按钮DISABLE和ENABLE
    [VC++]控制台程序窗口隐藏
  • 原文地址:https://www.cnblogs.com/zfding/p/7726029.html
Copyright © 2011-2022 走看看