2017-04-12 10 views
0

Ich sehe viele Servlet-Beispiele, die die getServletInfo() -Methode überschreiben (und ich tue dies regelmäßig selbst). Wie auch immer, ich frage mich, ob es etwas nützt, dies zu tun? Ich würde zum Beispiel erwarten, dass die Tomcat-Manager-Anwendung solche Informationen in der Liste der Anwendungen oder der Statusseite anzeigt, aber das ist nicht der Fall. Also:Was ist die Verwendung von überschreiben javax.servlet.Servlet.getServletInfo()?

  • alle Webserver/generische Management-Anwendung tatsächlich diese Informationen anzeigen?
  • andere Möglichkeiten, diese Information/Methode regelmäßig zu nutzen?

Antwort

-1

public abstract String getServletInfo() Es ist eine abstrakte Methode also, wenn Sie UserDefineServlet mit Arbeitsgeräte javax.servlet.Servlet Schnittstelle erstellen möchten, so dass Sie nicht implementierte Methode getServletInfo() in dieser Methode überschreiben, müssen Sie bestimmen, Informationen über Servlet. Gibt eine Zeichenfolge zurück, die Informationen zum Servlet enthält, z. B. Autor, Version und Copyright. Da diese Methode aufgerufen werden kann, um solche Informationen in einem Verwaltungstool anzuzeigen, bei dem es sich um eine Servlet-Engine-Spezifikation handelt, sollte die von dieser Methode zurückgegebene Zeichenfolge Nur-Text sein und kein Markup enthalten. Beispiel: import java.io. ;
Import javax.servlet.
;

public class First implements Servlet{ 
ServletConfig config=null; 

public void init(ServletConfig config){ 
this.config=config; 
System.out.println("servlet is initialized"); 
} 

public void service(ServletRequest req,ServletResponse res) 
throws IOException,ServletException{ 

res.setContentType("text/html"); 

PrintWriter out=res.getWriter(); 
out.print("<html><body>"); 
out.print("<b>hello simple servlet</b>"); 
out.print("</body></html>"); 

} 
public void destroy(){System.out.println("servlet is destroyed");} 
public ServletConfig getServletConfig(){return config;} 
public String getServletInfo(){return "copyright 2007-1010";} 

} 
+2

Bitte denken Sie daran, Ihre Antwort entsprechend zu formatieren. –

+0

Es ist nicht abstrakt in 'GenericServlet', und daher auch nicht in' HttpServlet', so dass Sie es in der Praxis nicht überschreiben müssen. – EJP

+0

Ich erwähnte, wenn Benutzer Serve letlet erstellen möchte mit den Schnittstellen javax.servlet.Servlet direkt implementiert. Servlet-Schnittstelle definiert Methoden, die alle Servlets implementieren müssen. Die Servlet-Schnittstelle ist die Root-Schnittstelle der Servlet-Klassenhierarchie. Alle Servlets müssen die Servlet-Schnittstelle entweder direkt oder indirekt implementieren. Die GenericServlet-Klasse der Servlet-API implementiert die Servlet-Schnittstelle. Zusätzlich zur Servlet-Schnittstelle. –