簡體   English   中英

在Tomcatj(本地)中的Tomcat Server(本地)中運行servelt期間,無法加載Intellij Json對象

[英]During servelt running in Tomcat Server( Local) in Intellij Json object can not be loaded

我已經在Intellij中編寫了一個jsp和對應的servelt,並從Intellij在Tomcat本地服務器中運行它。 現在沒有json文件,如果我將一些普通文本作為輸出傳遞,則servlet工作正常,但顯示json對象

java.lang.NoClassDefFoundError:org / json / simple / JSONObject Servlet.UserInt.processRequest ---我已經在外部庫中導入了json-simple -1,1.jar,因此它的編譯但在servlet運行期間無法加載。 我還在網絡下一個名為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>

誰能幫我解決這個錯誤? 提前致謝!!

檢查是否導入了正確的org.json jar文件。

我在IDEA中創建了帶有pom.xml中此類依賴項的簡單項目:

  <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>

Servlet:

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.Final上運行它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM