javax.servlet.jsp.JspException cannot be resolved to a type 和 javax.servlet.jsp.PageContext cannot be resolved to a type 解決辦法

來源:互聯網
上載者:User

標籤:ges   分享   沒有   pen   uil   conf   http   servlet   maven   

今天我從碼雲上拉一個項目下來,是個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

  然後一路確定就可以了。

如有不對的地方,歡迎指正!

 

javax.servlet.jsp.JspException cannot be resolved to a type 和 javax.servlet.jsp.PageContext cannot be resolved to a type 解決辦法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.