Java Servlet, JSP ve Ajax ile Web 2.0 Uygulamaları Geliştirme
Kurs Dili: Türkçe/İngilizce
Süre: 3 gün
Bu kurs, Servlet ve JSP gibi Java EE teknolojilerini kullanarak Web 2.0 uygulamaları geliştirmek
için gereken tüm bilgi ve birikimi katılımcılara aktarmak üzere
tasarlanmıştır. Java Servlet'leri, kullanıcı tarafından girilen verilerin CGI tabanlı
uygulamalardaki kısıtlardan uzak, esnek bir biçimde işlenmesini ve kullanılmasını
mümkün kılar. JSP teknolojisi ise Java ve Servlet'ler tarafından sunulan olanakları kullanarak
gelişmiş düzeyde dinamik web içeriği sağlamayı kolaylaştırır.
Ajax teknolojisi ise sağladığı görsel özellikler ve kullanışlılık ile web sayfalarının dinamik
içerik zenginliğine katkıda bulunmaktadır.
Java Servlet ve JSP, web uygulamaları geliştirmek için kullanılan temel "server-side" Java
teknolojileridir. Servlet'ler bir web server üzerinde çalışır ve istemci
sorgularına cevap verirler. JSP ise iş yükünü Java geliştirmeden sorumlu uzmanlar ve HTML
tasarımcılar arasında daığtmak bakımından faydalıdırlar.
Ajax, bir web sayfasının kullanıcı isteklerine karşı dinamik ve etkin bir cevap oluşturmasında
yardımcı teknikler sunar. Bu kurs, katılımcılara Servlet ve JSP tasarım ve
programlamasında kapsamlı bir içerik sunmaktadır. Kurs kapsamında bulunan konular:
- Ölçeklenebilir web uygulamaları geliştirme
- Servlet ve JSP teknolojileri
- Custom tag" geliştirme
- Web uygulama tasarım ve mimarisi (Model 2 ile)
- Çeşitli Web uygulama teknikleri
- Web güvenliği
- Ajax (sıfırdan başlayarak)
- Ajax araç kitleri ve Framework'üne giriş (Dojo, vb.)
- DWR
Uygulama geliştirmede doğru mimari ve tasarım oldukça önemlidir. Bu nedenle Model 2 kapsamındaki
tüm mimariler öğretilmektedir (Struts, JSF ve Spring MVC gibi
Framework'lerde de takip edilen standart). Bu kurs kapsamında Servlet ve JSP, teknolojilerin
bir listesi şeklinde değil, anlam ifade ettikleri mimari kapsamda ele
alınarak açıklanmaktadır.
Kurs İçeriği
Session 1: Introduction to Java EE Web applications
Lesson: Introduction
- Understand the concept of dynamic web applications
- List the Web technologies in Java EE 5
- Understand for each their purpose and architectural position
- Get an overview of the deployable unit of a web application
- Explain the principles of Servlet and JSP
- Introduce JSF
Lesson: Introduction to Servlets and JSP
- Introduce the Model 2 Architecture (MVC for the web)
- Understand the architectural relation between Servlets and JSP
- Understand the responsibilities and typical implementation technology of each element in Model 2
- Understand how to write a Servlet to process a form
- Understand how to configure a Servlet in de web.xml deployment descriptor
- Understand the basic Servlet API
- Understand how to write a JSP
- Understand the different techniques available in JSP
- Introduce attributes, their scope and their role in the Model 2 architecture
- Introduce the use and syntax of Unified Expression Language
- Introduce JSP standard actions
- Introduce JSTL
- Mention and discuss language based scripting
Session 2: Java EE Web Applications
Lesson: Configuration (Databases, EJBs and configuration data)
- Adding ServletContext parameters
- Data access in Web Applications
- Accessing resources (e.g., Datasources) using Dependency injection (DI)
- Discuss shortcomings of DI
- Explain the process of a JNDI lookup
- Use the DAO (Data Access Object) pattern
- How to locate EJBs.
Lesson: Session Management
- Client side session management using cookies
- Understand HTTP cookies
- Understand under which criteria cookies are accepted
- Server side session management using HttpSession object
- Understand the architectural impact when using server side state management (failt-over, server affinity, session replication etc)
- Understand the two web-application life-cycle listeners
- Understand the three session life-cycle listeners
- Understand when to use an HttpSessionBindingListener
Lesson: Security
- Understand the security tasks and how they are addressed in Java EE
- Understand how to establish proof of identity in web applications
- Understand how to restrict access to parts of the web application
- Understand how to establish data integrity and privacy
- Explain the configuration of security and the power of indirection
- Understand Users, Groups & Roles
- Understand role based security
- Understand principal mapping strategies
Lesson: Programming Java EE Filters
- Understand the concept of filtering and chaining of filters.
- List the three methods of the javax.servlet.Filter Interface and explain their purpose
- Configuring a Filter in the deployment descriptor
- Understand the rationale behind the interceptor pattern
- Understand the use of the Wrapper pattern in Filters
- Understand how to use the HttpServletRequestWrapper and theHttpServletResponseWrapper
Lesson: Introduction to Custom Tags
- Understand the proposed architectural role of Custom Tags
- List the components that make up a Custom Tag
- Understand the rationale behind the <file>TLD</file> file
- Understand how to make a deployable unit of your Tag Library
- Understand how to deploy a Tag Library in your web applications
- Understand the possible need for further validation of tag usage using TEI and Validators
- How to declare and enable attributes to your tag
- How to declare scripting variables
Session 3: Introduction to AJAX
Lesson: Introduction to Ajax
- Introduce Ajax and its principles
- Understand the technologies involved
- Understand the architecture of Ajax
- Make a first Ajax enabled web page
- Introduce the W3C XMLHttpRequest (XHR)
- Understand the XHR API and lifecycle
- Discuss security restrictions on Ajax
Lesson: Using XML (Ajax) and JSON (Ajaj)
- Use XML requests and response
- Introduce W3C DOM
- Understand the DOM Levels and browser support
- Use DOM to create and parse XML documents
- Understand and address browser differences in using DOM
- Understand how to use Web Services and REST in conjunction with Ajax
- Introduce JSON
- Ajaj: Receive and use JSON
Lesson: Ajax Technologies and Frameworks
- Ajax Toolkits (Dojo)
- Direct Web Remoting (DWR)
- Understand the DWR architecture
- Understand the workings of DWR
- Configure a Web Application and DWR
- Understand how to use DWR
- Use Java objects as argument and return types
- Advanced DWR configuration