Duvida GetInitParameter();

2 respostas
Thalleeees

Opa, tenho um trabalho pra fazer onde o usuário seleciona entre 4 emissoras em um combo box e clica em ok, e posteriormente é apresentada a img da respectiva emissora(que esta salva numa pasta criada dentro da webcontent é claro).

Como eu não sei a sintaxe correta peço-lhes uma ajuda só pra entender como funciona essa sintaxe.

Suponhamos que na web.xml eu tenha o seguinte parametro…

<init-param>  
            <param-name>globo</param-name>   
            <param-value>/Init/WebContent/img/globo.jpg</param-value>   
 </init-param>

E que meu html esteja assim…

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Web II</title>
</head>
<body>
<form method="get" action="Init">
Escolha uma Emissora de TV <br/>


<tr>
	<td>
	<select id="emissoras">
		<option value ="globo" id="globo">Globo</option>
		<option value ="sbt" id="sbt">Sbt</option>
		<option value ="redetv" id="redetv">RedeTV</option>
		<option value ="record" id="record">Record</option>
		</select><br/>
	</td>

<tr>
	<td>
		<input type="submit" value="OK"/>
	</td>
</tr>
</form>
</body>
</html>

E meu Servlet limpo está assim…

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class Init extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
  
    public Init() {
        super();
        // TODO Auto-generated constructor stub
    }


	public void init(ServletConfig config) throws ServletException {
		// TODO Auto-generated method stub
	}

	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		
	}

	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	}

}

Como que eu utilizaria o tal de enumeration e getInitParameter para capturar o caminho da minha emissora e apresentar a respectiva img na tela?

Lembrando que, sou iniciante, e provavelmente minha web.xml possa estar errada, mas é que foi aqui onde eu empaquei.

Grato desde já.

2 Respostas

P

não sei c vc mapeou seu servlet tb, no seu caso não é necessário de enviar esses parametros,

c vc nao mapeou seu servlet faça o seguinte:

<servlet>
     <servlet-name>Init</servlet-name>
     <servlet-class> (caminho do seu servlet)</servlet-classs>
</servlet>

// na sua pagina adicione a tag name no select ex: <select id="emissoras" name="emissora">

//Para vc saber o que pegar da pagina faça o seguinte no seu servlet no método get

if (request.getParameter("emissora").equals("globo")){
    // coloque a foto da globo ex:
    request.getAtributte("imgGlobo", "url da imagem da globo")
}


//de volta a página c vc quiser usar a imagem

${imgGlobo}

não sei c ficou bem claro mais qualquer coisa pergunta ai

Thalleeees

Então, o Servlet ja está mapeado sim.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Init</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>Init</display-name>
    <servlet-name>Init</servlet-name>
    <servlet-class>br.com.unipac.controle.Init</servlet-class>
   		 <init-param>  
            <param-name>globo</param-name>   
            <param-value>/Init/WebContent/img/globo.jpg</param-value>   
 		</init-param>  
  		<init-param>  
            <param-name>sbt</param-name>   
            <param-value>/Init/WebContent/img/s.jpg</param-value>   
  		</init-param> 
 		 <init-param>  
            <param-name>redetv</param-name>   
            <param-value>/Init/WebContent/img/redetv.jpg</param-value>   
 		 </init-param> 
 		 <init-param>  
            <param-name>record</param-name>   
            <param-value>/Init/WebContent/img/record.jpg</param-value>   
  		</init-param> 
  	</servlet>
  <servlet-mapping>
    <servlet-name>Init</servlet-name>
    <url-pattern>/Init</url-pattern>
  </servlet-mapping>
</web-app>

De antemão eu ja te agradeço por ter respondido, de qualquer forma o professor disse que para fazermos isto precisariamos utilizar um objeto do tipo Enumeration, e um método getInitParameter();

E nos posts que pesquisei não consegui absorver nada pra implementar no meu código, por isso eu queria entender primeiro como que funciona esse método, pra dps usar ele, entende?

Criado 4 de setembro de 2011
Ultima resposta 4 de set. de 2011
Respostas 2
Participantes 2