top of page

JSP Servlet ile JSON Uygulamasi

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • May 8, 2012
  • 2 min read

Bu makalemde JSon yapisindan biraz bahsettikten sonra hemen ardindan Oracle veri tabaninda ki verilerimi Java'da Bean siniflari kullanarak web ortaminda JSP formati ile kullaniciya verilerimizi sunucam. Oncelikle JSon'dan bahsedecek olursak... JSON, acilimi JavaScript Object Notation'dir. Yazilimlariniz ile internet ortamina aktaracagimiz verilerimizin alis-verisinde yani bilgi akisinda ki degiskenlerin ve dizilerin dogru aktarilmasinda kullanabildigimiz XML ile bicimlendirilmis bir veri kumesi olarak da dusunebiliriz. Kullandigi veri tipleri ise; Number, String, Boolean, Array, Object ve Null'dir... Uygulama icin genellikle arastirmalariniz sonucunda diger dillerde kullanim sekillerini bulabilirsiniz, fakat bu uygulamamda yine java teknolojilerinden faydalanarak sizlere farkli bir uygulama aktaracagim. Uygulamamiza gecmeden once Oracle veri tabaninda olusturmus oldugum Tbl_Doctors tablosunda ki kullanacagim alanlari asagida paylasmak istiyorum.

                Veri tabaninda ki verilerimizi java ortamina aktarabilecegim bir pojo sinifi olusturuyorum. Hemen ardindan JSON'la ilgili gson kutuphaneleri internetten indirip projemize import ettikten sonra veri tabanina baglanti komutlarini ve json'la ilgili komutlari yazmaya baslayabilirsiniz.

Tbl_Doctors.Java Kaynak Kodlari ;

public class Tbl_Doctors { private int Id; private String Dr_Name; private String Dr_Surname; private String Branch; public Tbl_Doctors() {    } public String getBranch() {        return Branch;    } public void setBranch(String Branch) {        this.Branch = Branch;    } public String getDr_Name() {        return Dr_Name;    } public void setDr_Name(String Dr_Name) {        this.Dr_Name = Dr_Name;    } public String getDr_Surname() {        return Dr_Surname;    } public void setDr_Surname(String Dr_Surname) {        this.Dr_Surname = Dr_Surname;    } public int getId() {        return Id;    } public void setId(int Id) {        this.Id = Id;    } }  

Tbl_Doctors_Bean.Java Kaynak Kodlari ;

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; public class Tbl_Doctors_Bean { Connection connection = null; private PreparedStatement st; private ResultSet rs; public Tbl_Doctors_Bean() { try { String drivername = "oracle.jdbc.driver.OracleDriver"; Class.forName(drivername); String servername = "127.0.0.1"; String portnumber = "1521"; String sid = "XE"; String url = "jdbc:oracle:thin:@"+servername+":"+portnumber+":"+sid; String username = "SYSTEM"; String password = "sys"; connection = DriverManager.getConnection(url,username,password); } catch (Exception ex) { Logger.getLogger(Tbl_Doctors_Bean.class.getName()).log(Level.SEVERE, null, ex); System.out.println("error" + ex); System.out.print("ok");           } } public List<Tbl_Doctors> List_Of_Doctors() throws SQLException { List<Tbl_Doctors> list_of_doctor = new ArrayList<Tbl_Doctors>(); st = connection.prepareStatement("SELECT ID, DR_NAME, DR_SURNAME, BRANCH" + " FROM TBL_DOCTORS ORDER BY ID ASC"); rs = st.executeQuery(); while(rs.next()) { Tbl_Doctors dr = new Tbl_Doctors(); dr.setId(rs.getInt("id")); dr.setDr_Name(rs.getString("dr_name")); dr.setDr_Surname(rs.getString("dr_surname")); dr.setBranch(rs.getString("branch")); list_of_doctor.add(dr); } return list_of_doctor; } }  

Tbl_Doctors_JSon_Servlet.Java Kaynak Kodlari ;

import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

import java.util.List; public class Tbl_Doctors_JSon_Servlet extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { } finally { out.close(); } } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try {

    List<Tbl_Doctors> list = new Tbl_Doctors_Bean().List_Of_Doctors();          

            String json = new Gson().toJson(list);

response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); response.getWriter().write(json); } catch (SQLException ex) { Logger.getLogger(Tbl_Doctors_JSon_Servlet.class.getName()).log(Level.SEVERE, null, ex); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override public String getServletInfo() { return "Short description"; }// </editor-fold> }

Index.Jsp Kaynak Kodlari ;

<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body>

    <h1> <a href="/JSon_Denemeler/Tbl_Doctors_JSon_Servlet">Listele</a></h1>

</body> </html>  

Uygulamanin Ekran Goruntusu;

          Listele linkine tiklanildiktan sonra icerisinde json komutlarini cagirabilecegimiz Servlet komutlarimiz gelmektedir.

                    Keyifli Calismalar Dilerim...

Recent Posts

See All
C# Dependency Injection

Dependency Injection (DI) aslinda bir tasarım şablonu olarak bilinmektedir ve genel amacı nesneler arasında bulunan bağımlılıkları azaltarak kullandığı İnterface'ler sayesinde implement edilen içerikl

 
 
 
Windows Azure Nedir?

Windows Azure, hizmet yönetim ortamlarını ve servislerini barındırarak geliştirilmiş bulut teknolojilerinin oluştuğu bir işletim sistemi gibi düşünülebilir. Windows azure, Microsoft veri merkezleri

 
 
 
Navigation - Navigasyon

Kullanıcıların Metro Style uygulamalarında kolay bir şekilde kullanabilmeleri ve sayfalar arası geçişleri daha sezgizel bir şekilde yapabilmeleri için geliştirilmiş bir yöntemdir. Bu özellik sayesinde

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page