java Servlet que procesa un objeto basado en el input encontrado en una tabla HTML

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Servlet que procesa un objeto basado en el input encontrado en una tabla HTML相关的知识,希望对你有一定的参考价值。

package webbanco.servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import webbanco.business.Equipo;

public class IngresarEquipo extends HttpServlet 
{
  protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException 
  {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String mensaje = "";
    try 
    {
      webbanco.business.Equipo equipo = new Equipo();
          
      equipo.setProcesador(request.getParameter("txt_procesador"));
      equipo.setMemoriaRam(Integer.valueOf(request.getParameter("ddl_ram")));
      equipo.setEspacioEnDiscoDuro(Double.valueOf(request.getParameter("txt_espacio_disco_duro")));
      equipo.setTarjetaDeVideo(request.getParameter("txt_tarjeta_video"));
      equipo.setNumeroIp(Integer.valueOf(request.getParameter("txt_numero_ip_a")
                                        +request.getParameter("txt_numero_ip_b")
                                        +request.getParameter("txt_numero_ip_c")
                                        +request.getParameter("txt_numero_ip_d")));
          
      HttpSession session = request.getSession();
          
      ArrayList<Equipo> departamento = (ArrayList<Equipo>)session.getAttribute("departamento");
      departamento.add(equipo);
      mensaje = "Equipo ingresado exitosamente";
    }
    catch(Exception e)
    {
      mensaje = "Error: "+ e.getMessage();
    }
    finally
    {
      out.println("<script> alert('"+mensaje+"');</script><br>");
      out.println("<p style='font-family: sans-serif'>"
                  + "<a href='ingresar_equipo.jsp'>Ingresar otro equipo</a>"
                  + "<br>"
                  + "<a href='listarDepartamento.jsp'>Ver listado</a></p>");
    }
  }
  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException 
  {
    processRequest(request, response);
  }
  @Override
  protected void doPost(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException 
  {
    processRequest(request, response);
  }
  @Override
  public String getServletInfo() 
  {
    return "Short description";
  }
}
1) Crear un nuevo Servlet

2) Sacar de los parámetros de try() el código PrintWriter out = response.getWriter();

3) Crear un string  mensaje = "";
    
4) En el try{} crear un nuevo Objeto (webbanco.business.Equipo equipo = new Equipo();)

5) Setear las características directas del Objeto utilizando setters y llamando parámetros del formulario web
      equipo.setProcesador(request.getParameter("txt_procesador"));
      
6) Setear las características de colaboración del objeto utilizando getCaracteristica().setParametro();
      
7) Crear una nueva HttpSession con HttpSession session = request.getSession();
          
8) Inicializar un nuevo objeto que recibirá los parametros obtenidos desde el formulario.

8.1) En el caso de un ArrayList utilizar este formato:
  ArrayList<Equipo> departamento = (ArrayList<Equipo>)session.getAttribute("departamento");

8.2) Es necesario hacer un casting para crear un objeto session con el nombre especificado en el servlet de creación
  
9) Si es un ArrayList, agregar el elemento recién creado a la lista con .add()
      departamento.add(equipo);
      
10) Lanzar un mensaje 
      mensaje = "Equipo ingresado exitosamente";

11) En el catch, capturar cualquier error obtenido desde el constructor del objeto:
    catch(Exception e) { mensaje = "Error: "+ e.getMessage(); }
    
12) En el finally, lanzar un mensaje javascript entregando feedback
      out.println("<script> alert('"+mensaje+"');</script><br>");
      
13) Mostrar links para ingresar un nuevo Objeto o ver la lista de objetos creados:
      out.println("<p style='font-family: sans-serif'>"
                  + "<a href='ingresar_equipo.jsp'>Ingresar otro equipo</a>"
                  + "<br>"
                  + "<a href='listarDepartamento.jsp'>Ver listado</a></p>");
//Constructor de objeto:
  project.business.Objeto objeto = new Objeto();

//Setter para características del objeto
  Objeto.setCaracterística(request.getParameter("web_element"));

//Setter para característica obtenida por colaboración
  Objeto.getCaracteristicaCalaboracion().setCaracteristicaColaboracion("web_element");
  
//Crear HttpSession 
  HttpSession session = request.getSession();
  
//Creacion de objeto y casting para guardar características:
  request.getSession().setAttribute("nombre", objeto);

//Creacion de ArrayList y castiing para guardar características
  ArrayList<Objeto> objetos = (ArrayList<Objeto>)session.getAttribute("nombre");
  
//Agregación de objetos al ArrayList
  objetos.add(objeto);
  
//Mensaje javascript
  out.println(<script>alert('mensaje');</script><br>);
  
  

以上是关于java Servlet que procesa un objeto basado en el input encontrado en una tabla HTML的主要内容,如果未能解决你的问题,请参考以下文章

Method has too many Body parameters: public abstract java.util.List com.yun.client.DemandClient.que(

Java每日一题20161130

Leetcode 117

servlet中导入包java.servlet.*的问题

初入Java后端之Servlet

Java学习servlet 的引入