programmera.net -> jsp -> normal för utskrift | info@programmera.net |
config
1. Det implicita objektet config 2. Hämta servletspecifika initparametrar |
1. Det implicita objektet config
Är av typen ServletConfig. Objeketet används för att läsa initparametrar specifika för en servlet/JSP-sida. Det enda sättet att komma åt objektet application i en servlet är via config.getServletContext().
2. Hämta servletspecifika initparametrar
Objektet config kan användas för att läsa initparametrar för en specifika för en servlet/JSP-sida. I exemplet nedan visas hur man gör detta:
Vi sparar filen till sökvägen CATALINA_HOME/webapps/programmera/classes/ReadInitParam.java och kompilerar. Sedan lägger vi till följande i web.xml:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ReadInitParam extends HttpServlet{
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException
{
ServletConfig config=getServletConfig();
java.util.Enumeration names=config.getInitParameterNames();
String val,var;
PrintWriter out=res.getWriter();
out.println("<HTML>");
out.println("<BODY>");
out.println("<H1>ReadInitParam</H1>");
while(names.hasMoreElements()){
var=(String) names.nextElement();
val=config.getInitParameter(var);
out.println(var+"="+val+"<BR/>");
}
out.println("</BODY>");
out.println("</HTML>");
}
}
För att web.xml ska läsas startar vi om servern. När vi provkör rip ser vi följande:
<servlet>
<servlet-name>readInitParam</servlet-name>
<servlet-class>ReadInitParam</servlet-class>
<init-param>
<param-name>A</param-name>
<param-value>56</param-value>
</init-param>
<init-param>
<param-name>B</param-name>
<param-value>67</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>readInitParam</servlet-name>
<url-pattern>/rip</url-pattern>
</servlet-mapping>