Я пытаюсь сделать простое приложение, используя Ajax и сервлет. Но когда я пытался выполнить приложение, оно не работает.
Пожалуйста, пройдите код и дайте мне знать, в чем проблема?
function createRequest()
{
alert("hai createRequest()");
try
{
req=new XMLHttpRequest();
}
catch(trymicrosoft)
{
try
{
req=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(othermicrosoft)
{
try
{
req=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(failed)
{
req=null;
}
}
}
if(req==null)
alert("req==null");
}
function startRequest()
{
alert("hai startRequest()");
createRequest();
alert("hai created Request()");
var username=document.getElementById("user").value;
req.open("get","http://localhost:8080/login/CheckLogin?user="+username,true);
req.onreadystatechange=handleStateChange;
alert("hai returned from handle state change");
req.send(null);
}
function handleStateChange()
{
alert("hai handleStateChange()");
if(req.readyState==4)
{
if(req.status==200)
{
var message=req.responseXML.getElementsByTagName("valid")[0].childNodes[0].nodeValue;
document.getElementById("results").innerHTML=message;
}
else
{
alert("Sorry status failed");
document.getElementById("results").innerHTML="Sorry problem in status";
}
}
else
{
alert("Sorry readyStatus failed");
document.getElementById("results").innerHTML="Sorry problem in readyState";
}
}
Вышеуказанные функции написаны на Javascript и в сервлете
package com.assignment.login;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class CheckLogin extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
System.out.println("Hai i have entered into servlet");
String userId=request.getParameter("user");
if(userId!=null && !userId.equals("jeya"))
{
response.setContentType("text/xml");
response.getWriter().write("<valid>U can use this id</valid>");
}
else
{
response.setContentType("text/xml");
response.getWriter().write("<valid>U cannot use this id</valid>");
}
}
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException
{
doGet(request,response);
}
}
Но на выходе печатаются следующие оповещения,
Hai start request
Hai create request
Hai created request
Hai returned from handle state change
hai handle state change
sorry readyStatus failed
hai handle state change
sorry readyStatus failed
hai handle state change
sorry readyStatus failed
hai handle state change
sorry status failed
Мой web.xml,
<web-app>
<servlet>
<servlet-name>CheckLogin</servlet-name>
<servlet-class>com.assignment.login.CheckLogin</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CheckLogin</servlet-name>
<url-pattern>/CheckLogin</url-pattern>
</servlet-mapping>
В сервлете я напечатал «Я вошел в сервлет», и он не печатается в окне сервера. Так в чем же проблема, и, пожалуйста, дайте мне предложения по ее решению ... Заранее спасибо .. .
EDIT:
это исключение, возникающее, когда я пытаюсь выполнить указанное выше приложение. Но класс CheckLogin находится в нужном месте ... Но тот же код работает в Eclipse. Поэтому, пожалуйста, кто-нибудь, скажите мне, в чем может быть проблема ???
Запрашиваемый ресурс (/ login / CheckLogin) недоступен.