-
2021-03-01 10:07:31
最近在学习servlet,看书看的似乎还比较理想就想上机试下,这一试就发现,问题来了 ,每次编译都说找不到 servlet 和 httpServlet 包。我在网上找啊找啊,找到的总是要我们把 tomcat \lib\下的servlet.jar 加到classpath就OK了。但是一次一次的提示同样的错误就差点将我从servlet打回来了。后来我终于找到了,真的很感谢他。
我再一次感谢他。
以下是他blog中的内容
将HelloServlet.java编译为HelloServlet.class文件。
HelloServlet.java:2: 软件包 javax.servlet 不存在
import javax.servlet.*;
^
HelloServlet.java:3: 软件包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
HelloServlet.java:13: 找不到符号
符号: 类 HttpServlet
public class HelloServlet extends HttpServlet {
^
HelloServlet.java:14: 找不到符号
符号: 类 HttpServletRequest
位置: 类 HelloServlet
public void doGet(HttpServletRequest request,
^
HelloServlet.java:15: 找不到符号
符号: 类 HttpServletResponse
位置: 类 HelloServlet
HttpServletResponse response)
^
HelloServlet.java:16: 找不到符号
符号: 类 ServletException
位置: 类 HelloServlet
throws ServletException, IOException {
^
6 错误
出现错误!由于servlet和JSP不是Java平台Java SE(标准版)的一部分,而是Java EE(企业版)的一部分,因此,必须告知编译器servlet的位置。
解决“软件包 javax.servlet 不存在”错误的方法:
1. 搜索servlet-api.jar
所在文件夹:C:\Tomcat 5.5\common\lib
2. 将环境变量CLASSPATH的值设置为:
.;C:\Tomcat 5.5\common\lib\servlet-api.jar
上面的是就是我所发现的最最完善的教程所说的解决方法,然后按照预测:
3. 重新编译:javac HelloServlet.java,编译成功。
结果。。。。不行!
现在我们发现了什么原因?原来出了设置classpath以及servlet-api.jar的区别外,还有一点!!!
把COMMON/LIB下的SERVLET-API.JAR 拷贝到JDK/jre\lib\ext下
更多相关内容 -
解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)
2020-08-29 19:34:33主要介绍了解决java编译错误的相关资料,主要解决 程序包javax.servlet不存在javax.servlet.*的问题,需要的朋友可以参考下 -
错误:程序包javax.servlet不存在
2021-07-17 01:00:47inf/classes) and tried to compile the project again , but it failed, and since then im getting "package javax.servlet does not exist" it is weird because before it was working and i have javax.servlet...I was trying to implement a login filter in my web app with jsf 2, following this guide:
after I compiled my filter and added the .class in "web-inf/classes" (as the guide says) the filter worked, but i put the wrong url to redirect to the login page so i deleted the filter.class from the folder (web-inf/classes) and tried to compile the project again , but it failed, and since then im getting "package javax.servlet does not exist"
it is weird because before it was working and i have javax.servlet in my pom.xml.. i tried cleaning the project, but nothing.
this is my filter class:
package Bean;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Created with IntelliJ IDEA.
* User: rodrigo
* Date: 28-04-13
* Time: 06:54 AM
* To change this template use File | Settings | File Templates.
*/
@WebFilter("/Contenido/*")
public class filtro implements Filter {
@Override
public void init(FilterConfig config) throws ServletException {
// If you have any in web.xml, then you could get them
// here by config.getInitParameter("name") and assign it as field.
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) request;
LoginBean user = (LoginBean) req.getSession().getAttribute("user");
if (user != null && user.isLoggedIn()) {
// User is logged in, so just continue request.
chain.doFilter(request, response);
} else {
// User is not logged in, so redirect to index.
HttpServletResponse res = (HttpServletResponse) response;
res.sendRedirect(req.getContextPath() + "/Contenido/Login.xhtml");
}
}
@Override
public void destroy() {
// If you have assigned any expensive resources as field of
// this Filter class, then you could clean/close them here.
}
}
this is the error:
\Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[5,20] error: package javax.servlet does not exist
[ERROR] \Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[6,20] error: package javax.servlet does not exist
[ERROR] \Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[7,20] error: package javax.servlet does not exist
[ERROR] \Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[8,20] error: package javax.servlet does not exist
[ERROR] \Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[9,20] error: package javax.servlet does not exist
[ERROR] \Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[10,20] error: package javax.servlet does not exist
[ERROR] \Users\rodrigo\IdeaProjects\Frutemu\src\main\java\Bean\filtro.java:[11,31] error: package javax.servlet.annotation does not exist
my pom.xml:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4.0.0
Frutemu
Frutemu
war
1.0-SNAPSHOT
Frutemu Maven Webapp
http://maven.apache.org
prime-repo
Prime Repo
http://repository.primefaces.org
junit
junit
3.8.1
test
javax.ejb
ejb-api
3.0
provided
org.primefaces
primefaces
3.5
org.primefaces.themes
all-themes
1.0.9
javax.faces
jsf-api
2.0
compile
com.sun.faces
jsf-impl
2.0.2-b10
compile
javax.servlet
jstl
1.2
mysql
mysql-connector-java
5.1.21
org.glassfish.web
el-impl
2.2.1-b04
provided
org.apache.openjpa
openjpa-all
2.2.0
com.microsoft.sqlserver
sqljdbc4
4.0
net.sf.jasperreports
jasperreports
4.1.2
Frutemu
org.apache.openjpa
openjpa-maven-plugin
2.2.0
**/model/*.class
true
true
enhancer
process-classes
enhance
org.apache.tomcat.maven
tomcat7-maven-plugin
2.0
http://127.0.0.1:8080/manager/text
TomcatServer
/Frutemu
org.codehaus.mojo
jasperreports-maven-plugin
compile-reports
net.sf.jasperreports
jasperreports
4.1.2
解决方案
The javax.servlet dependency is missing in your pom.xml. Add the following to the dependencies-Node:
javax.servlet
javax.servlet-api
3.0.1
provided
-
javac 编译出现 软件包 javax.servlet.http 不存在
2019-08-02 11:37:57NULL 博文链接:https://xjg396.iteye.com/blog/1973026 -
javax.servlet不存在javax.servlet.http不存在或未定义等编译错误
2021-10-08 22:12:36javax.servlet不存在或未找到,程序包javax.servlet.http不存在或未定义等错误。原因是servlet和JSP均不是java平台javase(标准版)的一部分,而是JavaEE的一部分,因此必须告知编译器servlet的位置。 解决方案: ...javax.servlet不存在或未找到,程序包javax.servlet.http不存在或未定义等错误。原因是servlet和JSP均不是java平台javase(标准版)的一部分,而是JavaEE的一部分,因此必须告知编译器servlet的位置。
解决方案:
在tomcat文件夹中搜索servlet-api.jar,并将servlet-api.jar的完整路径追加到环境变量CLASSPATH中(包含后缀名.jar,建议不要有路径中不要有中文和空格)。保存后即可使用javac编译器编译servlet的子类。
-
javax.servlet 不存在的解决办法
2021-01-20 11:26:00javax.servlet 不存在的解决办法 在使用 eclipse 使用 HttpServlet 时,提示 javax.servlet 不存在的错误。 这时因为项目的依赖库中,缺少 javax.servlet 相关类库。 下载 javax.servlet Servlet 相关类包,包含在 ...javax.servlet 不存在的解决办法
在使用 eclipse 使用 HttpServlet 时,提示 javax.servlet 不存在的错误。
这时因为项目的依赖库中,缺少 javax.servlet 相关类库。
下载 javax.servlet
Servlet 相关类包,包含在 Tomcat 中,我们可以通过下载 Tomcat 来获得。
例如,类库位置为:apache-tomcat-7.0.107/lib/servlet-api.jar
解决方法1:将类库添加到 jre 扩展目录中
拷贝 servlet-api.jar 到 “JDK\jre\lib\ext” 目录下,重新编译就可以了。
解决方法2:添加项目依赖
- 选中项目,右键,选择 Build Path:
- 添加相应的 jar 包即可:
PS:更多更多内容……,请查看 --> 《Server 开发》
PS:更多更多内容……,请查看 --> 《Server 开发》
PS:更多更多内容……,请查看 --> 《Server 开发》 -
java: 程序包javax.servlet不存在
2021-12-22 16:46:14java: 程序包javax.servlet不存在 解决: ok,完成 原因是:tomcat导包不成功 -
IDEA 中出现“ java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.annotation“等错误如何解决...
2021-02-07 12:46:31IDEA 中出现" java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.annotation"等错误如何解决。 原因: 我们一般导入项目很多会缺少一些jar,我们只需手动导入jar即可。 那如何导入: 1.选则当前项目,... -
Maven错误:程序包javax.servlet不存在
2020-12-22 10:15:48我开始使用旧版项目并尝试使用...这个错误真的绊倒了我,因为在我的pom.xml文件中我有以下依赖Maven错误:程序包javax.servlet不存在javax.servletjstl1.2我还检查了属性>目标运行时,并确保Tomcat的V7.0时所选择... -
IDEA 编译报程序包 javax.servlet 不存在 解决办法
2021-04-25 16:18:21程序包 javax.servlet 不存在 解决办法 其原因是java编译器没有找到软件包javax.servlet。 下载servlet.jar放到lib下没有效果,后发现需要在jdk中添加,如下: 解决办法: 从tomcat lib目录下拷贝一个servlet-api.... -
添加Tomcat类库:解决程序包javax.servlet不存在
2021-03-14 13:49:11如果出现javax.servlet不存在,说明没有添加Tomcat类库 步骤如下 step1 step2 step3 step4 step5 添加Tomcat库成功。 Tomcat详细部署详见另一篇博文IDEA中创建web项目+Tomcat部署(2020.2后版本) -
java编译错误 程序包javax.servlet不存在javax.servlet.*
2019-10-05 22:19:51java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax.servlet.http 不存在 等错误 由于servlet和JSP不是Java平台JavaSE(标准... -
SpringMvc-软件包javax.servlet不存在的解决办法
2021-01-10 19:12:30SpringMvc-软件包javax.servlet不存在的解决办法 原因:引用了tomcat中的servlet-api.jar文件中的javax.servlet.Filter类 找不到 解决方案: 1.从tomcat lib目录下拷贝一个servlet-api.jar的包到“JDK\jre\lib\ext”... -
IDEA 添加maven项目 报错:Error:(3,21)java:程序包javax.servlet不存在
2022-04-21 11:18:41一、IDEA 添加maven项目 报错:java:程序包javax.servlet不存在。如图: 二、解决方法 1、在File-->Project Structure -->Modules中进行更改 2、在modules中选择Dependencies,点击+ -->JARS or ... -
maven项目中Error:(3, 21) java: 程序包javax.servlet不存在
2021-04-15 12:56:17<p>pom文件中导入了servlet-api用tomcat7:run可以跑起来但是在使用junit测试时却报错找不到servlet <p><img alt="" height="208" src="https://img-ask.csdnimg.cn/upload/1618462467654.png" width="615" /></p> ... -
IDEA 出现java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.annotation等错误
2020-06-18 09:35:14在IDEA中建立Servlet使用javax.servlet.http.HttpServlet等类时,出现了如下错误: 原因:IntelliJ IDEA 没有导入 servlet-api.jar 这个.jar包,需要手动导入。 导入步骤如下:选中项目,右击选择“Open Modules ... -
IntelliJ IDEA 出现“ java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.annotation“等错误
2020-09-09 21:22:55在IDEA中建立Servlet使用javax.servlet.http.HttpServlet等类时,出现了如下错误: 原因:IntelliJ IDEA 没有导入 servlet-api.jar 这个.jar包,需要手动导入。 导入步骤如下:选中项目,右击选择“Open Modules ... -
解决 错误: 程序包javax.servlet不存在
2021-01-05 20:31:57将tomcat\lib\servlet-api.jar复制到jdk\jre\lib\ext目录下可以编译成功,亲测有效 -
IDEA中如何解决程序包javax.servlet不存在
2020-07-28 11:41:311.首先选择file 2.再选择file目录下的Project Structure 3.选择Modules这个选项,再选择到你的项目中,点击... ...4.然后选择Library......5.若配置了tomcat服务器,则会有tomcat这个选项 ...若你没有配置tomcat的话........ -
错误:程序包javax.servlet不存在;错误:程序包javax.servlet.http不存在问题解决办法
2018-01-25 15:18:48在编译servlet程序的时候提示javax.servlet和javax.servlet.http不存在,原因是CLASSPATH路径找不到servlet相关的包,所以会提示错误。 到javax目录下看是否有servlet相关包 发现并没有,说明jdk1.7本身是... -
软件包javax.servlet不存在的解决办法
2019-03-28 15:02:59软件包javax.servlet不存在的解决办法 问题: 外部导入的一个java类文件,引用了tomcat中的servlet-api.jar文件中的javax.servlet.Filter类 找不到, 其原因是java编译器没有找到软件包javax.servlet.Filter。 ... -
jsp 学习笔记( java编译报错:程序包 javax.servlet和javax.servlet.http 不存在)
2022-05-03 14:32:38最近学习javaEE这门...import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Ch1Servlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletRespo -
IDEA2020.1中:java: 程序包javax.servlet不存在
2020-07-23 09:57:42回顾servlet用到Tomcat时出现了一个小错误 解决解决方案: 1、右键项目选择Open module settings 2、选中Libraries,发现我们的maven中没有需要的servlet-api.jar 在tomcat的lib目录中找到jar包并添加 成功 -
解决 IntellijIDEA导入项目后提示javax.servlet不存在
2020-11-19 00:03:19javax.servlet不存在问题的解决 -
IDEA报错:java: 程序包javax.servlet不存在
2019-10-06 22:54:38IDEA报错:java: 程序包javax.servlet不存在 在IDEA中如果报缺少servlet-api.jar和jsp-api.jar这两个包的话,这是因为没有加入tomcat的依赖包。 如下图,在IDEA下,import javax.servlet.*相关的包都是爆红的话,就... -
IDEA报错【Error:(17, 21) java: 程序包javax.servlet不存在】
2019-04-20 10:50:07servlet不存在 Error : ( 18 , 26 ) java : 程序包javax . servlet . http不存在 Error : ( 19 , 26 ) java : 程序包javax . servlet . http不存在 Error : ( 20 , 26 ) java : 程序包javax . servlet .... -
IntelliJ IDEA 出现" java: 程序包javax.servlet不存在、 java: 程序包javax.servlet.annotation"等错误
2019-05-23 19:34:52在IDEA中建立Servlet使用javax.servlet.http.HttpServlet等类时,出现了如下错误: 原因:IntelliJ IDEA 没有导入 servlet-api.jar 这个.jar包,需要手动导入。 导入步骤如下:选中项目,右击选择“Open ... -
idea报错Error:(3, 21) java: 程序包javax.servlet不存在
2020-08-29 08:36:19Error:(3, 21) java: 程序包javax.servlet不存在 报错信息 解决方式 在File中单击Project Structure 点右侧的+ ->JARs or directory,找到本地Tomcat安装路径,进入lib文件夹下选择:jsp-api.jar和servlet-api....