Bir oluşturmak için 6 adım verilmiştir. sunucu uygulaması örneği . Bu adımlar tüm sunucular için gereklidir.
Servlet örneği üç yolla oluşturulabilir:
- Servlet arayüzünü uygulayarak,
- GenericServlet sınıfını miras alarak, (veya)
- HttpServlet sınıfını miras alarak
En çok kullanılan yaklaşım HttpServlet'i genişletmektir çünkü doGet(), doPost(), doHead() vb. gibi http isteğine özgü yöntemler sağlar.
Burada kullanacağız apache tomcat sunucusu bu örnekte. Adımlar aşağıdaki gibidir:
- Bir dizin yapısı oluşturun
- Servlet Oluştur
- Servlet'i derleyin
- Dağıtım tanımlayıcısı oluşturma
- Sunucuyu başlatın ve projeyi dağıtın
- Servlet'e erişme
bu servlet örneğini indir
GenericServlet'i genişleterek servlet örneğini indirin
Servlet arayüzünü uygulayarak servlet örneğini indirin
1) Bir dizin yapısı oluşturun
dizin yapısı Web taşıyıcısının bilgiyi alabilmesi ve istemciye yanıt verebilmesi için farklı türdeki dosyaların nereye yerleştirileceğini tanımlar.
Sun Microsystem, tüm sunucu satıcılarının uyması gereken benzersiz bir standart tanımlar. Servlet oluşturmak için izlenmesi gereken dizin yapısını görelim.
Gördüğünüz gibi servlet sınıf dosyasının sınıflar klasöründe olması gerekiyor. web.xml dosyası WEB-INF klasörü altında olmalıdır.
2) Bir Servlet oluşturun
Servlet oluşturmanın üç yolu vardır.
|
Bu örnekte HttpServlet sınıfını genişleten bir servlet oluşturacağız. Bu örnekte HttpServlet sınıfını devralıyoruz ve doGet() yönteminin uygulanmasını sağlıyoruz. Alma isteğinin varsayılan istek olduğuna dikkat edin. |
DemoServlet.java
import javax.servlet.http.*; import javax.servlet.*; import java.io.*; public class DemoServlet extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException { res.setContentType('text/html');//setting the content type PrintWriter pw=res.getWriter();//get the stream to write the data //writing html in the stream pw.println(''); pw.println('Welcome to servlet'); pw.println(''); pw.close();//closing the stream }}
3)Servlet'i derleyin
Servlet'in derlenmesi için jar dosyasının yüklenmesi gerekmektedir. Farklı Sunucular farklı jar dosyaları sağlar:
Kavanoz dosyası | Sunucu |
---|---|
1) servlet-api.jar | Apaçi Tomcat |
2) weblogic.jar | Web mantığı |
3) javaee.jar | Cam balığı |
4) javaee.jar | JBoss |
Jar dosyasını yüklemenin iki yolu
- sınıf yolunu ayarla
- jar dosyasını JRE/lib/ext klasörüne yapıştırın
Java dosyasını herhangi bir klasöre koyun. Java dosyasını derledikten sonra servlet'in sınıf dosyasını yapıştırın. WEB-INF/sınıflar dizin.
4)Dağıtım tanımlayıcısını oluşturun (web.xml dosyası)
dağıtım tanımlayıcısı Web Container'ın çağrılacak hizmetle ilgili bilgileri aldığı bir xml dosyasıdır.
Web kapsayıcısı, web.xml dosyasından bilgi almak için Ayrıştırıcıyı kullanır. SAX, DOM ve Pull gibi birçok xml ayrıştırıcısı vardır.
web.xml dosyasında birçok öğe vardır. Burada basit servlet programını çalıştırmak için gerekli bazı unsurlar verilmiştir.
web.xml dosyası
sonoojaiswal DemoServlet sonoojaiswal /welcome
web.xml dosyasının öğelerinin açıklaması
web.xml dosyasında çok fazla öğe var. Yukarıdaki web.xml dosyasında kullanılan bazı öğelerin çizimi burada verilmiştir. Unsurlar aşağıdaki gibidir:
uygulamanın tamamını temsil eder. |
servlet'in alt öğesidir ve servlet'i temsil eder. |
servlet'in adını temsil eden alt öğedir. |
servlet'in sınıfını temsil eden alt öğesidir. |
'nin alt öğesidir. Servlet'i haritalamak için kullanılır. |
'nin alt öğesidir. Bu model istemci tarafında servlet'i çağırmak için kullanılır. |
5)Sunucuyu başlatın ve projeyi dağıtın
Apache Tomcat sunucusunu başlatmak için apache-tomcat/bin dizini altındaki startup.bat dosyasına çift tıklayın.
Apache Tomcat Sunucusu için Tek Seferlik Yapılandırma
2 görevi gerçekleştirmeniz gerekir:
- Ortam değişkeninde JAVA_HOME veya JRE_HOME'u ayarlayın (Sunucuyu başlatmak için gereklidir).
- Tomcat'in bağlantı noktası numarasını değiştirin (isteğe bağlı). Aynı portta (8080) başka bir sunucu çalışıyorsa gereklidir.
1) Java_HOME ortam değişkeninde nasıl ayarlanır?
Apache Tomcat sunucusunu başlatmak için Ortam değişkenlerinde JAVA_HOME ve JRE_HOME ayarlanmalıdır.
Bilgisayarım özelliklerine gidin -> Gelişmiş sekmesine ve ardından ortam değişkenlerine tıklayın -> Kullanıcı değişkeninin yeni sekmesine tıklayın -> Değişken ismine JAVA_HOME yazın ve jdk klasörünün yolunu değişken değerine yapıştırın -> tamam -> tamam -> tamam .
Linux'u barındır
Bilgisayarım özelliklerine gidin:
Gelişmiş sistem ayarları sekmesine ve ardından ortam değişkenlerine tıklayın:
rastgele sql'ye göre sırala
Kullanıcı değişkeninin veya sistem değişkeninin yeni sekmesine tıklayın:
Değişken ismine JAVA_HOME yazın ve jdk klasörünün yolunu değişken değerine yapıştırın:
Yolun sonunda noktalı virgül (;) olmamalıdır.
JAVA_HOME ayarını yaptıktan sonra Apache Tomcat/bin içindeki startup.bat dosyasına çift tıklayın. |
Not: İki tür erkek kedi mevcuttur:
|
Yalnızca çıkarılması gereken Apache Tomcat örneğidir. |
Artık sunucu başarıyla başlatıldı.
2) Apache Tomcat'in port numarası nasıl değiştirilir?
Aynı sistemde aynı port numarasına sahip başka bir sunucu çalışıyorsa port numarasını değiştirmek gerekir. Diyelim ki oracle yüklediniz, apache tomcat'in port numarasını değiştirmeniz gerekiyor çünkü her ikisinin de varsayılan port numarası 8080.
Açık sunucu.xml dosyası not defterinde. İçinde bulunur apache-tomcat/conf dizin. Connector port = 8080 olarak değiştirelim ve 8080 yerine 8080 yerine dört haneli herhangi bir sayı yazalım. Bunu 9999 ile değiştirelim ve bu dosyayı kaydedelim.
5) Servlet projesi nasıl dağıtılır
Projeyi kopyalayın ve Apache Tomcat'in altındaki webapps klasörüne yapıştırın.
Ancak projeyi dağıtmanın birkaç yolu vardır. Bunlar aşağıdaki gibidir:
- Bağlam (proje) klasörünü webapps dizinine kopyalayarak
- War klasörünü webapps dizinine kopyalayarak
- Sunucudan klasör yolunu seçerek
- Sunucudan savaş dosyasını seçerek
Burada ilk yaklaşımı kullanıyoruz.
Ayrıca savaş dosyası oluşturabilir ve bunu webapps dizinine yapıştırabilirsiniz. Bunu yapmak için war dosyasını oluşturmak üzere jar aracını kullanmanız gerekir. Proje dizininin içine girin (WEB-INF'den önce), ardından şunu yazın:
projectfolder> jar cvf myproject.war *
Savaş dosyası oluşturmanın, projeyi bir yerden başka bir yere taşımanın daha az zaman alması gibi bir avantajı vardır.
6) Servlet'e nasıl erişilir?
Broser'ı açın ve http://hostname:portno/contextroot/urlpatternofservlet yazın. Örneğin:
http://localhost:9999/demo/welcome
bu servlet örneğini indirin (not defteri kullanarak)
GenericServlet'i genişleterek servlet örneğini indirin
Servlet arayüzünü uygulayarak servlet örneğini indirin