Fala galera blz ?
Seguinte,
Estou estudando Servlet & JSP pelo livro de mesmo nome :lol:
E estou no capítulo 3, aonde tem uma aplicação pequena com MVC, segue abaixo a mesma e minhas dúvidas.
<html>
<body>
<h1 align="center">Selecione seu jogo</h1>
<form method="post" action="Playstation3"><p>
Selecione o melhor jogo do PS3 na sua opinião.<p>
Jogos:
<select name="jogos" size="1">
<option>
<option>Metal Gear Solid 4: Guns Of The Patriots
<option>Call Of Duty 4: Modern Warfare
<option>GTA IV
<option>Gran Turismo 5 Prologue
<option>Uncharted: Drake's Fortune
</select>
<br><br>
<center>
<input type="Submit" value="Enviar">
</center>
</form>
</body>
</html>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>Jogo</servlet-name>
<servlet-class>com.example.web.SelectGames</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Jogo</servlet-name>
<url-pattern>/Playstation3</url-pattern>
</servlet-mapping>
</web-app>
Depois disso Container vai chamar o Servlet, passando para ele oq o "cara" escolheu anterior (No formulario)
package com.example.web;
import com.example.model.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
/**
*
* @author Ademir Franco
*/
public class SelectGames extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
* @param request servlet request
* @param response servlet response
*/
public void doPost (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String g = request.getParameter("jogos");
GameExpert be = new GameExpert();
List result = be.getBrands(g);
request.setAttribute("styles", result); // Adiciona a resposta do modelo ao objeto solicitação
//1º String, 2º Objeto
RequestDispatcher view = request.getRequestDispatcher("result.jsp");
// Pedindo página JSP ???
view.forward(request, response);
}
}
List result = be.getBrands(g);
package com.example.model;
import java.util.*;
/**
*
* @author Ademir Franco
*/
public class GameExpert {
public List getBrands(String jogos) {
List brands = new ArrayList();
if (jogos.equals("")) {
brands.add("Legal você em...Mas esse jogo não existe hehehe.");
}
if (jogos.equals("Metal Gear Solid 4: Guns Of The Patriots")) {
brands.add("Melhor jogo de todos os tempos, sem dúvida nenhuma.");
}
if (jogos.equals("Call Of Duty 4: Modern Warfare")) {
brands.add("Segundo melhor jogo de tiro de todos os tempos, o primeiro é <b>Socom</b>, sem dúvida.");
}
if (jogos.equals("GTA IV")) {
brands.add("GTA IV, único.");
}
if (jogos.equals("Gran Turismo 5 Prologue")) {
brands.add("Melhor jogo de corrida...Exclusividade by Sony.");
}
if (jogos.equals("Uncharted: Drake's Fortune")) {
brands.add("Um dos melhores jogos da nova geração...exclusividade by Sony novamente.");
}
return (brands);
}
}
Vai retornar a resposta para meu Servlet ("Colado acima")
No meu Servlet temos
request.setAttribute("styles", result); // Adiciona a resposta do modelo ao objeto solicitação
//1º String, 2º Objeto
RequestDispatcher view = request.getRequestDispatcher("result.jsp");
// Aqui ele está criando um objeto chamado View do tipo RequestDispatcher e ??? não entendi
view.forward(request, response);
E essa linha ele envia para o JSP a solicitação e a resposta ?
}
}
JSP
<%@ page import="java.util.*" %>
<html>
<head>
<title>JSP Page</title>
</head>
<body>
<h1 align="center">Comentários sobre o Jogo "JSP" </h1>
<p>
<%
List styles = (List)request.getAttribute("styles");
Iterator it = styles.iterator();
while(it.hasNext()) {
out.print("<br>Opinião: " + it.next());
}
%>
</body>
</html>
Oq exatamente faz esses.
Iterator it = styles.iterator();
hasNext
??
Valeu galera e desculpa postar 3000 linhas de código.