swedeMedlem sedan feb. 2004230 inlägg Håller så sakteliga på att komma igång med servlets och har nu fastnat i att skicka parametrar från web.xml till servlets.
Jag tänkte definera db uppgifterna i web.xml så jag enkelt kan ändra uppgifterna utan att kompilera om en massa servlets.
I min web.xml har jag skrivit:
<init-param>
<!-- DB initialisation parameters -->
<param-name>db.host</param-name><param-value>localhost</param-value>
<param-name>db.name</param-name><param-value>test</param-value>
<param-name>db.user</param-name><param-value>test</param-value>
<param-name>db.pass</param-name><param-value>test</param-value>
</init-param>
Och i Servletens init ser ut som följer:
public void init() {
// Get DB configuration from Init parameters
host = getInitParameter("db.host");
db = getInitParameter("db.name");
user = getInitParameter("db.user");
pass = getInitParameter("db.pass");
}
Men jag får bara null som svar från getInitParameter..
Vad har jag missat?
Jag vill att alla mina servlets ska kunna komma åt dessa parametrar.
Testa med följande kod:
public void init(ServletConfig config) throws ServletException
{
// Get DB configuration from Init parameters
host = config.getInitParameter("db.host");
db = config.getInitParameter("db.name");
user = config.getInitParameter("db.user");
pass = config.getInitParameter("db.pass");
}
eller om du inte vill hämta dem i init-metoden:
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
// Get DB configuration from Init parameters
host =getServletConfig().getInitParameter("db.host");
db = getServletConfig().getInitParameter("db.name");
user = getServletConfig().getInitParameter("db.user");
pass = getServletConfig().getInitParameter("db.pass");
}
jmeMedlem sedan maj 20012 237 inlägg Jag har det såhär i min Java-kod:
String t = getServletContext().getInitParameter("ACTION");
web.xml:
<context-param>
<param-name>ACTION</param-name>
<param-value>blablabla</param-value>
</context-param>
ViktorMedlem sedan aug. 20021 752 inlägg Det kan ju vara lite overkill att bara använda context parametrar när de bara ska användas i en servlet. Det bästa är att kombinera servlet parametrar och context parametrar :)
/Viktor
swedeMedlem sedan feb. 2004230 inlägg Men var ska man placera DB connections parametrarna?
Det är ju flera servlets som kommer att använda sig av dem?
Ska man definera dem för varje servlet?
ViktorMedlem sedan aug. 20021 752 inlägg Om flera servlets ska ha samma parameter så kan det vara bra att lägga den som en context parameter.
/Viktor