2015-12-24 1 views
-1

J'ai écrit une application web dynamique très simple dans Eclipse Mars (4.5.1) mais je ne peux pas commencer le serveur Tomcat d'Eclipse. Voici la cause de l'erreur:IllegalArgumentException: Les servlets nommés [myservlet] et [MyServlet] sont tous deux mappés sur le modèle d'URL [/ MyServlet] qui n'est pas autorisé.

Caused by: java.lang.IllegalArgumentException: The servlets named [myservlet] and [MyServlet] are both mapped to the url-pattern [/MyServlet] which is not permitted 
     at org.apache.tomcat.util.descriptor.web.WebXml.addServletMapping(WebXml.java:308) 
     at org.apache.catalina.startup.ContextConfig.processAnnotationWebServlet(ContextConfig.java:2342) 
     at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2024) 
     at org.apache.catalina.startup.ContextConfig.processAnnotationsWebResource(ContextConfig.java:1918) 
     at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1139) 
     at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:771) 
     at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305) 
     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) 
     at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 6 more 

J'ai suivi ces bibliothèques étapes- de addeding dans Propriétés -> Chemin de génération Java -> Ajouter Bibliothèques -> Runtime Server -> Apache. Après cela, j'ai ajouté Windows -> Préférences -> Serevr -> Environnements d'exécution -> Apache. Tomcat v8.0 Server est parfaitement à partir de ** C: \ Program Files \ Apache Software Foundation \ Tomcat 8.0 \ bin **.

Mon 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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>2J2EEProcessingFromData</display-name> 

    <servlet> 
    <servlet-name>myservlet</servlet-name> 
    <servlet-class>Testing</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>myservlet</servlet-name> 
    <url-pattern>/MyServlet</url-pattern> 
    </servlet-mapping> 


    <welcome-file-list> 
    <welcome-file>index.html</welcome-file> 
    <welcome-file>index.htm</welcome-file> 
    <welcome-file>index.jsp</welcome-file> 
    <welcome-file>default.html</welcome-file> 
    <welcome-file>default.htm</welcome-file> 
    <welcome-file>default.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

MyServlrt.java

public class MyServlet extends HttpServlet { 

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ 
    response.setContentType("text/html;charset=ISO-8859-1"); 
    PrintWriter pw = response.getWriter(); 
    try{ 
     String username = request.getParameter("username"); 
     String password = request.getParameter("pass"); 

     pw.write("Hello "+username); 
     pw.write("Your password is:"+password); 
    } catch(Exception e){ 
     e.printStackTrace(); 
    } finally { 
     pw.close(); 
    } 
} 

@Override 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ 
    PrintWriter pw = response.getWriter(); 
    pw.write("doGet called"); 
    processRequest(request, response); 
} 

@Override 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ 
    PrintWriter pw = response.getWriter(); 
    pw.write("doPost called"); 
    processRequest(request, response); 
} 

@Override 
public String getServletInfo(){ 
    return "Shord description"; 
} 

}

+3

C'est juste une erreur sommaire. La vraie erreur est dans la console. Trouvez-le et copyposez-le dans un moteur de recherche décent pour trouver des indices et des réponses. – BalusC

+0

http://www.evernote.com/l/ARtvk_h9OLFGQoNqoVg9kqBtPmwOtj6W5ZA/ – Shiva

Répondre

0

Cliquez sur Servers Tab double-cliquez sur Tomcat puis modifiez HTTP port dans Ports section un y d'autres. ou Ouvrez le fichier Server.xml et modifiez le port du connecteur. Redémarrez le serveur et puis vérifiez

+0

Vous voulez dire Propriétés -> Serveurs? – Shiva

+0

oui. essayez avec cela ou essayez avec la deuxième option –

+0

Le même projet fonctionne dans un autre espace de travail eclipse d'où j'ai importé mais il ne fonctionne pas dans le nouvel espace de travail. Si c'est une autre idée, veuillez suggérer. Merci +1 ajouté. – Shiva

0

C'est drôle parce que je réponds à ma propre question j'ai remplacé l'URL avec l'extension (.java) comme ci-dessous.

<url-pattern>/MyServlet.java</url-pattern> 
 
<url-pattern>/MyServlet</url-pattern>