2017-04-01 185 views
1

當我打開我的項目,我得到的錯誤:的Servlet應該有一個映射和無法解決的Servlet

Servlet should have a mapping

和其他錯誤:

Cannot resolve Servlet

enter image description here

但在下面的代碼可以看到每個servlet都有它的映射:

在我的web.xml中,我有8 servlet和servlet的每一個都有其對應的映射:

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>loginservlet</servlet-name> 
    <servlet-class>com.sam.servlet.loginservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>changeservlet</servlet-name> 
    <servlet-class>com.sam.servlet.changeservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>Searchservlet</servlet-name> 
    <servlet-class>com.sam.servlet.Searchservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>borrowservlet</servlet-name> 
    <servlet-class>com.sam.servlet.borrowservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>mealselectservlet</servlet-name> 
    <servlet-class>com.sam.servlet.mealselectservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>mealaddservlet</servlet-name> 
    <servlet-class>com.sam.servlet.mealaddservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>mealdeletedservlet</servlet-name> 
    <servlet-class>com.sam.servlet.mealdeletedservlet</servlet-class> 
    </servlet> 
    <servlet> 
    <description>This is the description of my J2EE component</description> 
    <display-name>This is the display name of my J2EE component</display-name> 
    <servlet-name>mealupdateservlet</servlet-name> 
    <servlet-class>com.sam.servlet.mealupdateservlet</servlet-class> 
    </servlet> 

<!-- mapping --> 

    <servlet-mapping> 
    <servlet-name>loginservlet</servlet-name> 
    <url-pattern>/loginservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>changeservlet</servlet-name> 
    <url-pattern>/changeservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>Searchservlet</servlet-name> 
    <url-pattern>/Searchservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>borrowservlet</servlet-name> 
    <url-pattern>/borrowservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>mealselectservlet</servlet-name> 
    <url-pattern>/mealselectservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>mealaddservlet</servlet-name> 
    <url-pattern>/mealaddservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>mealdeletedservlet</servlet-name> 
    <url-pattern>/mealdeletedservlet</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>mealupdateservlet</servlet-name> 
    <url-pattern>/mealupdateservlet</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 
+0

看起來沒問題,你在用哪個IDE? –

+0

@ammoQ,我用IntelliJ IDEA – 244boy

+1

你用什麼IntelliJ IDEA版本? https://youtrack.jetbrains.com/issue/IDEA-151597#comment=27-1326420有幫助嗎? – CrazyCoder

回答

1

這是一個已經固定在目前的IntelliJ IDEA版本的已知問題。對於舊版本there is a workaround

please open Project Structure | Modules | Web Facet and add your web.xml as Deployment Descriptor.