1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Ajax não encontra o Servlet

Estou tentando fazer a minha JSP se comunicar com meu controller. Antes de acontecer o problema ela estava se comunicando normal, não sei o que possa ter acontecido para dar esse problema.

loteCadastro.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">

    <!-- bootstrap -->
    <link rel="stylesheet" href="css/bootstrap.min.css">
      <script src="js/jquery.js"></script>
      <script src="js/bootstrap.min.js"></script>
<script type="text/javascript">

function enviar(){
    //Estou pegando as informaçoes do formulário
    var codLote = $("#idLote").val();
    var descricaoLote = $("#descricao").val();
    var dataCricao = $("#data").val(); 
    var codPropriedade = 1;
    var dataCricao = $("#faseLote").val();

    alert(descricaoLote);

    $.ajax({
        type:"POST",
        data:{codLote:codLote, descricaoLote:descricaoLote, dataCricao:dataCricao, codPropriedade:codPropriedade, dataCricao:dataCricao},
        //dataType: "json",
        url:"LoteController",

        success: function(result){
            alert(result.length);
            $("#resultado").html(result);
        }
    });
}
</script>
</head>
<body>
    <div class="container">

        <div class="page-header"><h1>Cadastro de Lote</h1></div> 

        <form class="form-horizontal" role="form"> 

        <div class="form-group">
          <label class="control-label col-sm-2" for="codigo">Código:</label>
          <div class="col-sm-10">
            <input type="text" class="form-control" id="idLote" placeholder="01">
          </div>
        </div>

        <div class="form-group">    
          <label class="control-label col-sm-2" for="descricao">Descrição:</label> <!-- tag <label> é apenas um espaço para colocar o nome do campo -->
          <div class="col-sm-10">
            <textarea class="form-control" rows="5" id="descricao" placeholder="teste"></textarea> <!-- textarea campo maior para mais informações-->
          </div>
        </div>

      <div class="form-group">
          <label class="control-label col-sm-2" for="data">Data Criação:</label>
          <div class="col-sm-10">
            <input type="text" class="form-control" id="dataCriacao" placeholder="21/10/2015">
          </div>
        </div>

       <div class="form-group">
      <label class="control-label col-sm-2" for="fase">Fase:</label>
      <div class="col-sm-10">
        <select id="faseLote" class="form-control"> <!-- select -->
          <option>option 1</option>     <!-- option são exeplos, vão ser populados confirmoações do BD -->
          <option>option 2</option>
          <option>option 4</option>
        </select>
      </div>
    </div>

        <div class="form-group">        
          <div class="col-sm-offset-2 col-sm-10">
            <input type="submit" class="btn btn-default"; onclick="enviar()"; return false;">Salvar</input>
            <input type="button"  class="btn btn-danger" onclick="location.href='loteDashboard.jsp';">Cancelar</input>
          </div>
        </div>
      </form>
    </div>
</div> <!-- fim container principal -->
</body>
</html>

LoteController.java

package com.sysbovino.controllers;

import java.io.IOException;
import java.util.Date;

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 org.hibernate.Session;
import org.hibernate.Transaction;

import com.sysbovino.daos.LoteDAO;
import com.sysbovino.entidades.Lote;
import com.sysbovino.hibernate.HibernateUtil;

/**
 * Servlet implementation class LoteController
 */
@WebServlet("/LoteController")
public class LoteController extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public LoteController() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/plain");

        //recebe os os valores da tela
        Integer codLote = Integer.parseInt(request.getParameter("codLote"));
        int codPropriedade = Integer.parseInt(request.getParameter("codPropriedade"));
        String comentario =  request.getParameter("descricaoLote");
        String dataCriacao = request.getParameter("dataCriacao");
        //String dataEncerramento = request.getParameter("dataEnc");

        System.out.println("Chegou: "+comentario);

        Date date = new Date();

        Lote lote = new Lote();
        lote.setCodLote(codLote);
        lote.setDescricaoLote("Teste fsdaf");
        lote.setCodPropriedade(codPropriedade);
        lote.setDataCriacao(date);
        lote.setDataEncerramento(date);

        LoteDAO loteDao = new LoteDAO(HibernateUtil.getSessionFactory(), lote.getClass());

        loteDao.Salvar(lote);

        response.getWriter().append("Served at: ").append(request.getContextPath());
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/plain");

        //recebe os os valores da tela
        Integer codLote = Integer.parseInt(request.getParameter("codLote"));
        int codPropriedade = Integer.parseInt(request.getParameter("codPropriedade"));
        String comentario =  request.getParameter("descricaoLote");
        String dataCriacao = request.getParameter("dataCriacao");
        //String dataEncerramento = request.getParameter("dataEnc");

        System.out.println("Chegou: "+comentario);

        Date date = new Date();

        Lote lote = new Lote();
        lote.setCodLote(codLote);
        lote.setDescricaoLote("Teste fsdaf");
        lote.setCodPropriedade(codPropriedade);
        lote.setDataCriacao(date);
        lote.setDataEncerramento(date);

        LoteDAO loteDao = new LoteDAO(HibernateUtil.getSessionFactory(), lote.getClass());

        loteDao.Salvar(lote);

    }

    public static void insert(Lote lote) throws Exception {

        Session session = HibernateUtil.getSessionFactory();
        Transaction tx = session.beginTransaction();
        session.save(lote);
        tx.commit();
        session.close();
    }

}

Ele está mapeado na propria servlet, ja tentei mapear pelo web.xml e também obtive resultado. Alguma coisa que eu possa fazer?

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags ajax servlets ou faça a sua própria pergunta.