2017-11-13 7 views
0

Intellijに1つのjspと腐食応答serveltを書き、IntellijのTomcatローカルサーバーで実行しています。今、私は、出力として、いくつかの通常のテキストを渡す場合JSONファイルなしでサーブレットが正常に動作しているが、JSONとその示すIntellij JsonのTomcat Server(Local)でserveltを実行中にオブジェクトをロードできない

java.lang.NoClassDefFoundErrorのオブジェクト:ORG/JSON /シンプル/ JSONObject Servlet.UserInt.processRequest を - -json-simple -1,1.jarをすでに外部ライブラリにインポートしています。そのコンパイル時に実行されているサーブレットはロードできません。 私はwebという名前でlibという名前のフォルダを作成し、そこにjsonとservetのjarファイルを置いています。

は、ここにコードを入力

UserInt.java ---

public class UserInt extends javax.servlet.http.HttpServlet { 
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { 
     processRequest(request,response); 
    } 

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { 
     processRequest(request,response); 
    } 

    /* @Override 
    public String toString() { 
     return "UserInt{} " + super.toString(); 
    }*/ 

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{ 
     response.setContentType("application/json"); 
     try{ 
      String query=request.getParameter("searchquery"); 
      JSONObject json = new JSONObject(); 

      json.put("query", query); 
      json.put("country", "India"); 
      String output = json.toString(); 

      PrintWriter writer = response.getWriter(); 
      writer.write("output"); 
      writer.flush(); 
      writer.close(); 
     } 
     catch (Exception e){ 
      e.printStackTrace(); 
     } 

    } 
} 

のindex.jsp ---

<form action="Servlet.UserInt" method="get" id="search-box"> 
    <input type="text" class="search" name="searchquery" size="20" maxlength="120" placeholder="search..."> 
    <input type="submit" class="button"value="Search"> 

    <div class="set-parameter"><h3>User-Requirements</h3> 
     <i>Number of pages you want to see ?</i><input type="text" name="k" class="simple"/> 
    </div> 

[enter image description here][1] 
    </form> 

は、誰もがこのエラーを解決するために私を助けてくださいことはできますか?前もって感謝します!!

答えて

0

正しいorg.json jarファイルがインポートされているかどうかを確認してください。

私はのpom.xmlに、このような依存関係を持つIDEAに単純なプロジェクトを作成しました:

<dependencies> 
    <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>servlet-api</artifactId> 
     <version>3.0.1</version> 
    </dependency> 

    <dependency> 
     <groupId>org.json</groupId> 
     <artifactId>json</artifactId> 
     <version>20160810</version> 
    </dependency> 

    </dependencies> 

    <repositories> 
    <repository> 
     <id>maven-eu.nuxeo.org</id> 
     <url>https://maven-eu.nuxeo.org/nexus/content/repositories/public-releases</url> 
    </repository> 
    </repositories> 

サーブレット:

package servlets; 
import org.json.JSONObject; 
import javax.servlet.ServletException; 
import javax.servlet.annotation.WebServlet; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import java.io.IOException; 
import java.io.PrintWriter; 

@WebServlet ("/myservlet.do") 
public class MyServlet extends HttpServlet { 
    @Override 
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException { 
     PrintWriter out = resp.getWriter(); 
     out.println("<html>"); 
     out.println("<body>"); 
     out.println("<h1>Hello Servlet Get</h1>"); 

     JSONObject json = new JSONObject(); 
     json.put("query", "query"); 
     json.put("country", "India"); 
     String output = json.toString(); 

     out.println(output); 
     out.println("</body>"); 
     out.println("</html>"); 
    } 
} 

結果:

Hello Servlet Get 
{"country":"India","query":"query"} 

私はWildFly JBossの10.2上で実行します.0.最終的

関連する問題