Hosgeldiniz
Ben Kimim?

C.V.
Bilgi paylaþtýkça çoðalýr.Ýþte ispatý,
bende var bir elma, sende var bir elma, gel elmalarý deðiþelim; bende var bir elma, sende var bir elma.

Þimdi bende var bir bilgi, sende de var bir bilgi, gel bilgileri deðiþelim; bende oldu iki bilgi, sende oldu iki bilgi.Nasýl güzel deðilmi?...

Ben bilgilerimi ortaya koyuyorum benimle bilgi zengini olmak istermisiniz?..



Kategoriler


Site nasýl olmuþ?
Daha iyi olabilirdi
Ýdare eder
Güzel
Süper
Süper ötesi...
     
Anket
PHP ve JAVA birarada
9 Yil öncesi . . .
Java php mysql sayac jsp

İnternette,Java kitaplarında hep görürürüz, Java'nın platformdan bağımsız bir teknoloji olduğuna yönelik sözler.Evet bu doğrudur, bir kez yazılır ve her platformda çalışır. Bende JAVA ile PHP yi harmanlamak istedim.

PHP diliyle aşir-neşir olan arkadaşlar PHP'nin object oriented(yani sınıflar) konusunda ne kadar yetenekli olduğunu bilecekler. Ancak hiçbir programlama dili object-oriented konusuna Java dili gibi hakim olamaz. Çünkü Java'da daha önceki yazılarımda belirttiğim gibi objeler arası erişim ve tüm objelerin kontrolü tamamen bize ait oluyor.

Bu yazımda Java ile PHP yi birarada kullanılmayı anlatıyorum. Aşağıdaki kodun amacı: Java objeleri(nesneleri) ile oluşturduğumuz bir sayacı PHP içerisine kullanmak.Önce MySQL tablo kodunu verelim:
CREATE TABLE sayac ( no int(10) unsigned NOT NULL auto_increment, sayac int(11) NOT NULL default '0', KEY no (no) )


Şimdi de sayaç görevini üstlenen Java nesnesini verelim.

import java.sql.*;
public class sayac {

public sayac() {
}
private Connection baglanti;
private Statement sorgulama;
private ResultSet sonuc;
private PreparedStatement sorgu;
private String SQL;
private String cikti = " ";
private int sayi;

public String sayacGoster () {

try {
Class.forName("org.gjt.mm.mysql.Driver");
baglanti = DriverManager.getConnection("jdbc:mysql://localhost/jsptrdb","root","");
sorgulama = baglanti.createStatement();
sonuc = sorgulama.executeQuery("SELECT * FROM sayac WHERE no=1");
SQL = "UPDATE sayac SET sayac=? WHERE no=1";
sorgu = baglanti.prepareStatement(SQL);

if ( sonuc.next() ) {
sayi = (sonuc.getInt("sayac") + 1);
sorgu.setInt(1,sayi);
cikti = sayi + " ";
}

sorgu.executeUpdate();
sorgu.close();
sonuc.close();
baglanti.close();

}
catch ( Exception hata ){
cikti = "Hata: " + hata;
}
return ( cikti );
}
}
Bu komut satırları sayac.java adıyla kaydedip derledikten sonra PHP ile bu dosyayı çağırma görevi üstlenecek kodu vereyim.

<?php
$oku= new Java("sayac");
echo $oku->sayacGoster();
?>


Şimdi de JSP ile bu dosyanın çağrılış şeklini gösterelim:

<%@page import="com.sayac"%>
<html>
<head>
<title>JSP ile Class</title>
</head>
<body>
<% sayac degisken = new sayac(); %>
<%=degisken.sayacGoster()%>
</body>
</html>


Burdaki JSP dosyasında görüldüğü gibi, java nesnesini çağırabilmek için en başta sayfaya import ediyoruz.Ama dikkat edilmesi gerekn bir husus var.Oda, JSP ile java dosyamıza erişim yaparken com klasörünü gösteriyoruz.Dolayısıyla nesnemizi derlemeden önce en başına package com; satırını eklememiz gerek.

Bu yazıyı Java kategorisine koymayı uygun gördüm. Çünkü kodun çoğu Java.:=)

                    Toplam Puan:20

YORUMLAR Yorum Yaz


seray uzgur 8/10/2008 | 22:51:14
Tamamen object oriented güzel bir şeymi araştırmak lazım tabi. Her basit değer için bir primitive tanımlamak varken neden nesne yaratatım tabi biraz daha detaylı araştırmak lazım heap kısmında allocate deallocate işlemleri cok zaman alır bunun yerine stack üzerindesaklanan değişkenler kullanmak lazım. Demem o ki çokta ön yargılı olmamak lazım. İhtiyaca göre kullanmak lazım.
 



Deniz YILDIRIM 8/11/2008 | 4:59:31
Tabiki ortak, haklısın. Eğer elindeki proje büyük ise kesinklikle object-oriented kullanılmalı ama ufak projelerde ise object oriented tamamen hamallık olur.Ama konu Web projesi olduğunda Database ile ilişkili olması muhtemel. Dolayısıyla benim tercihim eğer işin içine db(database) giriyorsa object oriented kullanmak. Aksi halde kopyala yapıştır manyağı bir proje çıkar:=)..