2017-09-17 6 views
0

J'ai créé une servlet qui a fonctionné sur Eclipse mais qui me donneServlet fonctionne sur Eclipse mais pas sur le serveur Tomcat "La ressource demandée n'est pas disponible."

"La ressource demandée n'est pas disponible."

Lorsque l'on accède sur mon serveur tomcat à http://cs3.calstatela.edu:8080/cs3220stu48/Labs/RequestSummary fonctionne encore lorsque sur Eclipse http://localhost:8080/cs3220stu48/Labs/RequestSummary Voici mon code Servlet

package CS3220; 


import java.io.IOException; 
import java.io.PrintWriter; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.util.Date; 
import java.util.Enumeration; 
import java.util.Map; 


@WebServlet("/Labs/RequestSummary") 
public class RequestSummary extends HttpServlet { 
private static final long serialVersionUID = 1L; 

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    response.setContentType("text/html"); 
    PrintWriter out = response.getWriter(); 
    Date date = new Date(); 
    out.println("<!DOCTYPE html>"); 
    out.println("<html lang =\"en\">"); 
    out.println(" <head>"); 
    out.println("  <link rel= \"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\" integrity=\"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u\" crossorigin=\"anonymous\">"); 
    out.println("  <meta charset = \"UTF-8\">"); 
    out.println("  <title>Request Summary</title>"); 
    out.println(" </head>"); 
    out.println(" <body>"); 
    out.println( "<div class=\"container\">"); 
    out.println("   <div class =\"jumbotron\">"); 
    out.println("    <h1>Request Summaray</h1>"); 
    out.println("   <p>"); 
    out.println(    "The following " + "<code>" + request.getMethod() + "</code>" + " request was sent on " + "<code>" + date.toString() + "</code>"); 
    out.println("   </p>"); 
    out.println("   </div>"); 
    out.println(   "<h3>Request Parameters</h3>"); 
    out.println(    "<table class = \"table table-bordered table-striped table-hover\">"); 
    out.println(     "<thead>"); 
    out.println(      "<tr>"); 
    out.println(       "<td>Parameter Name</td>"); 
    out.println(       "<td>Parameter Value</td>"); 
    out.println(      "</tr>"); 
    out.println(     "</thead>"); 
    Map<String, String[]> Map=request.getParameterMap(); 
    for(String key:Map.keySet()){ 
     String[] Parameter=(String[])Map.get(key); 
      out.println("<tr>"); 
      out.println("<td>" + key + "</td>"); 
      out.println("<td>"); 
     for(String value:Parameter){ 
      out.println("<span class=\"label label-info\">"+ value + "</span>"); 
     } 
      out.println("</td>"); 
      out.println("</tr>"); 
    } 
    out.println(    "</table>"); 
    out.println(   "<h3>Header Information</h3>"); 
    out.println(    "<table class = \"table table-bordered table-striped table-hover\">"); 
    out.println(     "<thead>"); 
    out.println(      "<tr>"); 
    out.println(       "<td>Header Name</td>"); 
    out.println(       "<td>Header Value</td>"); 
    out.println(      "</tr>"); 
    out.println(     "</thead>"); 
     Enumeration<String> e = request.getHeaderNames(); 

     while(e.hasMoreElements()) { 
      String name = e.nextElement(); 
      String value = request.getHeader(name); 
      out.println("<tr>"); 
      out.println("<td>" + name + "</td>"); 
      out.println("<td>"+ value + "</td>"); 
      out.println("</tr>"); 
      } 

    out.println(    "</table>"); 
    out.println("  </div>"); 
    out.println(" </body>"); 
    out.println("</html>"); 
} 



protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    doGet(request, response); 
} 

} 

Et 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>cs3220stu48</display-name> 
    <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> 

On m'a dit par certains camarades de classe que je ne devrais pas avoir à modifier mon fichier xml et aurait juste besoin de modifier mon modèle d'URL, mais je ne suis pas trop sûr de ce qu'il faut faire avec. Je suis également sûr que je l'ai téléchargé dans les bons répertoires. Le servlet dans le dossier web-inf/classes et le xml dans web-inf. C'est la première fois que je travaille avec des servlets et j'aimerais recevoir de l'aide et des conseils pour l'avenir.

EDIT: J'ai aussi réalisé à côté de mon code, l'endroit où j'ai mis mon fichier java pourrait être le problème. J'ai mis web.xml dans WEB-INF et RequestSummary.java dans WEB-INF/classes

EDIT 2: Aussi, il semble que mon dossier de construction est vide sur Eclipse, je crois qu'il devrait y avoir un dossier classes là-bas, je J'ai vérifié mon chemin de compilation et cela a conduit à des constructions/classes par défaut

+0

Quelle est votre version de tomcat et votre numéro de port? – Sudhakar

+0

@Sudhakar La version est 8.0.32 Le port est 8080 – STRAN

Répondre

0

Je téléchargeais le fichier de classe dans le dossier classes mais j'aurais dû télécharger le fichier de classe ainsi que le dossier trouvé dans build/classes. J'ai paniqué et j'ai supposé que c'était mon code mais c'était un problème de répertoire.