Javafree
Página Inicial do Fórum > JSP / Servlets

MVC DUVIDAS



Criar novo tópico   Responder tópico


  1. IgorZumerle
    Posts:1


    Comment Arrow

    Publicado em: 11/03/2016 07:34:13

    Boa Tarde, sou iniciante em Java e meu problema é que não estou conseguindo listar os dados do banco na minha pagina .jsp irei colocar o código da pagina onde caso eu clique em listar, o controler, modelo, e a pagina onde devera exibir os resultados. Estou utilizando um modelo MVC pronto do professor e fazendo as alterações, onde debugando e o problema está na pagina jsp que não estava recendo os dados. Desde já obrigado.

    //Pagina de Cadastro caso eu queira listar, devo clicar no botão listar.
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">

    <link rel='stylesheet' type='text/css' href='../estilos/usustyle.css' />

    <!-- Bootstrap -->
    <link href="../css/bootstrap.css" rel="stylesheet" type="text/css" />
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
    <link href="../css/style.css" rel="stylesheet" type="text/css" />

    <title>Relatório de Frota</title>
    </head>
    <body>

    <div id="formulario">

    <h1><center>Controle de Frota</center></h1>

    <form name="cad_finalidade" action="../FinalidadeController" method="post">
    <ul>
    <fieldset>
    <legend style="color: #fff;">Cadastro de Finalidade</legend>

    <div id="inlineblock">
    <input class="textbox" type="text" id="finalidade" name="finalidade" placeholder="Finalidade" style="width: 250px;">
    </div>
    <br><br>

    <div id="inlineblock" style="margin-left: 50px;">
    <input type="submit" value="Cadastrar" action="submit" class="button" onmouseover="this.className='button_over'" onmouseout="this.className='button_on'">
    <input type="submit" name="Listar" value="Listar" class="button" >
    <input type="reset" id="reset" value="Limpar" action="reset" class="button" onmouseover="this.className='button_over'" onmouseout="this.className='button_on'">
    <input type="button" id="voltar" value="Voltar" onclick="location.href='../principal.html';" class="button2" onmouseover="this.className='button2_over'" onmouseout="this.className='button2_on'">
    </div>
    <br><br>

    </form>
    </div>
    </div>
    <br><br>
    </fieldset>
    </ul>
    </form>
    </div>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="js/jquery.min.js"></script>
    <script src="js/jquery-latest.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>

    </body>
    </html>

    //Controller
    package controller;

    import dao.FinalidadeDAO;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import model.Finalidade;

    @WebServlet(name = "FinalidadeController", urlPatterns = {"/FinalidadeController"})
    public class FinalidadeController extends HttpServlet {

    private static final long serialVersionUID = 1L;
    //private static String insert_or_edit = "/Usuario.jsp";
    private static String list_finalidade = "/page/listafinalidade.jsp";
    private FinalidadeDAO finalidade;

    public FinalidadeController() {
    super();
    //Instanciando a clase dao
    finalidade = new FinalidadeDAO();
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String forward = "";
    String action = request.getParameter("action";
    if (action.equalsIgnoreCase("delete") {
    // the other page is sending the person id, so we can get here and
    // call the remove method
    int personid = Integer.parseInt(request.getParameter("personId");
    // we remove the person from the database
    //persondao.removeUsuario(personid);
    // set the forward string to list and put all persons in request
    // attribute so we can use them inside the other page
    forward = list_finalidade;
    /*
    try {

    //request.setAttribute("persons", persondao.getUsuarios());
    } catch (SQLException e) {
    e.printStackTrace();
    }*/
    // if the user is trying to edit a person
    } else if (action.equalsIgnoreCase("edit") {

    //forward = insert_or_edit;
    //int personid = Integer.parseInt(request.getParameter("personId");
    /*try {
    //Usuario person = persondao.getUsuarioById(personid);
    //request.setAttribute("person", person);
    } catch (SQLException e) {
    e.printStackTrace();
    }*/

    } else if (action.equalsIgnoreCase("list_finalidade") {
    forward = list_finalidade;
    request.setAttribute("finalidade", finalidade.getLista());
    } else {
    // forward = insert_or_edit;
    }
    RequestDispatcher view = request.getRequestDispatcher(forward);
    view.forward(request, response);
    }

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

    //instanciando Usuarioi
    Finalidade finalidadeDAO = new Finalidade();
    //Inserindo parametros
    String action = request.getParameter("Listar";
    String forward = "";
    if (action.equalsIgnoreCase("Listar") {
    forward = list_finalidade;
    request.setAttribute("finalidade", finalidade.getLista());
    RequestDispatcher view = request.getRequestDispatcher(forward);
    view.forward(request, response);
    } else{

    finalidadeDAO.setFinalidade(request.getParameter("finalidade");

    //Instanciando o método adiciona usuario
    try{
    finalidade.adicionaFinalidade(finalidadeDAO);
    }catch(SQLException e){

    }



    String personid = request.getParameter("personId";
    System.out.println("ola";
    System.out.println(personid);
    // what i'm trying to mean here is: if the personid coming from the
    // request is null
    // then, the user is trying to add someone, otherwise, he's trying to
    // update someone
    if (personid == null || personid.isEmpty()) {
    // persondao.addUsuario(person);
    } else {
    // person.setUsuarioId(Integer.parseInt(personid));
    // persondao.updateUsuario(person);
    }

    response.sendRedirect(request.getContextPath() + "/page/cadfinalidade.jsp";
    }
    }

    }


    //DAO
    package dao;

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    import model.Finalidade;

    public class FinalidadeDAO {


    private Connection con;

    public FinalidadeDAO()
    {
    this.con = new factory.ConnectionFactory().getConnection();
    }

    public void adicionaFinalidade (Finalidade finalidade) throws SQLException
    {
    String sql = "INSERT INTO CAD_FINALIDADE (FINALIDADE) VALUE (?)";
    PreparedStatement stmt = con.prepareStatement(sql);
    try
    {

    stmt.setString(1, finalidade.getFinalidade());
    stmt.execute();


    }catch (SQLException e)
    {
    throw new RuntimeException(e);
    }finally {
    stmt.close();
    }
    }



    public List<Finalidade> getLista() {
    try {

    String query = "select * from cad_finalidade ";
    ArrayList<Finalidade> finalidade = new ArrayList<Finalidade>();
    Statement stmt = con.createStatement();
    ResultSet res = stmt.executeQuery(query);

    while (res.next()) {
    Finalidade f = new Finalidade();
    f.setId(Integer.parseInt(res.getString("Id"));
    f.setFinalidade(res.getString("Finalidade");
    finalidade.add(f);
    }
    return finalidade;
    } catch (SQLException e) {
    throw new RuntimeException(e);
    }
    }








    }





    //Classe Java
    package model;

    import java.util.ArrayList;

    public class Finalidade {

    int id;
    String finalidade;

    public int getId() {
    return id;
    }

    public void setId(int id) {
    this.id = id;
    }

    public String getFinalidade() {
    return finalidade;
    }

    public void setFinalidade(String finalidade) {
    this.finalidade = finalidade;
    }




    }

    //Pagina onde deverá listar os dados do banco.
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="ISO-8859-1">

    <link rel='stylesheet' type='text/css' href='../estilos/usustyle.css' />

    <!-- Bootstrap -->
    <link href="../css/bootstrap.css" rel="stylesheet" type="text/css" />
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/bootstrap-responsive.css" rel="stylesheet" type="text/css" />
    <link href="../css/style.css" rel="stylesheet" type="text/css" />

    <title>Lista Finalidade</title>
    </head>
    <body>


    <div id="formulario">

    <h1><center>Controle de Frota</center></h1>

    <form name="list_finalidade" action="../FinalidadeControler" method="post">
    <ul>
    <fieldset>
    <legend style="color: #fff;">Lista de Finalidades</legend>
    <section>
    <div class="container">
    <table class="table table-hover">
    <thead>
    <tr>
    <th>
    #
    </th>
    <th>
    Finalidade
    </th>

    </tr>
    </thead>
    <tbody>
    <c:forEach items="${finalidade}" var="finalidades">
    <tr>
    <td>
    <cut value="${finalidades.Id()}"/>
    </td>
    <td>
    <cut value="${finalidades.Finalidade}"/>
    </td>

    <td><a href="PersonController?action=edit&personId=<cut value="${person.personId}"/>">Update</a></td>
    <td><a href="PersonController?action=delete&personId=<cut value="${person.personId}"/>">Delete</a></td>
    </tr>
    </c:forEach>
    </tbody>
    </table>

    </div>
    </section>



    <br><br>
    <div id="inlineblock" style="margin-left: 50px;">
    <input type="button" id="voltar" value="Voltar" onclick="location.href='../principal.html';" class="button2" onmouseover="this.className='button2_over'" onmouseout="this.className='button2_on'">
    </div>
    <br><br>
    </fieldset>
    </ul>
    </form>
    </div>

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="js/jquery.min.js"></script>
    <script src="js/jquery-latest.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>

    </body>
    </html>
    _________________

    Igor Augusto Zumerle



  1. Relacionados