2017-06-25 13 views
1

このコードは実行中に例外メッセージを出していますが、javaで実行中の同じコードがエラーや例外なしで正常に動作しています。jspをmongoDBと接続する際の問題

次のコードはjavaで書かれており、正しく動作していますが、同じロジックがjspで動作していません。場合

import com.mongodb.*; 
import com.mongodb.client.MongoDatabase; 
import com.mongodb.client.MongoCollection; 
import org.bson.Document; 
import java.util.*; 
import com.mongodb.client.MongoCursor; 
import static com.mongodb.client.model.Filters.*; 
import com.mongodb.client.result.DeleteResult; 
import static com.mongodb.client.model.Updates.*; 
import com.mongodb.client.result.UpdateResult; 
import org.json.JSONObject; 

public class TestMongo { 
    public static void main(String[] args) { 
     String name = "Ram"; 
     long ph = 7077330520L; 
     String email = "[email protected]"; 
     String password = "qwerty"; 
     String city = "BBSR"; 

     MongoClient mongoClient = new MongoClient("localhost", 27017); 
     MongoDatabase database = mongoClient.getDatabase("test"); 

     MongoCollection<Document> collection = database.getCollection("user"); 
     collection.drop(); 
     Document doc = new Document("name", name) 
       .append("ph", ph) 
       .append("email", email) 
       .append("password",password) 
       .append("city", city); 

     collection.insertOne(doc); 

     MongoCursor<Document> cursor = collection.find().iterator(); 

     while (cursor.hasNext()) { 
      //if (cursor.next().getInteger("age") == 20) 
       System.out.println(cursor.next()); 
     } 
    } 
} 

JSP CODE

[![<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@ page import ="java.util.List" %> 
<%@ page import ="java.util.Set" %> 
<%@ page import="com.mongodb.*" %> 
<%@ page import="com.mongodb.client.MongoDatabase" %> 
<%@ page import="org.bson.Document" %> 
<%@ page import="com.mongodb.client.MongoCollection" %> 

<% 
    String name = "Ram"; 
    long ph = 7077330520L; 
    String email = "[email protected]"; 
    String password = "qwerty"; 
    String city = "BBSR"; 

    MongoClient mongoClient = new MongoClient("localhost", 27017); 
    MongoDatabase database = mongoClient.getDatabase("test"); 

    MongoCollection<Document> collection = database.getCollection("user"); 
    collection.drop(); 
    Document doc = new Document("name", name) 
      .append("ph", ph) 
      .append("email", email) 
      .append("password",password) 
      .append("city", city); 

    collection.insertOne(doc); 
%>][1]][1] 
+0

あなたのJSPはtry catch(Trowable e)を使ってsurrondして、エラーが何であるかを確認してください – user7294900

+0

まだ、同じエラー –

+0

ファイルisn多分、mongodbの瓶がなくなっていますか? – user7294900

答えて

1
With mongo-java-driver-2.10.1.jar present in your build path surely below code works 

    <%@ page contentType="text/html;charset=UTF-8" language="java" %> 
    <%@ page import ="java.util.List" %> 
    <%@ page import ="java.util.Set" %> 
    <%@ page import="com.mongodb.*" %> 
    <%@ page import="com.mongodb.DB" %> 
    <%@ page import="org.json.JSONObject" %> 
    <%@ page import="com.mongodb.DBCollection" %> 


    <% 
     String name = "Ram"; 
     long ph = 7077330520L; 
     String email = "[email protected]"; 
     String password = "qwerty"; 
     String city = "BBSR"; 

     MongoClient mongoClient = new MongoClient("localhost", 27017); 
     DB database = mongoClient.getDB("test"); 

     DBCollection collection = database.getCollection("user"); 
     //collection.drop(); 
     BasicDBObject document = new BasicDBObject(); 
     document.put("name", name); 
     document.put("ph", ph); 
     document.put("email", email); 
     document.put("password",password); 
     document.put("city", city); 

     collection.insert(document); 
    %> 
After inserting I have tested as well 
> db.user.find().pretty() 
{ 
     "_id" : ObjectId("59549f53a5653b5b4303004f"), 
     "name" : "Ram", 
     "ph" : NumberLong("7077330520"), 
     "email" : "[email protected]", 
     "password" : "qwerty", 
     "city" : "BBSR" 
} 
{ 
     "_id" : ObjectId("59549fbda5653b5b43030050"), 
     "name" : "Ram", 
     "ph" : NumberLong("7077330520"), 
     "email" : "[email protected]", 
     "password" : "qwerty", 
     "city" : "BBSR" 
} 
{ 
     "_id" : ObjectId("59549feaa5653b5b43030051"), 
     "name" : "Ram", 
     "ph" : NumberLong("7077330520"), 
     "email" : "[email protected]", 
     "password" : "qwerty", 
     "city" : "BBSR" 
} 
> As I executed many times, number of rows inserted 3 times. 
0

あなたが本当に新しいドライバーと一緒に行きたい場合は、あなたのビルド・パスと第一、すべてのコンパイルエラーに除去しなければならないことを持っている必要があります。コンパイルエラーは赤色でマークされており、Eclipseのエディタから簡単に見つけ出すことができます

+0

実際に私はIntelliJを使用していますが、すでに外部ライブラリにmongo jarファイルが含まれていますが、同じ結果が得られます。 –

+0

OK、単純なjspページでmongoのものはありません。それが正常に動作する場合は、通常のJSPで問題はありません。あなたのmongoコードを1行ずつ書き込んでください。あなたがintellijのエラーをチェックできることを願っています。そのようなコードを微調整することができます。私が与えたコードは、eclipse Webプロジェクトでうまくいきました。あなたはそれを試してみてください –

+0

はい私はすでにそれを試してみました。通常JSPは完全に動作していますが、mongoを使用しているときは上記の例外があります。 Tomcatサーバー9.0に問題はありますか? (mongo3.4 jarファイルを使用していて、mongo2.10と2.13で何も成功せずに同じことを試しました)。 –

関連する問題