2013-07-19 134 views
0

我在jsp中訪問我的java類時遇到了麻煩。將數據從java傳遞給jsp

在JSP中:

<%@ page import="package.ClientWithResponseHandler" %> 
<% ClientWithResponseHandler jira = new ClientWithResponseHandler(); 
System.out.println(jira.getJIRA()); %> 

在java中:

public class ClientWithResponseHandler { 

public String getJIRA() throws Exception { 
    String string=""; 
    HttpClient httpclient = new DefaultHttpClient(); 

     HttpGet httpget = new HttpGet("someURL"); 

     ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
     String[] responseBody = httpclient.execute(httpget, responseHandler).replace("[", "").replace("}]","").split("},"); 
     for (int i=0;i<responseBody.length;i++) 
     { 
      responseBody[i]+="}"; 
      JSONObject project= new JSONObject(responseBody[i]);   
    string +=project.getString("name"); 
    string+="||"; 
      String url=project.getString("self"); 
      HttpGet httpget2 = new HttpGet(url); 

      String responseBody2 = httpclient.execute(httpget2, responseHandler); 
       JSONObject taskall= new JSONObject(responseBody2); 
        JSONArray tasks=taskall.getJSONArray("components"); 
        for(int j=0;j<tasks.length();j++) 
        { 
         JSONObject task= tasks.getJSONObject(j); 
          string+=task.getString("name"); 
          string+="|"; 
        } 
     } 
    return string; 
      } 
    } 

通過調用方法,getJIRA(),我希望它返回數據的字符串,我得到了我做一個REST調用。我已經檢查過它,我認爲java類可以正常工作並返回一個字符串。當我運行我的jsp頁面時,拋出了一個異常:

HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 23 
23: <% ClientWithResponseHandler jira = new ClientWithResponseHandler(); 

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/apache/http/client/ResponseHandler 
java.lang.NoClassDefFoundError: org/apache/http/client/ResponseHandler 
java.lang.ClassNotFoundException: org.apache.http.client.ResponseHandler 

我對編程相當陌生,所以我不知道這意味着什麼。如果有人能幫助我,我將不勝感激。

+0

看來你的servlet-container找不到你的庫 – nachokk

+0

在你的jsp中導入看起來不正確 - package是一個關鍵字。導入需要一個完全合格的類名,但不應包含包。 – ikumen

+0

@ user2264997在我的代碼中它不會說包。不管怎麼說,還是要謝謝你。 – kchow23

回答

0

看起來像您的Apache HTTP客戶端JAR不在您的Web應用程序類路徑中。嘗試檢查它是否在您的WAR文件內部的WEB-INF/lib文件夾內。