'몽고db ajax'에 해당되는 글 1건

[데이터베이스] 몽고DB(MongDB) - JSP,Servlet - ajax 연동 예제


[데이터베이스] 몽고DB(MongoDB) 무료 mlab 사용기

[데이터베이스] 몽고DB(MongDB) 이클립스 jar 추가하기




지금 보시는 예제는 아래의 mlab를 통해서 진행이 되기 때문에,

이미 몽고DB가 Localhost가 없으신 분이라면,

아래의 글을 읽고, 설정을 마치시고 오시면, 빠르게 진행하실 수 있습니다.


 [데이터베이스] 몽고DB(MongoDB) 무료 mlab 사용기 보러가기


mlab도 했다! 또는 Localhost에 있다!

근데, jar 파일 없다!

그러면, 아래에 글을 읽고, 설정을 마치고 오시길 바랍니다.


[데이터베이스] 몽고DB(MongDB) 이클립스 jar 추가하기 보러가기





JSP 화면 


JSP에서는 버튼 클릭 할때, jsonSend 함수가 실행됩니다

jsonSend함수에서는 Objet data = {} 구문을 넘겨줍니다.


여기 예제에서는 object를 넘겨주지는 않지만, servlet에서는 find를 살짝 다루기 때문에, 

응용을 하실 분은 사용하셔도 좋을 것 같습니다 .


결과 값을 object 값을 받아서 alert로 띄어줍니다.





<body>
<p>테스트</p>
<button id="jsonSend" type="button"> mongodb 값 가져오기 실행</button>
<script>
$('#jsonSend').click(function () {
jsonSend();
});

function jsonSend() {
$.ajax({
type: "POST",
url: "/TistoryExample/Mongodb_test1",
data: {}, //json을 보내는 방법
success: function (data) { //서블렛을 통한 결과 값을 받을 수 있습니다.
alert(data);
console.log(data);
},
error: function (e) {
console.log(e);
alert('저장에 실패했습니다.');
}
});
}
</script>
</body>




java servlet 페이지

 

예제에서는 json array 방식으로 돌려주기위해서 

json-simple-1.1.jar를 파일이 필요합니다. 

추가적으로 json import도 해줍니다.


//추가 import
import java.io.PrintWriter;

import org.json.simple.JSONObject;

import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoCollection;
import org.bson.Document;
import com.mongodb.BasicDBObject;
import com.mongodb.client.MongoCursor;



Mlab으로 진행하시는 분들은 

빨간색 테두리를 둘려진 곳에 서버로 접근하는 값들이 적혀있습니다.

그리고, 유저탭에서 생성한 아이디와 비밀번호로 접근이 가능합니다.



주석으로 처리된 부분에 자세한 설명이 있습니다.

간략히 설명을 드리면, mlab의 몽고db의 데이터베이스에 접근하여,

접근한 db의 collection의 접근합니다. 


접근 후에, 내용 중에 "_id"값에 결과를 Object화 시켜서 ajax를 통해서 반환합니다.


@SuppressWarnings("resource")
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        // doGet(request, response);
        
        PrintWriter out = response.getWriter(); //Array 값을 보내주기 위해서
        //https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/
        try {
            
            String mongo_id = "test";
            String mongo_pass = "test";         
            String monogoUrl =  "mongodb://"+mongo_id+":"+mongo_pass+"@ds113700.mlab.com:13700/mongo_jsp_test_";

            // 내가 접속할 mongodb url 과 id는 'test' , 비번은 'test' 설정되어 있습니다.
            MongoClientURI uri = new MongoClientURI(monogoUrl);
            // 관련 문서 : http://api.mongodb.com/java/current/com/mongodb/MongoClientURI.html
            // MongoClient 인스턴스를 생성하는 데 사용할 수있는 URI를 나타냅니다. URI는 사용할 호스트와 옵션을 설명합니다.
            MongoClient mongoClient = new MongoClient(uri);
            // MongoClient를 통해서 접속할 MongoDB 서버와 연결해줍니다
            MongoDatabase db = mongoClient.getDatabase(uri.getDatabase());
            // mongo_jsp_test_ 데이터베이스를 연결합니다.
            MongoCollection<Document> test = db.getCollection("test_collection");
            // mongo_jsp_test_ 데이터베이스 안에 test_collection(맞는 표현인지는 알 수 없지만) mysql 테이블 처럼 접근합니다.
            
            BasicDBObject searchQuery = new BasicDBObject();
            //mysql query문을 만들 때, 조건문과 같은 역할을 한다.
            //여기서 빼고 진행하겠다.
            
            //searchQuery.put("test","test");
            //MongoCursor<Document> cur = test.find(searchQuery).iterator();

            MongoCursor<Document> cur = test.find().iterator();
            // select * from과 같다라고 생각하시면 된다.

            JSONObject r_Json = new JSONObject();// object 값으로 전달해주기 위해서
            try {               
                while (cur.hasNext()) {
                    Document document = cur.next();
                    //document 관한 설명 자료
                    //http://api.mongodb.com/java/current/org/bson/Document.html
                    System.out.println(document.get("_id"));
                    //primary key 비슷하게 사용된다.
                    r_Json.put("_id",document.get("_id"));
                }
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();                
            }finally{
                cur.close();                
                mongoClient.close();
                //사용한 자원 반납
                out.print(r_Json);
                //object를 전달            
           }
        } catch (Exception e) {
            //TODO: handle exception
            e.printStackTrace();            
        }
    }




결과화면 - jsp 페이지










도움이 되셨다면, 구독과 좋아요.... 아니아니 ...

공감 버튼 꾸욱 눌러주세요 ~~





블로그 이미지

미나미나미

,