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>
相关文章:
1. docker-compose中volumes的问题2. debian - docker依赖的aufs-tools源码哪里可以找到啊?3. docker网络端口映射,没有方便点的操作方法么?4. PHP中的$this代表当前的类还是方法?5. docker不显示端口映射呢?6. angular.js - angular内容过长展开收起效果7. golang - 用IDE看docker源码时的小问题8. python的MySQLdb包rollback对create语句无效吗?9. html - 这种错位的时间轴怎么布局,然后用css实现?10. javascript - 用swiper.js实现h5多篇文章滑动 点击文章跳转全文是另外的页面 点击返回滑动界面怎么定位到相应的swiper_slide