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. python - django 里自定義的 login 方法,如何使用 login_required()2. android-studio - Android 動態壁紙LayoutParams問題3. sql語句如何按or排序取出記錄4. angular.js - 不適用其他構建工具,怎么搭建angular1項目5. 主從備份 - 跪求mysql 高可用主從方案6. python如何不改動文件的情況下修改文件的 修改日期7. mysql優化 - mysql count(id)查詢速度如何優化?8. css3 - [CSS] 動畫效果 3D翻轉bug9. mysql主從 - 請教下mysql 主動-被動模式的雙主配置 和 主從配置在應用上有什么區別?10. node.js - node_moduls太多了
