Evo i HTML koda
<html>
<head>
<meta charset="UTF-8">
<script src="jquery-1.11.0.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
$("input#posalji").click(function(){
$.get("MyWebShop/MyWebShopIndexServlet",
{
jsonData:JSON.stringify({
korisnickoIme:$("input#korisnickoIme").val(),
password:$("input#lozinka").val()
})
});
});
});
</script>
<title>Login Page</title>
</head>
<body>
<h3>Login Page</h3>
<h5>Vase Korisnicko ime i lozinka</h5>
<table id="loginTable">
<tr><td>Korisnicko ime:</td><td><input id="korisnickoIme"/></td></tr>
<tr><td>Sifra:</td><td><input id="lozinka"/></td></tr>
</table>
<input type="submit" id="posalji" value="LogIn"/>
</body>
</html>
Ne znam u cemu je problem ali kugme uopste ne reaguje na dogadjaj, pre bih rekao da je neka sintaticka greska nego nacin na koji sam pokusao da prosledim JSON prema servletu . Ako ima neko savet gde gdeska i da li je uopste dobra postavka kako treba raditi sa AJAXom
Evo i servleta gde treba da primim podatke sa html stranice, proverim u bazi i ako je podaci tacni korisniku se otvori nova html stranica, ako nisu onda ga vrati na logovanje.
package servletModel;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import servlet.Product;
import servlet.User;
import servletDao.ProductDAO;
import servletDao.UserDAO;
public class MyWebShopIndexServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
ProductDAO productDAO = new ProductDAO();
UserDAO userDAO = new UserDAO();
List<Product >listProduct= new ArrayList<Product>();
public MyWebShopIndexServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String jsonRequest = request.getParameter("jsonData");
ObjectMapper mapper = new ObjectMapper();
User a = mapper.readValue(jsonRequest, User.class);
String name = a.getusername();
String password = a.getpassword();
if(userDAO.getUserByUsernameAndPassword(name, password)==null){
response.sendRedirect("Login.html");
}
else {
//kada se korisnik uloguje otvara se nova stranica na koju se preko JSONa salju i podaci o proizvodima
//koji se ispisuju na stranicu , ovaj deo koda je radio dok nisam napravio dodatni kod za logovanje
listProduct=productDAO.getAllProducts();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
String sProducts = mapper.writeValueAsString(listProduct);
System.out.println("JProducts: "+sProducts);
PrintWriter out = response.getWriter();
response.setContentType("application/json");
out.write(sProducts);
response.sendRedirect("MyWebShopPage.html");
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
Hvala svima za bilo kakav savet oko rada sa JavaScriptama i Ajaxom , generalno, najveci mi je problem kako da posaljem JSON sa html stranice i kako da ga primim na servletu, ta komunikacija izmedju html stranica i servleta .... Pozdrav...