JSP netbeans
j2ee, jsp, servlet, setup, netbeans, tomcat, ide, java June 12th, 2007
![]()
JSP ve Netbeans
Java programlama öğrenmek istiyorum diyen arkadaşlar için (kendim de buna dahilim) en uygun başlangıç bence web uygulamalarından başlamak. Bir konsol uygulaması yapıp ekrana “Hello, Nerd!” yazdırdıktan sonra “ee ben şimdi java mı kodladım” duygusundan arınmanın yolu burdan geçiyo, JSP. JSP Java ortamına alışmanın en kolay (nispeten kolay) yolu. İşlerinizi kolaylaştıran bir IDE edinip kodlamaya başlayacağınız ortamı kurduktan sonra javanın kahve kokan dünyasına ilk adımınızı atabilirsiniz. (ne güzel konuştum be)
NetBeans hoşgeldiniz sayfası Örnek uygulamayı ben Netbeans 4.1 ile yazdım, Netbeans ve diğer ide’lerle ilgili detaylı başka bir yazı daha yazmayı düşünüyoruz. Bu yüzden ben bu kısmı atlıyorum. (oh oh)
Yeni web uygulaması Netbeans’i çalıştırdıktan sonra New Project -> Web -> Web Application seçtikten sonra
Web uygulaması ayarları Project Name ile proje adını NerdWeb olarak veriyorum, Project Location’a da java projelerimi kaydettiğim dizini belirtiyorum. Web Application yazdığımız için bir adet web server’a ihtiyacımız var. Bunu da Netbeans ile beraber gelen Tomcat ile halledeceğiz. Server kısmından Bundled Tomcat (5.5.7) yi seçiyoruz ve Finish diyoruz.
Classpath taraması Burada Netbeans proje dosyalarını otomatik olarak oluşturuyor ve autocomplete özelliği için libraryleri tarıyor. Bu işlemi projeye yeni bir library eklediğinde de yapıyor(muş CEO’m dedi)
Öntanımlı JSP sayfası Bu işlemden sonra artık JSP kodlamaya hazır bir projemiz var. Netbeans bizim için bir index.jsp dosyası hazırlamış saolsun
Paket yaratma İşe önce örnek maksatlı bir adet java package oluşturmakla başlayalım. Proje penceresinde projemizin adına sağ tuşla tıklayıp New’den Java Package’ı seçiyoruz
Paket ayarları Paket ismine ben org.manyaklari.java ismini veriyorum, Location olarak da Source Packages diyorum.
Paket yaratıldı Paketimiz oluşuyor. Bundan sonra oluşturacağımız Class dosyalarında bu paketi seçmek suretiyle kullanabiliyoruz.
Yeni sınıf Bir tane de class ekleyelim de kodumuz kod olsun. Yine proje penceresinden sağ tuşla New deyip Java Class ekliyoruz
Yeni sınıf ayarları Class ismimiz JavaNerd olsun, Location yine Source Packages, burda dikkat edeceğimiz şey bakınız Package combosuna demin yarattığımız org.manyaklari.java paketi gelmiş, onu seçiyoruz
Yeni sınıf yaratıldı Class dosyamız da hazır, artık içini yazmaya geldi sıra. JavaNerd.java dosyasına aşağıdaki kodları yazıyoruz
JavaNerd.java
package org.manyaklari.java;
/**
*
* @author jasfid
*/
public class JavaNerd
{
private String Name;
private String Email;
public String getName()
{
return this.Name;
}
public String getEmail()
{
return this.Email;
}
public void setName(String Name)
{
this.Name = Name;
}
public void setEmail(String Email)
{
this.Email = Email;
}
public JavaNerd()
{
}
public String getNerdInfo()
{
return “<b>” + this.Name +
“</b> / <a href=’mailto:” + this.Email + “‘>” + this.Email + “</a>”;
}
}
Yazdığımız class dosyası içerisinde isim ve email tutan ve istendiğinde getNerdInfo() metodu ile bu bilgileri belirli bir formatta geri dönen basit (ve oldukça işlevsiz) bir class. Bu class’ı yazdıktan sonra index.jsp ye dönerek ona da aşağıdaki kodları yazıyoruz
index.jsp
<%@page contentType=”text/html”%>
<%@page pageEncoding=”UTF-8″%>
<%@page import=”org.manyaklari.java.*”%>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
<title>Nerd Web</title>
</head>
<body>
<h1>My Nerds</h1>
<%
// yukarıda import ettiğimiz JavaNerd class’ından
// bir kopya yaratıp içeriğini sayfaya yazıyoruz
JavaNerd nerd = new JavaNerd();
nerd.setName(”Doomdeath”);
nerd.setEmail(”doomdeath at manyaklari dot org”);
out.print( nerd.getNerdInfo() );
%><br />
<jsp:useBean id=”nerd2″ class=”org.manyaklari.java.JavaNerd” />
<jsp:setProperty name=”nerd2″ property=”name”
value=”vinnie”/>
<jsp:setProperty name=”nerd2″ property=”email”
value=”vinnie at manyaklari dot org”/>
<jsp:getProperty name=”nerd2″ property=”nerdInfo” />
</body>
</html>
Derleme zamanı Kodlar hazır artık derleme zamanı
Çalıştırma F6′ya basarak projemizin derlenmesini, deploy edilmesini ve çalıştırılmasını sağlıyoruz.
Tarayıcı çıktısı Sonuç çıktısı tarayıcıdan bu şekilde görüntüleniyor.
Şimdi geri dönüp proje dosyalarını inceleyelim. Projeyi kaydettiğim dizini açıyorum, içerisindeki dizinleri de şöyle bir inceleyelim, nedir bunlar?
build: içerisinde projenin derlenmiş hali bulunuyor. Bu örnekte Web diye bir dizin var, bunun içerisinde META-INF, WEB-INF ve index.jsp bulunuyor.
WEB-INF dizini içerisinde classes dizininde paketlediğimiz şekilde class dosyaları ve web.xml dosyası bulunuyor. web.xml dosyası Deployment Descriptor denen bir nevi projenin ayar dosyası görevini yapmakta. Ne gibi derseniz örneğin herhangi bir jsp adı verilmediğinde index.jsp nin otomatik olarak çağırılacağını, session time out süresini vb ayarları burdan yapıyoruz. (bi de kod icine yazmak istemedigimiz security gibi olaylari da buraya yaziyoruz - CEO) Aslında web.xml dosyası oldukça detaylı bir dosya, referanslardan bakabilirsiniz, şimdilik bu kadarı bize yeter.
META-INF dizini içerisinde projemiz ile ilgili bilgiler bulunuyor. MANIFEST.MF dosyası projemiz ile ilgili örneğin CLASSPATH bilgisini yazabileceğimiz, projenin copyright’ı ıvır zıvırı belirtebileceğimiz bir dosya. Normal java uygulamalarında Main Class’ımızı bu dosyada belirtiyoruz misal. context.xml dosyası da Tomcat’e ait bir dosya, projemizin hangi isim ile çağırılacağını belirtiyor. Bizim örneğimizde NerdWeb, başka serverlarda başka dosyalar bulunabilir tabii.
Bu dizinde bir de index.jsp dosyası bulunuyor. Başka jsp dosyalarımız da olsaydı onlar da burada olacaktı. Neden class dosyaları WEB-INF altındayken JSP ler burda diyorsanız, Java da JSP’ler source olarak değil resource olarak ele alınıyorlar. Bu yüzden bu dosyalar classlardan ayrı tutuluyor.
dist: içerisinde projemizin WAR (web archive) hali bulunuyor. Bu dosyayı WinRAR ile açtığınızda aynı build dizininin içeriğini görüyorsunuz. Web uygulamalarını deploy etmenin bir yolu da WAR dosyasını örneğin Tomcat’in webapps dizini içerisine kopyalamak. Bütün yapacağınız bu, Tomcat gerisini kendi hallediyor. Netbeans de isterseniz böyle deploy edin diye WAR dosyasını bizim için otomatik oluşturuyor.
nbproject: bu dizinde Netbeans’e ait proje dosyaları bulunuyor. Yani bizi ilgilendirmiyor.
src: bu dizin bizim java source’larının bulunduğu dizin. Java dizininde bizim paket hiyerarşimize göre kaynak dosyalar bulunuyor. src dizininde ayrıca conf dizini altında daha önce bahsettiğim MANIFEST.MF dosyası bulunuyor.
test: test dizininde projemizi test ederken kullandığımız dosyalar bulunuyor, biz kullanmadığımız için burası boş
web: bu dizinde de build dizinine kopyalanan WEB-INF, META-INF ve JSP dosyaları bulunuyor.
son olarak da build.xml dosyasını görüyoruz. Bu da projenin derlenmesi ile alakalı bir ayar dosyası.
Tüm bunlardan sonra “vay be JSP yazdım” diye mutlu olup sonra güzel bir JSP referans kitabı bularak ordan çalışmaya başlıyorsunuz.
Ahanda projeyi de buradan çekebilirsiniz, ayrıca lazımlı şeyleri download kısmısından da edinebilirsiniz…
“jasfid honolulu’dan bildirdi”
Social Bookmarking
July 20th, 2008 at 14:03
Любопытно написано. Можно сказать за душу цепляет, ну и заставляет поразмышлять над собственным блогом. С уважением, Елена.