JAVA 9 - Alura Servlets, JSP, JSTL Flashcards
Um projeto chamado superservlet que possui o arquivo bem-vindo.html criado em WebContent através do endereço http://localhost:8080/bem-vindo.html está dando erro ao acessar por quê?
Falta a pasta do projeto
http://localhost:8080/superservlet/bem-vindo.html.
import javax.servlet.1)_____.______
public class OiMundoServlet extends 2)____
Complete para criar uma Servlet para HTTP
1) http.HttpServlet
2) HTTPServlet
Explique o método service abaixo
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp)
É uma sobrescrição do método da classe mãe para manipular request e response.
Para que server anotações, como é indicado uma?
configuração voltada para o compilador, indicada por @
Para que serve a anotação:
@WebServlet(urlPatterns=”/oi”)
fornecer um apelido no endereço URL, que permite chamar no browser pelo apelido
Quais são as duas formas de devolver uma resposta no HTTP?
Binário através do getOutPutStream()
HTML através do getWriter()
O getWriter() devolve um objeto chamado 1) _____ do pacote 2_____
1) PrintWriter
2) java.io
Qual método está sendo utilizado? Qual a função do ? e &
localhost:8080/gerenciador/novaEmpresa?nome=Alura&cnpj=123
Método GET
? indica inicio dos parâmetros e & um novo parâmetro.
Qual método é utilizado para ler um parâmetro do método get
Método getParameter (“nome_do_parâmetro”)
String nomeEmpresa = request.getParameter(“nome”);
Como seria o método getParameter para esses dois atributos?
http://localhost:8080/shopping-cart?productId=10&discount=20.20
String productID = req.getParameter(“productId”);
String discount = req.getParameter(“discount”);
Qual a diferença entre método get e post
get é utilizado para enviar uma requisição e obter uma resposta do servidor.
post é para cadastrar algo no servidor. Não vai explícito na URL os valores.
O que faz o código abaixo, qual método e quais parâmetros são enviados:
<form>
<input></input>
<input></input>
<input></input>
</form>
Chama uma servlet login, método get (padrão), login e senha
Quais são verdadeiras:
1) GET foi pensado para acessar algum recurso.
2) POST é mais seguro do que GET.
3) POST foi pensado para criar algum recurso.
4) GET esconde os parâmetros da URL.
5) GET gera problemas quando precisamos enviar muitas informações.
1,3,5
Qual a desvantagem do método service e qual medida ser tomada
Método service não permite especificar qual método deverá obrigatoriamente ser usado. Para isso deve-se utilizar o método doGet() ou doPost()
Verdadeiro.
[v/F] O código a seguir roda sem problema:
double discount = req.getParameter(“discount”);
F, o retorno de getParameter é sempre uma string
Em uma página JSP é 1)___
1) <% %>
Qual erro no seguinte código?
Empresa “ + <% out.println(nomeEmpresa) %> + “ cadastrada com sucesso
Falta ; no scriptlet
<% out.println(nomeEmpresa); %>
[V/F] JSP é uma tecnologia que renderiza as páginas no servidor e também no navegador quando o HTML é recebido.
Falso, as páginas são renderizadas no servidor.
Qual atalho pode ser utilizado para o comando:
<%out.println(nome);%>
<%= nome%>
Ao inserir um dado através de um form, uma servlet é chamada para executar a ação, e uma página JSP deve ser chamada posterior a execução da servlet para a confirmação da ação, como fazê-la?
Através da chamada do método getRequestDispatcher do objeto request indicando o nome da página e posteriormente o método forward:
RequestDispatcher rd = request.getRequestDispatcher(“/novaEmpresaCriada.jsp”);
request.setAttribute(“empresa”, empresa.getNome());
rd.forward(request, response);
Sobre o método getRequestDispatcher()
É obtido de um HttpServletResponse através do método getRequestDispatcher().
Como é feito um import em uma página JSP
<%@ page import=”java.util.List”%>
O seguinte código
<%= nome%> equivale a
${nome}
Sim, é uma expression Language
Como é a importação de uma taglib
<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>
Qual é a estrutura for each em JSTL
<c:forEach>
<li>${empresa.nome }</li>
</c:forEach>
Qual a estrutura taglib para teste?
<c:if>
Empresa ${ empresa } cadastrada com sucesso!
</c:if>
<c:if>
Nenhuma empresa cadastrada!
</c:if>
Qual vai ser a impressão em:
<c:forEach>
</c:forEach>
1
3
5
7
9