Boa noite. Estou passando por um problema. Eu nao consigo fazer uma consulta via ajax de uma jsp para uma servlet, ou melhor. a consulta até e feita mas a servlet nao retorna nada.
Abaixo o codigo do que eu fiz.
// JSP
<?xml version="1.0" encoding="UTF-8" ?>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<% %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Menu</title>
<link rel="stylesheet" href="css/menu.css" media="all"></link>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" href="js/slider/jquery.bxslider.css" media="all" />
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/slider/jquery.bxslider.js"></script>
<script type="text/javascript" src="js/menu.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$.ajax({
url: "http://localhost:8083/menu/ControllerProducts",
type: "GET",
dataType: "json",
statusCode: {
500: function() {
console.info("Code 500: ");
},
},
sucess: function(responseJson) {
console.info(responseJson);
},
complete: function(responseJson) {
console.info("complete");
$.each(responseJson, function(key, value){
console.info(key+" "+value);
});
}
});
});
</script>
</head>
<body>
<%@ page import="br.com.controller.snackbar.ControllerProducts"%>
<c:forEach var="product" items="${products}" >
<c:out value="${product.description}" />
</c:forEach>
<div id="header-menu">
<h1 class="title">Menu</h1>
</div>
<div class="container">
<div class="content">
<ul id="menu">
<li>
<div class="box-drinks box-menu">
<h1 class="title">Bebidas</h1>
<ul id="drinks" class="list-driks itens-menu list-color">
<li>1 Loren ipsum</li>
<li>2 Loren ipsum</li>
<li>3 Loren ipsum</li>
<li>4 Loren ipsum</li>
<li>5 Loren ipsum</li>
<li>6 Loren ipsum</li>
<li>7 Loren ipsum</li>
<li>8 Loren ipsum</li>
</ul>
</div>
</li>
<li>
<div class="box-snack box-menu">
<h1 class="title">Lanches</h1>
<ul id="snack" class="list-snack itens-menu list-color">
<li>1 Loren ipsum</li>
<li>2 Loren ipsum</li>
<li>3 Loren ipsum</li>
<li>4 Loren ipsum</li>
<li>5 Loren ipsum</li>
<li>6 Loren ipsum</li>
</ul>
</div>
</li>
<li>
<div class="box-fruits box-menu">
<h1 class="title">Frutas</h1>
<ul id="fruits" class="list-fruits itens-menu list-color">
<li>1 Loren ipsum</li>
<li>2 Loren ipsum</li>
<li>3 Loren ipsum</li>
<li>4 Loren ipsum</li>
<li>5 Loren ipsum</li>
<li>6 Loren ipsum</li>
<li>7 Loren ipsum</li>
<li>8 Loren ipsum</li>
<li>9 Loren ipsum</li>
<li>10 Loren ipsum</li>
</ul>
</div>
</li>
</ul>
<div class="box-buy left">
<h1 class="list-buy-title">Lista</h1>
<ul id="buy" class="list-buy list-color">
<li class="menu"></li>
</ul>
</div>
<div class="box-description right">
<span class="description">
<span class="title">Descrição do lanche</span>
</span>
<div class="description"></div>
</div>
<br class="clear" />
</div>
</div>
<div id="footer-menu"></div>
</body>
</html>
porduct servlet
package br.com.controller.snackbar;
import java.io.IOException;
import java.io.Writer;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.google.gson.Gson;
import br.com.dao.snackbar.DaoProduct;
import br.com.model.snackbar.Products;
//https://code.google.com/p/google-gson/downloads/list
/**
* Servlet implementation class ControllerProducts
*/
public class ControllerProducts extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ControllerProducts() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
DaoProduct objProduct = new DaoProduct();
response.sendRedirect("index.jsp");
List<Products> products = objProduct.findAll();
String json = null;
json = new Gson().toJson(products);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
Writer writer = null;
writer = response.getWriter();
writer.write(json);
//String test = json.toString();
//request.setAttribute("products", products);
//RequestDispatcher view = request.getRequestDispatcher("menu.jsp");
//view.forward(request, response);
}
/**
* @see HttpServlet#doOptions(HttpServletRequest, HttpServletResponse)
*/
protected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
Estou usando lib gson para usar ajax, como ja me foi aconselhado, mas mesmo assim nao entendi como funciona ajax com java ainad.
Se alguem puder me explicar como fazer, vai me ajudarm muito
Desde ja agradeço
