Recordando de um projeto Java Web (Servlets e JSP)

Download do projeto: MyWeb.war (obs: este arquivo pode ser aberto com winzip ou winrar)
1) Copie este arquivo na pasta [webapps] do tomcat. No meu caso foi em:

[C:\Arquivos de programas\apache-tomcat-7.0.11\webapps]

2) Inicie o seu tomcat (para tanto de uma olhada na documentação do mesmo em: http://tomcat.apache.org/tomcat-3.3-doc/tomcat-ug.html#starting_tomcat).

3) Acesse a aplicação ativando através da seguinte URL de seu navegador:

http://localhost:8080/MyWeb

  1. Aqui temos a definição da página inicial “índex.jsp” da aplicação web. Ela possuirá um grupo de radio-buttons e um grupo de check-boxes:

    <%@page contentType=”text/html” pageEncoding=”UTF-8″%>

    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

    http://www.w3.org/TR/html4/loose.dtd“>

    <html>

    <head>

    <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>

    <title>Bom dia Pedro</title>

    </head>

    <body>

    <h1>Bom dia Pedro</h1>

    <form action=”MyServlet” method=”POST”>

    <input type=”radio” name =”opt” value=”opt1″/>Option1<br>

    <input type=”radio” name =”opt” value=”opt2″/>Option2<br>

    <input type=”radio” name =”opt” value=”opt3″/>Option3<br>

    <br>

    <br>

    <input type=”checkbox” name=”chk” value=”chk1″/>Checkbox1<br>

    <input type=”checkbox” name=”chk” value=”chk2″/>Checkbox2<br>

    <input type=”checkbox” name=”chk” value=”chk3″/>Checkbox3<br>

    <input type=”checkbox” name=”chk” value=”chk4″/>Checkbox4<br>

    <input type=”submit” value=”submeter”/>

    </form>

    </body>

    </html>

  2. Aqui se encontra a definição do servlet “MyServlet” que receberá a submissão do formulário da página acima:

    package com.pedroabs;

    import java.io.IOException;

    import java.util.Enumeration;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import java.util.Map;

    public class MyServlet extends HttpServlet {

    @Override

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {


    // #### 1 ####

    // recupera o parametro “opt”

    String opt = request.getParameter(“opt”);

    // seta um atributo para a pagina resposta.jsp

    request.setAttribute(“opt”, opt);


    // #### 2 ####

    // recupera o parametro “chk”

    String[] chk = request.getParameterValues(“chk”);

    // seta um atributo para a pagina resposta.jsp

    request.setAttribute(“chk”, chk);


    // #### 3 ####

    // recupera uma enumeracao contendo todos os parametros

    Enumeration<String> en = request.getParameterNames();

    // seta um atributo para a pagina resposta.jsp

    request.setAttribute(“params”, en);


    // #### 4 ####

    // recupera um mapa contendo os nomes de parametros como key e

    // uma String[] como valor

    Map map = request.getParameterMap();

    // seta um atributo para a pagina resposta.jsp

    request.setAttribute(“map”, map);

    // redireciona para a pagina resposta.jsp

    request.getRequestDispatcher(“resposta.jsp”).forward(request, response);

    }

    }

  3. Abaixo se encontra o arquivo “web.xml” que define o padrão de URL que acessará o servlet:

    <?xml version=”1.0″ encoding=”UTF-8″?>

    <web-app version=”3.0″ xmlns=”http://java.sun.com/xml/ns/javaee” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221; xsi:schemaLocation=”http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd“>

    <servlet>

    <servlet-name>MyServlet</servlet-name>

    <servlet-class>com.pedroabs.MyServlet</servlet-class>

    </servlet>

    <servlet-mapping>


    <servlet-name>MyServlet</servlet-name>

    <url-pattern>/MyServlet</url-pattern>

    </servlet-mapping>

    <session-config>

    <session-timeout>

    30

    </session-timeout>

    </session-config>

    </web-app>

  4. Abaixo a página de resposta:

    <%@page import=”java.util.Map”%>

    <%@page import=”java.util.Enumeration”%>

    <%@page contentType=”text/html” pageEncoding=”UTF-8″%>

    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”

    http://www.w3.org/TR/html4/loose.dtd“>

    <html>

    <head>

    <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>

    <title>Resposta</title>

    </head>

    <body>

    <h1>Resposta</h1>

    <b>#1
    Das radio buttons foi selecionado:</b><br>

    <%

    String opt = (String) request.getAttribute(“opt”);

    out.print(opt + “<br>”);

    %>

    <b>#2
    Das checkboxes foi / foram selecionados:</b><br>

    <%

    String[] chks = (String[]) request.getAttribute(“chk”);

    for (String chk : chks) {

    out.print(chk + “<br>”);

    }

    %>

    <b>#3
    Os parametros contidos na página são:</b><br>

    <%

    Enumeration<String> en = (Enumeration<String>) request.getAttribute(“params”);

    while (en.hasMoreElements()) {

    String str = en.nextElement();

    System.out.println(str);

    out.print(str + “<br>”);

    }

    %>

    <b>#4
    Os valores mapeados para cada parâmetro é:</b><br>

    <%

    Map<String, String[]> map = (Map<String, String[]>) request.getParameterMap();

    for (Map.Entry<String, String[]> entry : map.entrySet()) {

    out.print(entry.getKey() + “<br>”);

    String[] values = entry.getValue();

    for (String value : values) {

    out.print(“- ” + value + “<br>”);

    }

    }

    %>

    </body>

    </html>

  5. Ilustração



Esta entrada foi publicada em Servlet & JSP com as etiquetas . ligação permanente.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s