Thema dieser Dokumentation / Das FirstSpirit 5 Modul- / Komponenten-Modell / Beispiel: Modul-Implementierung einer Komponente vom Typ WebApp / Entwicklung der Webapplikation / Das Servlet
Das Servlet
Das Servlet enthält ebenfalls keinerlei FirstSpirit spezifischen Code. Wird dem Servlet der GET-Parameter name übergeben, so wird der Benutzer mit diesem Namen begrüßt. Zusätzlich gibt das Servlet aus, wie oft es, seit dem letzten Start der Webapplikation, aufgerufen wurde. Um den Umgang mit einer Konfigurationsdatei zu demonstrieren, wird außerdem noch den Wert der Property environment ausgegeben. Der Wert wird über den Konfigurationsdialog des Moduls konfiguriert (siehe Die Konfigurationsdatei).
Listing: Beispiel WebApp – Servlet (Hello World)
package de.espirit.firstspirit.opt.examples.webapp.web;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Properties;
/**
* Simple HelloWorld Servlet
*
* Demonstrates the usage of:
* - GET input param
* - a property file
*/
public class HelloWorldServlet extends HttpServlet {
private int counter = 0;
private String environment = "PRODUCTION";
private Properties p;
public void init() {
InputStream is = getServletContext()
.getResourceAsStream("/WEB-INF/configuration.properties");
Properties p = new Properties();
try {
p.load(is);
environment = p.getProperty("environment");
final String counterInitialValue = p.getProperty("counterInitialValue");
counter = Integer.parseInt(counterInitialValue);
} catch (IOException e) {
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
protected void doGet(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.println("Environment is set to: " + environment);
if(null != request.getParameter("name")) {
writer.println(new StringBuilder().append("Hello")
.append(request.getParameter("name")).append("!").toString());
} else {
writer.println("Hello Stranger!");
}
counter++;
writer.println(new StringBuilder().append("This servlet has been called ")
.append(counter).append(" times.").toString());
}
}