2012-03-20 24 views
0

これは私のjsp ..です。サーブレット(ReadprojectInfo)を呼び出すためにjavascript-functionとajax-callを使用しています。サーブレットをAjaxから呼び出す

<servlet> 
    <servlet-name>projectInfo</servlet-name> 
    <servlet-class>excelExchange.ReadProjectsInfo</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>projectInfo</servlet-name> 
    <url-pattern>/ReadProjectsInfo</url-pattern> 
    </servlet-mapping> 

何が "プロジェクト" ボタンをclickiingにhappenigされていない私のweb.xmlは次のようになり

---

package excelExchange; 

import java.io.IOException; 
import java.io.PrintWriter; 

import javaFiles.Dog; 
import javaFiles.Person; 

import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

public class ReadProjectsInfo { 
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException 
    { 
    doGet(request, response); 
    } 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{ 
     //String var1= request.getParameter("var"); 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 
     out.write("Hello from servlet !!"); 
     out.println("Hello"); 

    } 

} 

follows--として

<%@ 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> 
<script type="text/javascript"> 
function displayProject() 
{ 
    var xmlhttp; 
    if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
    else 
     {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 

    xmlhttp.open("GET","ReadProjectsInfo",true); 
    xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
    xmlhttp.onreadystatechange= function() 
    { 
     if (xmlhttp.readyState==4) 
     { 
     if (xmlhttp.status == 200) 
     { 
     var time = xmlhttp.responseText; 
     //alert(time); 
     document.getElementById("center").innerHTML=xmlhttp.responseText; 
     } 
     } 
    } 
    xmlhttp.send(); 

//document.getElementById("center").innerHTML=Date(); 
} 

</script> 


<link rel="stylesheet" type="text/css" href="css/start.css" /> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Learning CSS</title> 
</head> 
    <body> 
    <div id ="headerLink" class="HeaderLink" > 
     <button id="adminLink" class="AdminLink" href='DNE.jsp'>Home</button></div> 
     <button id="projectButton" class="ProjectButton" onclick="displayProject()" >Projects</button> 
    </div> 

     <div id="center" class ="Center"><p>Click Project</p></div> 
    </body> 
</html> 

サーブレットコードがあります! これで私を助けてください。 xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); と::

+0

明らかに相対URLは間違っています。詳細については、デバッグ/アラート 'xmlhttp.status'を参照してください。 '404'を返すと、URLは間違っています。 – BalusC

答えて

0

はコメントアウトしてみてください if (xmlhttp.status == 200) { ... ビットと同じように、それは

+0

いいえ、まだ何も起こっていません! –

+0

サーブレットにヒットしたかどうかを確認するためにブレークポイントを設定しようとしましたか? – solvation

+0

返信のためのsolvation。 @solvation:申し訳ありませんが、サーブレットの中にブレークポイントを設定するとどういう意味ですか?それを行う方法..それを説明してください。 –

0

を動作するかどうかあなたのクラスでのHttpServletを拡張する必要が参照してください。

public class ReadProjectsInfo extend HttpServlet{ 
     ... 
} 

私はあなたを考えます次の行を削除できます:

xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 

動作する必要があります...

0

以下のようにサーブレットクラスの完全なURLを与えて、一度試してください。それは私のために働いた。 xmlhttp.open("GET","http://localhost:8080/excelExchange/ReadProjectsInfo",true);

関連する問題