您的位置:首页技术文章
文章详情页

IntelliJ IDEA无法解析导入javax.servlet*;

【字号: 日期:2024-05-15 14:04:48浏览:29作者:猪猪
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决IntelliJ IDEA无法解析导入javax.servlet*;?

servlet-api.jar是服务器的一部分(在本例中为Tomcat)。您需要在POM中声明对该jar的引用,并将其标记为“提供”范围,或者(如果由于某种原因未使用maven)则需要将其添加到类路径(您的Web模块库)中。项目)。

重新安装HD后,您的Tomcat安装版本或maven存储库可能会有所不同。这似乎是一个环境问题。

解决方法

因此,我的项目运行良好,因此决定安装新的硬盘驱动器(SSD),但现在无法正常运行。

我正在使用Intellij,并且所有这些导入都有问题。

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.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;

他们说无法解析符号。

同样在我的web.xml中,我有这个。

<filter> <filter-name>LoginFilter</filter-name> <filter-class>com.mkyong.LoginFilter</filter-class></filter>

它指出

com.mkyong.LoginFilter is not assignable to javax.servlet.Filter

我将包含我的web.xml,以防万一有人需要它。

<?xml version='1.0' encoding='UTF-8'?><web-app xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='http://java.sun.com/xml/ns/javaee' xmlns:web='http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd' xsi:schemaLocation='http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd' version='2.5'><display-name>JavaServerFaces</display-name><resource-ref><description>MySQL Datasource example</description><res-ref-name>jdbc/mkyongdb</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth></resource-ref><!-- Change to 'Production' when you are ready to deploy --><context-param><param-name>javax.faces.PROJECT_STAGE</param-name><param-value>Development</param-value></context-param><!-- Welcome page --><welcome-file-list><welcome-file>faces/default.xhtml</welcome-file></welcome-file-list><!-- JSF mapping --><servlet><servlet-name>Faces Servlet</servlet-name><servlet-class>javax.faces.webapp.FacesServlet</servlet-class><load-on-startup>1</load-on-startup></servlet> <!-- Map these files with JSF --> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping><servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.faces</url-pattern></servlet-mapping><servlet-mapping><servlet-name>Faces Servlet</servlet-name><url-pattern>*.xhtml</url-pattern></servlet-mapping><filter> <filter-name>LoginFilter</filter-name> <filter-class>com.mkyong.LoginFilter</filter-class></filter><!-- Set the login filter to secure all the pages in the /secured/* path of the application --><filter-mapping> <filter-name>LoginFilter</filter-name> <url-pattern>/secured/*</url-pattern></filter-mapping><!-- By default go to secured welcome page --><welcome-file-list> <welcome-file>secured/welcome.xhtml</welcome-file></welcome-file-list></web-app>

这是我现在得到的错误。

javax.servlet.ServletException: Servlet.init() for servlet Faces Servlet threw exceptionorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:277) org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2381) org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2370) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745)root causejava.lang.IllegalStateException: Application was not properly initialized at startup,could not find Factory: javax.faces.context.FacesContextFactoryjavax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:800)javax.faces.FactoryFinder.getFactory(FactoryFinder.java:302)javax.faces.webapp.FacesServlet.init(FacesServlet.java:186)org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:277)org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2381)org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2370)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:745)

最初我也使用apache tomcat 8,然后我认为这可能是问题,我将其更改为7,然后更改为6。如果您需要其他任何内容,请告诉我!

这是请求的POM.xml。

<project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd'> <modelVersion>4.0.0</modelVersion> <groupId>com.mkyong.common</groupId> <artifactId>JavaServerFaces</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>JavaServerFaces Maven Webapp</name> <url>http://maven.apache.org</url><repositories> <repository> <id>java.net.m2</id> <name>java.net m2 repo</name> <url>http://download.java.net/maven/2</url> </repository></repositories><dependencies> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>3.2.5.RELEASE</version> </dependency><!-- MySQL database driver --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.9</version></dependency><!-- Spring framework --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> <version>2.5.6</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>2.5.6</version></dependency><!-- For Servlet Container like Tomcat --><!-- http://download.java.net/maven/2 --><dependency> <groupId>com.sun.faces</groupId> <artifactId>jsf-api</artifactId> <version>2.1.0-b03</version></dependency><!-- EL 2.2 to support method parameter in EL --><dependency> <groupId>org.glassfish.web</groupId> <artifactId>el-impl</artifactId> <version>2.2</version></dependency><!-- http://repo1.maven.org/maven2/ --><dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version></dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency></dependencies> <build> <finalName>JavaServerFaces</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.1</version> <configuration> <source>1.6</source> <target>1.6</target> </configuration> </plugin></plugins>

标签: java
相关文章: