Evo JSP strane:
Code:
<%@page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Web mail </title>
<script type="text/javascript" >
function getXmlRequest()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return null;
}
}
}
return xmlHttp;
}
function setMessage(message) {
var mdiv = document.getElementById("userIdMessage");
mdiv.innerHTML = "<div style=\"color:red\">Message: "+message+"</ div>";
}
function saberi()
{
var req;
req = getXmlRequest();
if (req!=null)
{
var idField = document.getElementById("userid");
var url = "/WebProjectTest/sabServlet?sab1=20&sab2=11";
req.open("GET", url, true);
req.onreadystatechange = function()
{
if (req.readyState == 4) {
alert("Response (responseText) : " + req.getResponseText);
alert("Response (getElementByTagName) " + req.responseXML.getElementsByTagName("message")[0]);
var message = req.responseXML.getElementsByTagName("message")[0];
setMessage(message.childNodes[0].nodeValue);
}
};
req.send(null);
}
}
</script>
</head>
<body>
<h1> TEST </h1>
<form action="/WebProjectTest/startServlet" method="post">
<table border="0">
<tr>
<td>Rezultat</td>
<td> <div id="userIdMessage"></div></td>
<tr>
<tr>
<td><input type="Button" onclick="saberi();"></td>
<tr>
</table>
</form>
</body>
</html>
<%@page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Web mail </title>
<script type="text/javascript" >
function getXmlRequest()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return null;
}
}
}
return xmlHttp;
}
function setMessage(message) {
var mdiv = document.getElementById("userIdMessage");
mdiv.innerHTML = "<div style=\"color:red\">Message: "+message+"</ div>";
}
function saberi()
{
var req;
req = getXmlRequest();
if (req!=null)
{
var idField = document.getElementById("userid");
var url = "/WebProjectTest/sabServlet?sab1=20&sab2=11";
req.open("GET", url, true);
req.onreadystatechange = function()
{
if (req.readyState == 4) {
alert("Response (responseText) : " + req.getResponseText);
alert("Response (getElementByTagName) " + req.responseXML.getElementsByTagName("message")[0]);
var message = req.responseXML.getElementsByTagName("message")[0];
setMessage(message.childNodes[0].nodeValue);
}
};
req.send(null);
}
}
</script>
</head>
<body>
<h1> TEST </h1>
<form action="/WebProjectTest/startServlet" method="post">
<table border="0">
<tr>
<td>Rezultat</td>
<td> <div id="userIdMessage"></div></td>
<tr>
<tr>
<td><input type="Button" onclick="saberi();"></td>
<tr>
</table>
</form>
</body>
</html>
A evo i Servlet-a, odnosno njegove doGet metode:
Code:
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, response);
String sab1 = req.getParameter("sab1");
String sab2 = req.getParameter("sab2");
System.out.println("Sab 1 i 2 su: " + sab1 + sab2);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<message>"+ sab1 + sab2 +"</message>");
}
protected void doGet(HttpServletRequest req, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(req, response);
String sab1 = req.getParameter("sab1");
String sab2 = req.getParameter("sab2");
System.out.println("Sab 1 i 2 su: " + sab1 + sab2);
response.setContentType("text/xml");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write("<message>"+ sab1 + sab2 +"</message>");
}
Ne obracajte mnogo paznju na logiku jer ovo je glupost koja samo treba da proradi i nista vise. Zabetonirao sam dva parametra u samom kodu, i sve sto zelim je da pri kliku na dugme server spoji ta dva parametra u jedan string i prikaze na klijentskoj strani taj string. Problem nastaje u funkciji req.onreadystatechange = function()... prvi alert mi prikazuje "undefined", a drugi "null"... kao da nista nije primljeno sa servera???