package javacodebook.server.servletbasics.initparam;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 *  Ein einfaches Beispiel, wie Servlet-Initialisierungsparameter ausgelesen und
 *  verwendet werden.
 */
public class InitParamServlet extends HttpServlet {

    private String user;
    private String tmpdir;
    private String imgdir;

    /** Beim ersten Laden eines Servlets wird es vom Servlet-Container
     *  initialisiert. Dabei wird ein Objekt der Klasse ServletConfig
     *  übergeben, das die in der web.xml angegebenen Parameter enthält.
     */
    public void init(ServletConfig config) throws ServletException {
        //sehr wichtig, damit das Servlet ordnungsgemäss initialisiert wird
        super.init(config);
        //jetzt kommen die eigenen Aktionen
        this.user = config.getInitParameter("user");
        this.tmpdir = config.getInitParameter("tmpdir");
        this.imgdir = config.getServletContext().getInitParameter("image_dir");
    }

    /** Ausgabe der Parameter */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, java.io.IOException {
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter();
        out.println("user = " + user + "<br>");
        out.println("tmpdir = " + tmpdir + "<br>");
        out.println("image dir = " + imgdir + "<br>");
        out.close();
    }
}
