<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-9096516796305846522</atom:id><lastBuildDate>Thu, 01 Jan 2026 19:46:45 +0000</lastBuildDate><category>xml</category><category>java</category><category>tomcat</category><category>ANDHRA PRADESH</category><category>AP RESULTS</category><category>AP SSC RESULTS</category><category>J2EE</category><category>SQL</category><category>SSC RESULTS</category><category>SSC RESULTS 2009</category><category>TOPLINK</category><title>Java Global FAQ</title><description>Collections of java related faq on ALL java related technologies</description><link>http://globaljavafaq.blogspot.com/</link><managingEditor>noreply@blogger.com (test)</managingEditor><generator>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-3052906654739247648</guid><pubDate>Wed, 21 Jul 2010 19:24:00 +0000</pubDate><atom:updated>2010-07-22T00:54:30.664+05:30</atom:updated><title>Taj Mahal or Tejo Mahalya</title><description>Check out this SlideShare Presentation: &lt;div style=&quot;width:425px&quot; id=&quot;__ss_1113206&quot;&gt;&lt;strong style=&quot;display:block;margin:12px 0 4px&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/atripathy86/taj-mahal-or-tejo-mahalya&quot; title=&quot;Taj Mahal or Tejo Mahalya&quot;&gt;Taj Mahal or Tejo Mahalya&lt;/a&gt;&lt;/strong&gt;&lt;object id=&quot;__sse1113206&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=taj-090306211505-phpapp02&amp;stripped_title=taj-mahal-or-tejo-mahalya&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed name=&quot;__sse1113206&quot; src=&quot;http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=taj-090306211505-phpapp02&amp;stripped_title=taj-mahal-or-tejo-mahalya&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;padding:5px 0 12px&quot;&gt;View more &lt;a href=&quot;http://www.slideshare.net/&quot;&gt;presentations&lt;/a&gt; from &lt;a href=&quot;http://www.slideshare.net/atripathy86&quot;&gt;Aalap Tripathy&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2010/07/taj-mahal-or-tejo-mahalya.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-6828979258019047374</guid><pubDate>Fri, 19 Jun 2009 12:40:00 +0000</pubDate><atom:updated>2009-06-19T18:10:48.581+05:30</atom:updated><title>mignonesia: My Fried banana in peanut caramel sauce recipe.</title><description>&lt;a href=&quot;http://mignonesia.blogspot.com/2009/06/my-fried-banana-in-peanut-caramel-sauce.html&quot;&gt;mignonesia: My Fried banana in peanut caramel sauce recipe.&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/06/mignonesia-my-fried-banana-in-peanut.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-5111937506798468853</guid><pubDate>Wed, 27 May 2009 06:35:00 +0000</pubDate><atom:updated>2009-05-27T12:13:22.748+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">ANDHRA PRADESH</category><category domain="http://www.blogger.com/atom/ns#">AP RESULTS</category><category domain="http://www.blogger.com/atom/ns#">AP SSC RESULTS</category><category domain="http://www.blogger.com/atom/ns#">SSC RESULTS</category><category domain="http://www.blogger.com/atom/ns#">SSC RESULTS 2009</category><title>AP - SSC RESULTS 2009</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Andhra pradesh SSC results2009 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;br /&gt;|AP SSC 2009 Results Available at 11:00 AM today&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;SC results (10th class) of the Andhra pradesh state will be declared on the 27th of May 2009. It was scheduled to be released much earlier than 27th but due to the new Government formation it is a bit delayed, because THE EDUCATION MINISTER WILL BE BUSY ON 25TH TAKING HIS OATH.......AS THE EDUCATION MINISTER.....SO...THE RESULTS ARE POST-PONED TO 27TH.....!!! The new education Minister will release the results on 27th.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;To check your SSC Result 2009 online, visit for SSC Results (General) and&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;SSC Results (Vocational)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://schools9.com/default.htm&quot;&gt;Schools9&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.results.manabadi.co.in/&quot;&gt;results.manabadi.co.in&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;check hurry up..... keep enjoy.....&lt;br /&gt;&lt;b style=&quot;font-style: italic;&quot;&gt;&lt;span style=&quot;font-family:Courier New;font-size:130%;color:gray;&quot;&gt;&lt;span style=&quot;font-weight: bold; font-size: 13pt; color: gray; font-family: &#39;Courier New&#39;;&quot;&gt;If  you can&#39;t change your fate, change your attitude&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/05/ap-ssc-results-2009.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-1388284863999474669</guid><pubDate>Sun, 08 Mar 2009 03:56:00 +0000</pubDate><atom:updated>2009-03-14T18:26:45.043+05:30</atom:updated><title>Foundations of Ajax</title><description>&lt;p align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Foundations of Ajax&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;p align=&quot;left&quot;&gt;&lt;strong&gt;&lt;br /&gt;Author:&lt;/strong&gt; Ryan AslesonNathaniel T. Schutta&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Overview of Book:&lt;/strong&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Foundations of Ajax is written to give you, the developer, all the tools you need to add Ajaxtechniques to your existing or future applications. Our motto while writing this book was,“Everything you need to know; nothing you don’t.” We assume that as a reader of this bookyou are already an experienced Web application developer. Because of this, we focus on thetopics that are most likely new to you: Ajax and its associated tools and techniques.We don’tspend much time talking about server-side languages because we assume you will developserver-side functionality using the toolset of your choice and that you don’t need our helpxixdoing it. We don’t spend time talking about how to build enterprise-scale applications that justhappen to use Ajax. Instead, we focus solely on Ajax and its related tools and techniques.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;The examples in this book are deliberately small and tightly focused. They demonstrateone or two important Ajax concepts as succinctly as possible. We assume that as an experiencedWeb developer you can extrapolate the demonstrated topic into your own environment;thus, we avoid cluttering the examples with information that is of little use to you.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align=&quot;justify&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--&lt;br /&gt;google_ad_client = &quot;pub-8846206068534456&quot;;&lt;br /&gt;/* 336x280, created 3/14/09 */&lt;br /&gt;google_ad_slot = &quot;0659795079&quot;;&lt;br /&gt;google_ad_width = 336;&lt;br /&gt;google_ad_height = 280;&lt;br /&gt;//--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type=&quot;text/javascript&quot;&lt;br /&gt;src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 1 discusses the themes of Web application development from the past, present,and future. It’s easier to see where development techniques are going once you know wherethey have been.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 2 introduces the XMLHttpRequest object. This is the Ajax concept with which you’relikely the least familiar, so we dedicate an entire chapter to explaining the XMLHttpRequestobject’s properties and methods. If you’re like us, you may not have even been aware of theXMLHttpRequest object until recently, despite that it has been available in Internet Explorer forseveral years. Therefore, we’ll take the time to properly discuss this object and what it can do.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 3 starts to get into the meat of Ajax. This chapter discusses the various ways inwhich the XMLHttpRequest object can communicate with the server. We discuss using XML,plain text, and even JavaScript Object Notation (JSON) as the transport medium and discussthe various ways in which you use them in conjunction with the XMLHttpRequest object. Bythe end of this chapter, you’ll be comfortable using the XMLHttpRequest object to communicatewith the server without forcing the user to suffer through a complete page refresh.Too often we, as developers, spend time learning how to use a new technology or techniquewithout learning about how to apply it. &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 4 solves this problem by demonstrating a numberof scenarios in which you can use Ajax techniques. As promised, each example is small andfocused, enabling you to better understand the topic without having to wade through copiousamounts of unnecessary information.Chapters 5, 6, and 7 are worth their weight in gold to the new Ajax developer. We don’twant you to start enhancing your applications with Ajax without being equipped with theproper tools and techniques to do so. Chapter 5 introduces several tools and techniques thatyou can use to ease the development of Web applications. The tools and techniques describedin &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 5 will help you produce code that is higher in quality, adheres to industry standards,and is easier to maintain in the future.Test-driven development (TDD) is changing the way we develop applications. By writingunit tests before you write any code, you can ensure that the code you write is workingas expected, greatly increasing the quality of your code. A suite of unit tests also makesfuture changes easier by ensuring that all code still works as expected after changes aremade. There’s no reason to exclude Ajax from TDD, and since the benefits of TDD cannotbe overstated, we dedicate an entire chapter to it. Since Ajax is primarily a browser-basedtechnology, &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 6 demonstrates how to apply TDD to your JavaScript code.Speaking of JavaScript, if you’re going to use Ajax, you’re going to have to write at leastsome JavaScript. Many developers have shied away from JavaScript, claiming it lacks importantproductivity tools such as debuggers to be truly useful. That is no longer true. &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 7 discusses tools and techniques you can use to track down problems when they arise and solvethem as quickly and easily as possible. No longer must you avoid JavaScript with the fear thatyou won’t be able to diagnose problems when they arise.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Ajax is a rapidly evolving technology that has grown exponentially during the time wewere writing this book. &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Chapter 8 ties everything together by discussing emerging Ajax developmentpatterns, frameworks, and online resources. Also, the complete example in Chapter 8xx n INTRODUCTION shows some advanced Ajax techniques and demonstrates how easy Ajax development can bewhen using a prebuilt Ajax framework. Using a framework shields you from some of the moremundane tasks of Ajax development, allowing you to focus more on business logic than on thenuances of Ajax.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;To cap it all off, Appendix A outlines some quirks and inconsistencies that exist within theW3C DOM and JavaScript implementations that exist across browsers, and ways to overcomethese issues. Appendix B summarizes some of the most popular Ajax frameworks and librariesthat are available to simplify the adoption of Ajax techniques. The number of frameworks issure to grow as Ajax becomes more popluar, so stay on the lookout for emerging frameworksand other development tools.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;download Link:&lt;a href=&quot;http://www.ziddu.com/download/3120778/FoundationsofAjax.pdf.html&quot; target=&quot;_blank&quot;&gt;Click Here&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/03/foundations-of-ajax.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>4</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-5007559041765766348</guid><pubDate>Sat, 07 Mar 2009 08:35:00 +0000</pubDate><atom:updated>2009-03-07T14:20:26.899+05:30</atom:updated><title>Enterprise Java Beans</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Enterprise Java Beans?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Author: &lt;span style=&quot;font-weight: bold; font-style: italic;&quot;&gt;Gerard C. Weatherby&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Contents:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What are Enterprise Java Beans?&lt;/li&gt;&lt;li&gt;Glossary&lt;/li&gt;&lt;li&gt;Why use them? (Or why not.)&lt;/li&gt;&lt;li&gt;Enterprise Java Bean server features&lt;/li&gt;&lt;li&gt;Enterprise Java Bean roles&lt;/li&gt;&lt;li&gt;Enterprise Java Bean programming restrictions&lt;/li&gt;&lt;li&gt;How does it work (briefly)&lt;/li&gt;&lt;li&gt;Types of beans&lt;/li&gt;&lt;li&gt;An example&lt;/li&gt;&lt;li&gt;Deployment descriptor&lt;/li&gt;&lt;li&gt;Archive Files&lt;/li&gt;&lt;li&gt;J2EE Server&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Glossary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;• J2EE - Java 2 Enterprise Edition -- EJB’s + JSP’s etc.&lt;/li&gt;&lt;li&gt;• JMS - Java Messaging Service&lt;/li&gt;&lt;li&gt;• JNDI - Java Naming and Directory Interface&lt;/li&gt;&lt;li&gt;• JSP - Java Server page. Here this could mean JSPs, servlets,&lt;/li&gt;&lt;li&gt;and/or beans installed on the web server&lt;/li&gt;&lt;li&gt;• API - Application Programmer’s Interface&lt;/li&gt;&lt;li&gt;• JVM - Java Virtual Machine&lt;/li&gt;&lt;li&gt;• SQL - Structured Query Language&lt;/li&gt;&lt;li&gt;• AWT - abstract window toolkit&lt;/li&gt;&lt;li&gt;• I/O - input output&lt;/li&gt;&lt;li&gt;• J2EE RI - J2EE reference implementation&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;download links:&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: separate; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;font-family:&#39;Times New Roman&#39;;font-size:16;&quot;  &gt;&lt;a href=&quot;http://www.ziddu.com/download/3121015/EJB.pdf.html&quot; target=&quot;_blank&quot; style=&quot;font-family: Verdana; font-size: 12px; color: rgb(0, 97, 111); font-weight: bold;&quot;&gt;http://www.ziddu.com/download/3121015/EJB.pdf.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/03/enterprise-java-beans.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-7668059368511890815</guid><pubDate>Fri, 27 Feb 2009 14:53:00 +0000</pubDate><atom:updated>2009-02-27T20:47:30.277+05:30</atom:updated><title>Struts2.0 Framework Guide</title><description>&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Struts2.0 Framework Guide&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot; &quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Struts and webwork has joined together to develop the Struts 2 Framework. Struts 2 Framework is very extensible and elegant for the development of enterprise web application of any size. In this section we are going to explain you the architecture of Struts 2 Framework.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana; font-size: 13px; font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;  &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: bold;&quot;&gt;Contents:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; font-weight: bold; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts 2 Architecture &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Why Struts2 &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts 1.x Vs Struts 2.x &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts HelloWorld Example &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Developing JSP, Java and Configuration for Hello World Application &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts Configuration file - struts.xml &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts 2 Login Application &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts 2 Validation Example Running and Testing &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts 2 Login application &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Client Side validation in Struts 2 application &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Validations using Struts 2 Annotations Login/Logout With Session &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Struts 2 MySQL &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Rich Editor Example &lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Validate TextArea Introduction to Struts 2 Tags Append Tag (Control Tags) Example&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: verdana;&quot;&gt;Java Captcha in Struts 2 Application&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana; font-size: 13px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;For More Information:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;a href=&quot;http://www.ziddu.com/download/3104373/struts2tutorial.zip.html&quot;&gt;http://www.ziddu.com/download/3104373/struts2tutorial.zip.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;a href=&quot;http://www.ziddu.com/download/3104340/Struts2Framework.doc.html&quot;&gt;http://www.ziddu.com/download/3104340/Struts2Framework.doc.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;a href=&quot;http://www.ziddu.com/download/3104369/struts2.doc.html&quot;&gt;http://www.ziddu.com/download/3104369/struts2.doc.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&lt;a href=&quot;http://www.ziddu.com/download/3104370/WE9-struts-2.0.ppt.html&quot;&gt;http://www.ziddu.com/download/3104370/WE9-struts-2.0.ppt.html&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://www.struts.apache.org&quot;&gt;http://www.struts.apache.org&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Keeps rocking in Struts2&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/02/struts20-framework-guide.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-7704556945543784096</guid><pubDate>Thu, 26 Feb 2009 12:07:00 +0000</pubDate><atom:updated>2009-02-26T17:43:29.227+05:30</atom:updated><title>Oracle Reports 10g</title><description>&lt;p align=&quot;center&quot;&gt;&lt;strong&gt;Oracle® ReportsBuilding Reports10g Release 2 (10.1.2)&lt;/strong&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;br /&gt;Our goal is to make Oracle products, services, and supporting documentationaccessible, with good usability, to the disabled community. To that end, ourdocumentation includes features that make information available to users of assistivetechnology. This documentation is available in HTML format, and contains markup tofacilitate access by the disabled community. Accessibility standards will continue toevolve over time, and Oracle is actively engaged with other market-leadingtechnology vendors to address technical obstacles so that our documentation can beaccessible to all of our customers. For more information, visit the Oracle AccessibilityProgram Web site at&lt;a href=&quot;http://www.oracle.com/accessibility/&quot;&gt;http://www.oracle.com/accessibility/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;download:&lt;br /&gt;&lt;a class=&quot;normal12blue&quot; href=&quot;http://www.ziddu.com/download/3646524/OracleReports.pdf.html&quot;&gt;http://www.ziddu.com/download/3646524/OracleReports.pdf.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/02/oracle-reports-10g.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-2759814280182468781</guid><pubDate>Thu, 08 Jan 2009 07:14:00 +0000</pubDate><atom:updated>2009-01-08T12:59:09.958+05:30</atom:updated><title>Struts 2.0 Framework Guide</title><description>&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2.0 Framework Guide&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;this tutorial contains below topics:&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 Architecture&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Why Struts 2&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 1.x Vs Struts 2.&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Download and Installing Struts 2&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 Hello World Application Example, &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Developing JSP, Java and Configuration for Hello World Application&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 Login Application&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 Validation Example&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Running and Testing Struts 2 Login application&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Client Side validation in Struts 2 application&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Validations using Struts 2 Annotations&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Introduction to Struts 2 Tags&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 Examples&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 Resources Examples&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Struts 2 IDE&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Java Captcha in Struts 2 Application&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;download link:&lt;br /&gt;&lt;/span&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3104340/Struts2Framework.doc.html&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;http://www.ziddu.com/download/3104340/Struts2Framework.doc.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;source code download:&lt;br /&gt;&lt;/span&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3104373/struts2tutorial.zip.html&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;http://www.ziddu.com/download/3104373/struts2tutorial.zip.html&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align=&quot;left&quot;&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/struts-20-framework-guide.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-5301789957626345762</guid><pubDate>Thu, 08 Jan 2009 07:02:00 +0000</pubDate><atom:updated>2009-01-20T17:48:48.456+05:30</atom:updated><title>Java core topics in deep</title><description>&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Java Core topics in Deep knowledge:&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;topics include:&lt;/strong&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;interface vs abstract class &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;serialization &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;How To Use Generics&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;Comparator/Comparable&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;Generics and Serialised Objects&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;Recipes for Quoting Awkward Characters in Java Regexes in Java source code String Literals&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;Examples of Collections&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;;font-family:trebuchet ms;font-size:85%;&quot;  &gt;Collection Classes and Interfaces&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: rgb(51, 51, 255);font-family:trebuchet ms;font-size:85%;&quot;  &gt;download link:&lt;/span&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3104329/interfacevsabstractclass.doc.html&quot;&gt;&lt;span style=&quot;color: rgb(51, 51, 255);font-family:trebuchet ms;font-size:85%;&quot;  &gt;click here&lt;/span&gt;&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/java-core-topics-in.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-3816473398396519154</guid><pubDate>Thu, 08 Jan 2009 06:52:00 +0000</pubDate><atom:updated>2009-01-08T12:30:03.905+05:30</atom:updated><title>Generics in the Java Programming Language</title><description>&lt;div align=&quot;center&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:130%;&quot;&gt;&lt;strong&gt;Generics in the Java Programming Language&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Author:&lt;/strong&gt;&lt;br /&gt;Gilad Bracha&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:Trebuchet MS;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Book Descriptions:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;JDK 1.5 introduces several extensions to the Java programming language. One of these&lt;br /&gt;is the introduction of generics.&lt;br /&gt;This tutorial is aimed at introducing you to generics. You may be familiar with&lt;br /&gt;similar constructs from other languages, most notably C++ templates. If so, you’ll soon&lt;br /&gt;see that there are both similarities and important differences. If you are not familiar&lt;br /&gt;with look-a-alike constructs from elsewhere, all the better; you can start afresh, without&lt;br /&gt;unlearning any misconceptions.&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;topics include:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;1 Introduction&lt;br /&gt;2 Defining Simple Generics&lt;br /&gt;3 Generics and Subtyping&lt;br /&gt;4 Wildcards&lt;br /&gt;&lt;em&gt;    4.1 Bounded Wildcards . . . . . .... . . . . . . . . .&lt;br /&gt;&lt;/em&gt;5 Generic Methods&lt;br /&gt;6 Interoperating with Legacy Code&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;    6.1 Using Legacy Code in Generic Code . . . . . .&lt;br /&gt;    6.2 Erasure and Translation . . . . . . . .. . . . . .&lt;br /&gt;    6.3 Using Generic Code in Legacy Code . . . . . .&lt;/em&gt;&lt;br /&gt;7 The Fine Print&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;    7.1 A Generic Class is Shared by all its Invocations&lt;br /&gt;    7.2 Casts and InstanceOf . . . .. .. .. . . . . . . . .&lt;br /&gt;    7.3 Arrays . . . . . . .... . . . . .. ... . . . . . . . . .&lt;/em&gt;&lt;br /&gt;8 Class Literals as Run-time Type Tokens&lt;br /&gt;9 More Fun with Wildcards&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;   9.1 Wildcard Capture . . . . . . . ..... . . . . . . . .&lt;br /&gt;&lt;/em&gt;10 Converting Legacy Code to Use Generics&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:Trebuchet MS;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;color:#3333ff;&quot;&gt;download link:&lt;/span&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3121098/generics-tutorial.pdf.html&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;color:#3333ff;&quot;&gt;http://www.ziddu.com/download/3121098/generics-tutorial.pdf.html&lt;/span&gt;&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/generics-in-java-programming-language.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-8477005838399705519</guid><pubDate>Thu, 08 Jan 2009 06:45:00 +0000</pubDate><atom:updated>2009-01-08T12:21:19.332+05:30</atom:updated><title>Sun Certified programmer and Developer Java2(j2se1.4) Study_Guide</title><description>&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Sun Certified programmer and Developer Java2 Study_Guide&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;This Zip contains the chapters about &lt;strong&gt;&lt;em&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;Java 1.4 cerfication Exam&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt; guide: &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Chapter 1: Language Fundamentals&lt;br /&gt;Chapter 2: Declarations and Access Control&lt;br /&gt;Chapter 3: Operators and Assignments&lt;br /&gt;Chapter 4: Flow Control, Exceptions, and Assertions&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Chapter 5: Object Orientation, Overloading and Overriding, Constructors, and Return Types&lt;br /&gt;Chapter 6: Java.lang—The Math Class, Strings, and Wrappers&lt;br /&gt;Chapter 7: Objects and Collections&lt;br /&gt;Chapter 8: Inner Classes&lt;br /&gt;Chapter 9: Threads&lt;br /&gt;Chapter 10: Introduction to the SCJD&lt;br /&gt;Chapter 11: Coding Standards&lt;br /&gt;Chapter 12: Clarity and Maintainability&lt;br /&gt;Chapter 13: Designing the Graphical User Interface&lt;br /&gt;Chapter 14: Networking Issues&lt;br /&gt;Chapter 15: Database Issues&lt;br /&gt;Chapter 16: Exam Documentation&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Chapter 17: Final Submission and Essay&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;download link:&lt;/span&gt;&lt;br /&gt;&lt;a class=&quot;download&quot; target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3121101/rtified_programmer_and_Developer_Java2_Study_Guide.zip.html&quot;&gt;&lt;span style=&quot;font-size:85%;color:#3333ff;&quot;&gt;http://www.ziddu.com/download/3121101/rtified_programmer_and_Developer_Java2_Study_Guide.zip.html &lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/sun-certified-programmer-and-developer.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-3889131754554140568</guid><pubDate>Thu, 08 Jan 2009 06:17:00 +0000</pubDate><atom:updated>2009-01-08T12:05:18.838+05:30</atom:updated><title>Java 2, JDK 5 Edition</title><description>&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:130%;&quot;&gt;Beginning Java™ 2, JDK™ 5 Edition &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Author:&lt;/strong&gt;&lt;br /&gt;Ivor Horton’s&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;img style=&quot;WIDTH: 328px; HEIGHT: 400px; CURSOR: hand&quot; id=&quot;BLOGGER_PHOTO_ID_5288807503567134066&quot; border=&quot;0&quot; alt=&quot;&quot; src=&quot;http://1.bp.blogspot.com/_D0BloTpHxJY/SWWeZzeKHXI/AAAAAAAAEKs/TL6agaZKP1g/s400/java5.JPG&quot; /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Published by&lt;br /&gt;Wiley Publishing, Inc.&lt;br /&gt;10475 Crosspoint Boulevard&lt;br /&gt;Indianapolis, IN 46256&lt;br /&gt;www.wiley.com&lt;br /&gt;Copyright © 2005 by Ivor Horton&lt;br /&gt;Published by Wiley Publishing, Inc., Indianapolis, Indiana&lt;br /&gt;Published simultaneously in Canada&lt;br /&gt;ISBN: 0-7645-6874-4&lt;br /&gt;Manufactured in the United States of America&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Book Description:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Using this book you can learn java programming using latest and greatest java platform - Java 2 Standard Edition version 5.0 (J2SE 5.0)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Topics include&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 1: Introducing Java&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 2: Programs, Data, Variables, and Calculation&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 3: Loops and Logic&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 4: Arrays and Strings&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 5: Defining Classes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 6: Extending Classes and Inheritance&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 7: Exceptions&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 8: Understanding Streams&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 9: Accessing Files and Directories&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 10: Writing Files&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 11: Reading Files&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 12: Serializing Objects&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 13: Generic Class Types&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 14: The Collections Framework&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 15: A Collection of Useful Classes&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 16: Threads&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 17: Creating Windows&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 18: Handling Events&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 19: Drawing in a Window&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 20: Extending the GUI&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Chapter 21: Filing and Printing Documents&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;download link:&lt;/span&gt;&lt;br /&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3121096/WroxBeginningJava52005.pdf.html&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;color:#3333ff;&quot;&gt;http://www.ziddu.com/download/3121096/WroxBeginningJava52005.pdf.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/java-2-jdk-5-edition.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_D0BloTpHxJY/SWWeZzeKHXI/AAAAAAAAEKs/TL6agaZKP1g/s72-c/java5.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-7145455401967229406</guid><pubDate>Thu, 08 Jan 2009 06:01:00 +0000</pubDate><atom:updated>2009-01-08T11:40:47.203+05:30</atom:updated><title>Core Java 2 Volume II - Seventh Edition - Ebook:</title><description>&lt;div align=&quot;center&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:130%;&quot;&gt;Core Java™ 2 Volume II - Advanced Features, Seventh Edition&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;&lt;strong&gt;Author: Cay S. Horstmann, Gary Cornell&lt;/strong&gt;&lt;br /&gt;Publisher: Prentice Hall PTR&lt;br /&gt;Pub Date: November 22, 2004&lt;br /&gt;ISBN: 0-13-111826-9&lt;br /&gt;Pages: 1024&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Ebook Description:&lt;/strong&gt;&lt;br /&gt;Completely revised and up-to-date coverage of&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Multithreadingincluding the java.util.concurrent library, locks, condition objects, futures, thread pools, thread-safe collections, threads and Swing&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Collection classescollections framework, concrete collections, and generic utility methods&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Annotations and metadatausing annotations to automate programming tasks, JDK™ 5.0 standard annotations, the apt tool for source-level annotation processing, and bytecode engineering&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Advanced Swing and AWTlists, trees, tables, and other advanced components; image processing and printing&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;JavaBeans™including property editors, customizers, and long-term persistence &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;left&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;XMLDOM and SAX parsers, XPath, and XSL transformations&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;The seventh edition of Core Java™ 2, Volume II, covers advanced user-interface programming and the enterprise features of the Java 2 Platform, Standard Edition (J2SE™). Like Volume I (which covers the most important language and library features), this book has been completely updated and revised for J2SE 5.0. All of the sample programs have been updated and carefully crafted to illustrate practical solutions to the type of real-world problems professional developers encounter.&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;color:#3333ff;&quot;&gt;download link:&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3121095/CoreJava2VolumeI7thEdition.pdf.html&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;color:#3333ff;&quot;&gt;http://www.ziddu.com/download/3121095/CoreJava2VolumeI7thEdition.pdf.html&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/core-java-2-volume-ii-seventh-edition_08.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-2496978405226015138</guid><pubDate>Thu, 08 Jan 2009 05:49:00 +0000</pubDate><atom:updated>2009-01-08T11:44:08.627+05:30</atom:updated><title>Core java Volume I, 7th Edition - Ebook</title><description>&lt;div align=&quot;center&quot;&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:130%;&quot;&gt;Core Java™ 2 Volume I - Fundamentals, Seventh Edition&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Ebook Title:&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Core Java™ 2 Volume I - Fundamentals, Seventh Edition&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Author:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Cay S. Horstmann, Gary Cornell&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:85%;&quot;&gt;Publisher: &lt;strong&gt;Prentice Hall PTR&lt;/strong&gt;&lt;br /&gt;Pub Date: &lt;strong&gt;August 17, 2004&lt;/strong&gt;&lt;br /&gt;ISBN: &lt;/span&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;0-13-148202-5&lt;br /&gt;&lt;/strong&gt;Pages: 784&lt;br /&gt;Slots: 1.0 &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;Ebook Description:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Completely revised and up-to-date coverage of:&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Generic programming, restrictions and limitations, type bounds, wilcard types, and generic reflection&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Swing GUI development, including input validation and other enhancements&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Exception handling and debugging, including chained exceptions, stack frames, assertions, and logging&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Streams and files, the new I/O API, memory-mapped files, file locking, and character set encoders/decoders&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Regular expressions using the powerful java.util.regex package&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Inner classes, reflection, and dynamic proxies&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;Application packaging and the Preferences API&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;The seventh edition of &lt;strong&gt;Core Java™ 2, Volume I&lt;/strong&gt;, covers the fundamentals of the Java 2 Platform, Standard Edition (J2SE™). A no-nonsense tutorial and reliable reference, this book features thoroughly tested real-world examples. The most important language and library features are demonstrated with deliberately simple sample programs, but they aren&#39;t fake and they don&#39;t cut corners. More importantly, all of the programs have been updated for J2SE 5.0 and should make good starting points for your own code. You won&#39;t find any toy examples here. This is a book for programmers who want to write real code to solve real problems.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Volume I&lt;/em&gt; concentrates on the fundamental concepts of the Java language, along with the basics of user-interface programming and provides detailed coverage of:&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Object-oriented programming&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Reflection and proxies&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Interfaces and inner classes&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;The event listener model&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Graphical user-interface design with the Swing UI toolkit&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Exception handling&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Stream input/output and object serialization&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Generic programming&lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;For the same real-world treatment of enterprise features and advanced user-interface programming, look for the forthcoming new edition of Core Java™ 2, Volume II—Advanced Features.&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;It includes new sections on metadata and other J2SE 5.0 enhancements along with complete coverage of: &lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Multithreading &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Distributed objects &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Databases &amp;amp; bull; Advanced GUI components &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Native methods &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;XML Processing &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Network programming &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Collection classes &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Advanced graphics &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;Internationalization &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;em&gt;JavaBeans &lt;/em&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;color:#000099;&quot;&gt;download link:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;span style=&quot;color:#000099;&quot;&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3121095/CoreJava2VolumeI7thEdition.pdf.html&quot;&gt;http://www.ziddu.com/download/3121095/CoreJava2VolumeI7thEdition.pdf.html&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:Trebuchet MS;color:#000099;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/core-java-volume-1-7th-edition-ebook.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-546390355782408265</guid><pubDate>Thu, 08 Jan 2009 05:25:00 +0000</pubDate><atom:updated>2009-01-08T11:43:34.443+05:30</atom:updated><title>Tutorial on EJB - Ebook</title><description>&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;font-size:130%;&quot;&gt;&lt;strong&gt;EJB Tutorial&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:Trebuchet MS;&quot;&gt;&lt;/span&gt;&lt;/strong&gt; &lt;/div&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;EBook Title:&lt;br /&gt;&lt;strong&gt;Tutorial on Enterprise JavaBeanstm&lt;/strong&gt;&lt;br /&gt;EBook Details:&lt;br /&gt;   Author:&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;       Phillip Bride&lt;br /&gt;       GemStone Systems, Inc.&lt;/strong&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;   Description:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;    topics:&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;      1) Introducing EJB&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;      2) Overview of EJB&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;      3) Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;download link:&lt;br /&gt;&lt;/span&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.ziddu.com/download/3121015/EJB.pdf.html&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;http://www.ziddu.com/download/3121015/EJB.pdf.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2009/01/tutorial-on-ejb-ebook.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-6607375078126022576</guid><pubDate>Fri, 22 Aug 2008 07:23:00 +0000</pubDate><atom:updated>2008-08-27T15:05:17.764+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tomcat</category><title>Tomcat Security &amp; Analysis - 4</title><description>&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Tomcat Security Overview and Analysis&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;Etisalat &lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;DEVELOPER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;bangalore&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;india&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;BLOGGER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;SEX&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; width=&quot;336&quot; height=&quot;280&quot; id=&quot;color test&quot; align=&quot;middle&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catselect_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Util&amp;catnum=33&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catselect_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Util&amp;catnum=33&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowScriptAccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot; &gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Authentication:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_D0BloTpHxJY/SK6CbSj0PbI/AAAAAAAACJw/l4pasdc4qxM/s1600-h/table-1.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5237266822028606898&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_D0BloTpHxJY/SK6CbSj0PbI/AAAAAAAACJw/l4pasdc4qxM/s400/table-1.gif&quot; border=&quot;0&quot; alt=&quot;SUN&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_D0BloTpHxJY/SK6CbiEPipI/AAAAAAAACJ4/2pCyWYqju8A/s1600-h/table-2.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5237266826191145618&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://2.bp.blogspot.com/_D0BloTpHxJY/SK6CbiEPipI/AAAAAAAACJ4/2pCyWYqju8A/s400/table-2.gif&quot; border=&quot;0&quot; alt=&quot;Etisalat&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://4.bp.blogspot.com/_D0BloTpHxJY/SK6CbubZ78I/AAAAAAAACKA/kTFa7XMfkms/s1600-h/table---3.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5237266829509521346&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://4.bp.blogspot.com/_D0BloTpHxJY/SK6CbubZ78I/AAAAAAAACKA/kTFa7XMfkms/s400/table---3.gif&quot; border=&quot;0&quot; alt=&quot;Etisalat&quot;/&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://3.bp.blogspot.com/_D0BloTpHxJY/SK6AByUHAfI/AAAAAAAACJY/YKDGE8kP4Z4/s1600-h/table-1.gif&quot; alt&quot;Java&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://2.bp.blogspot.com/_D0BloTpHxJY/SK6ACGU5ZqI/AAAAAAAACJg/eUsVK8kFlI4/s1600-h/table-2.gif&quot; alt=&quot;Java FAQ&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Cams gives you all the security features Tomcat does, and a whole lot more. Find out more about Cams by reading the &lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/camsOverview.html&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;Cams Overview&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; and the &lt;/span&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/access-management-white-paper.html&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;Access Management white paper&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;. We recommend that you also take the &lt;/span&gt;&lt;a href=&quot;javascript:newWindow(&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;Cams Tour&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; to interactively learn about Cams and web security in general.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis-3.html&quot;&gt;Previous&lt;/a&gt; &lt;a href=&quot;http://globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis.html&quot;&gt;Home&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p align=&quot;center&quot;&gt;&lt;/p&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis-4.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_D0BloTpHxJY/SK6CbSj0PbI/AAAAAAAACJw/l4pasdc4qxM/s72-c/table-1.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-1744228964055068126</guid><pubDate>Fri, 22 Aug 2008 07:15:00 +0000</pubDate><atom:updated>2008-08-27T15:09:29.627+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tomcat</category><title>Tomcat Security &amp; Analysis - 3</title><description>&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;TOMCAT SECURITY AND ANALYSIS&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;Etisalat &lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;DEVELOPER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;bangalore&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;india&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;BLOGGER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;SEX&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; width=&quot;336&quot; height=&quot;280&quot; id=&quot;color test&quot; align=&quot;middle&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=000000&amp;color2=888888&amp;textcolor=FFFFFF&amp;lcolor1=000000&amp;trk=&amp;cat=Trans&amp;category=TRANSPORTATION&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=000000&amp;color2=888888&amp;textcolor=FFFFFF&amp;lcolor1=000000&amp;trk=&amp;cat=Trans&amp;category=TRANSPORTATION&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowScriptAccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot; &gt;&lt;br /&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:Verdana;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;HTTPS Client Authentication&lt;/strong&gt;&lt;br /&gt;Authentication using HTTPS (HTTP over SSL) enables browsers and web servers to communicate over an encrypted connection. This is a two-way process, meaning that both the server and the browser encrypt all traffic before sending out data. Tomcat uses HTTPS for confidentiality (by encrypting the data) and integrity (which is insured if the message can be decrypted).&lt;br /&gt;Another important aspect of the SSL protocol is authentication. This means that during your initial attempt to communicate with a web server over a secure connection, that server will present your web browser with a set of credentials, in the form of a certificate chain, as proof the site is who and what it claims to be. Though Tomcat supports HTTPS connections and server authentication, it is generally recommended that you off-load SSL connections to a web server like Apache or IIS and use Tomcat as a plugin to process the servlet and JSP requests.&lt;br /&gt;The server may also request a client certificate from your browser, asking for proof that you are who you claim to be. This practice is used more for business-to-business transactions than with individual internet users because of the overhead required to manage certificates. Most SSL-enabled web servers do not request client authentication but if you need it, Tomcat does support it.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Web Application Single Sign-on&lt;/strong&gt;&lt;br /&gt;As the underlying principals to which roles are mapped are environment specific rather than web application specific, it is desirable to:&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;Make login mechanisms and policies a property of the web application environment. &lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;Use the same authentication information to represent a principal to all applications in the same container, and&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;Require re-authentication of users only when a security policy domain boundary has been crossed. &lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Therefore, a J2EE compliant servlet container is required to track authentication information at the container level (rather than at the web application level). Tomcat enables users authenticated for one web application to access other web applications managed by the same container. However, login configurations must still be specified for each web application, which, depending upon the number of web applications can be difficult to manage (Tomcat also allows each web application to define its own realm). Additionally, Tomcat single sign-on does not address multiple Tomcat servers, other web servers such as Apache, or an application server like JBoss.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Specifying Security Constraints&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Deployment descriptor &lt;security-constraint&gt;elements define the permissions and rules for the protected Tomcat resources and include the following XML elements:&lt;br /&gt;&lt;strong&gt;web-resource-collection&lt;/strong&gt; - A set of URL patterns and HTTP methods that describe a set of resources to be protected. All requests that contain a URL pattern matched in a web resource collection are subject to the constraint.&lt;br /&gt;&lt;strong&gt;auth-constraint&lt;/strong&gt; - A set of security roles (one or more) to which a user must belong to be granted access to resources matched by the web resource collection.&lt;br /&gt;&lt;strong&gt;user-data-constraint&lt;/strong&gt; - Describes integrity and confidentiality requirements for the transport layer of the client server.&lt;br /&gt;Hence, the web resource collection defines the resources, the authorization constraint defines the roles to which a user can belong to access the resources, and the data constraints defines if HTTPS should be required.&lt;br /&gt;&lt;strong&gt;Enhancing Tomcat Security with Cams&lt;/strong&gt;&lt;br /&gt;When you arrive at the boundary of Tomcat security, you&#39;ll discover that it is generally limited by the scope of the servlet specification and J2EE security. Consequently, Tomcat will not meet the security needs of most heterogenous, multi-server environments. The good news is that you have the Tomcat source and can write security code and implement security in servlets to customize Tomcat. The bad news is that you probably don&#39;t have the time, budget, expertise, or even desire to write security code.&lt;br /&gt;In addition, embedding low-level security code within applications is considered to be bad practice.&lt;br /&gt;The Cafésoft Access Management System is designed to pickup where Tomcat security stops. Cams flexibly meets the needs of the enterprise by providing a complete web access managment system which spans servers and tiers in a web farm. Cams provides the same security features Tomcat does and more.&lt;br /&gt;From a high-level, you should consider using Cams with Tomcat when you have any of the following needs:&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;ul&gt;&lt;li&gt;You have a web server farm with more than one stand-alone Tomcat server&lt;/li&gt;&lt;li&gt;You are using Apache and Tomcat servers and desire integrated security &lt;/li&gt;&lt;li&gt;You need centralized security configuration, logging, and events &lt;/li&gt;&lt;li&gt;You need a flexible, easy-to-extend security system &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Cams offers many unique features that might more closely adhear to your security needs. The following tables show a feature by feature comparison of Tomcat security with and without Cams.&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://www.globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis-2.html&quot;&gt;Previous&lt;/a&gt; &amp;nbsp;&amp;nbsp;&lt;a href=&quot;http://globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis-4.html&quot;&gt; Next&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis-3.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-973625741083589979</guid><pubDate>Fri, 22 Aug 2008 06:22:00 +0000</pubDate><atom:updated>2008-08-27T15:09:51.679+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tomcat</category><title>Tomcat Security and Analysis - 2</title><description>&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;TOMCAT SECURITY AND ANALYSIS&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;Etisalat &lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;DEVELOPER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;bangalore&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;india&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;BLOGGER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;SEX&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; width=&quot;336&quot; height=&quot;280&quot; id=&quot;color test&quot; align=&quot;middle&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=FF6600&amp;color2=FFAA00&amp;textcolor=FFFFFF&amp;lcolor1=FF6600&amp;trk=&amp;cat=Sale&amp;category=SALES&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=FF6600&amp;color2=FFAA00&amp;textcolor=FFFFFF&amp;lcolor1=FF6600&amp;trk=&amp;cat=Sale&amp;category=SALES&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowScriptAccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot; &gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;p align=&quot;justify&quot;&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Authentication&lt;br /&gt;By default, you do not need to authenticate to access Tomcat resources. Authentication is needed only when specified in the deployment descriptor with the auth-constrain element. You use a web client (typically a web browser) to authenticate with Tomcat using one of the following mechanisms:&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/tomcat-security.html#HTTP_Basic_Authentication#HTTP_Basic_Authentication&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;HTTP Basic Authentication&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/tomcat-security.html#HTTP_Digest_Authentication#HTTP_Digest_Authentication&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;HTTP Digest Authentication&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/tomcat-security.html#Form_Based_Authentication#Form_Based_Authentication&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;Form Based Authentication&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/span&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/tomcat-security.html#HTTPS_Client_Authentication#HTTPS_Client_Authentication&quot;&gt;&lt;span style=&quot;font-family:verdana;font-size:85%;&quot;&gt;&lt;em&gt;HTTPS Client Authentication&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;a name=&quot;HTTP_Basic_Authentication&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;HTTP Basic Authentication&lt;/strong&gt;&lt;br /&gt;When your browser prompts you for a username and password in a dialog box, you are using HTTP basic authentication to logon to a web server. This is also know as browser-based authentication because the web server requests the browser to authenticate you through the HTTP 1.0 protocol. In the dialog box, you also see the name of a realm to which you will be authenticated. The realm does not necessarily reflect a security policy domain, which is also referred to as a realm. Think of an HTTP basic authentication realm as a &quot;database&quot; of usernames and passwords that identify valid users of a web application (or set of web applications), plus a list of the roles associated with each valid user.&lt;br /&gt;Once you enter your username and password, they are base64 encoded and sent by the browser to Tomcat (for both secure and non-secure resources). Tomcat authenticates you, and then reauthenticates each subsequent request against the specified realm. You cannot logout as your username and password remain in browser memory until you exit. Hence, you must exit the browser to &quot;logout&quot;.&lt;br /&gt;Because the username and password are not encrypted, and the target server&#39;s identity is not authenticated by the browser, basic authentication alone is not secure. You can improve security by using a secure transport mechanism such as HTTPS, or security at the network level such as a VPN. However, if you switch to HTTP (after authenticating with basic authentication and HTTPS), your browser continues to send your username and password with each subsequent request in cleartext until you exit.&lt;br /&gt;&lt;/span&gt;&lt;a name=&quot;HTTP_Digest_Authentication&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;HTTP Digest Authentication&lt;/strong&gt;&lt;br /&gt;HTTP digest authentication is also performed by the browser upon request by the web server and based on a username, password, and realm. However, in this case your password is digested with the secure MD5 algorithm before it is sent by the browser.&lt;br /&gt;You can specify in Tomcat&#39;s &lt;realm&gt;element a digest attribute, which must be one of the digest algorithms supported by the java.security.MessageDigest class (SHA, MD2, or MD5). When you select this option, the contents of the password that is stored in the realm must be the digest version of the password. The client must also digest the password using the same algorithm before it is sent. When the realm authenticate() method is called, the password you input is compared with the value returned by the realm and, if equal, you are authenticated.&lt;br /&gt;Because your password is digested, HTTP digest authentication is more secure than basic. However, it does suffer from the same security issues as basic authentication. As it is not supported by popular browsers, HTTP digest authentication is not required by the servlet specification, but it is implemented by Tomcat. As with basic authentication, your credentials are stored in the browser&#39;s memory until it is exited.&lt;br /&gt;&lt;/span&gt;&lt;a name=&quot;Form_Based_Authentication&quot;&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;strong&gt;Form Based Authentication&lt;/strong&gt;&lt;br /&gt;This is the most popular web authentication mechanism in use. It provides the application developer with the greatest control over the look and feel of the “login screen”, enables closing of user sessions without exiting the browser, and is more secure than basic authentication.&lt;br /&gt;The web application deployment descriptor contains elements to specify a &quot;login form&quot; and an &quot;error page&quot;. The HTML login form must contain fields for entering a username and a password, which must be named &quot;j_username&quot; and &quot;j_password&quot;, respectively. When you attempt to access a protected resource, Tomcat checks if you are authenticated. If not, the following steps occur:&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;ol&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;Tomcat saves the entire HTTP request, then redirects the browser to the configured login form.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;You enter your username and password in the login form&#39;s &quot;j_username&quot; and &quot;j_password&quot; fields.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;The browser posts the form back to the server using the &quot;j_security_check&quot; action.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;The container attempts to authenticate the user using the configured security realm.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;If authentication fails, the error page is returned with the status code of the response set to 401.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;If authentication succeeds, the principal is checked to determine if you have a role authorized to access the resource.&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;If you are authorized, Tomcat processes the original HTTP request. If authentication fails, or you are not authorized to access the requested resource, the configured error page is returned.&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div align=&quot;justify&quot;&gt;Because your username and password are not encrypted and the target server is not authenticated, form-based authentication using HTTP is not secure. If you are using form-based authentication, you should use a secure transport mechanism such as HTTPS, or security at the network level such as a VPN. However, form-based authentication is more secure than basic authentication when switching back and forth between HTTPS and HTTP as your username and password are not sent with each request.&lt;br /&gt;&lt;br /&gt;Another advantage of form-based over basic authentication is that the application can programmatically close your authenticated session, enabling you to logout without restarting your browser. In this respect, calling the HttpSession.invalidate method seems like it should work, but it does not because HTTP sessions are totally independent of authentication (e.g., you can have an HTTP session without authenticating and authenticate without having an HTTP session).&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt; &lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://www.globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis.html&quot;&gt;Previous&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;http://www.globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis-3.html&quot;&gt;Next&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;/span&gt; &lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/08/tomcat-security-and-analysis-2.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-1834076420735706778</guid><pubDate>Fri, 22 Aug 2008 05:41:00 +0000</pubDate><atom:updated>2008-08-27T15:10:22.173+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">tomcat</category><title>Tomcat Security &amp; Analysis - 1</title><description>&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;TOMCAT SECURITY AND ANALYSIS&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;Etisalat &lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;DEVELOPER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;bangalore&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;india&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;BLOGGER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;SEX&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&quot; width=&quot;336&quot; height=&quot;280&quot; id=&quot;color test&quot; align=&quot;middle&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot;/&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Mech&amp;category=MECHANICAL&quot; /&gt;&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Mech&amp;category=MECHANICAL&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowScriptAccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot; &gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;This topic presents an overview of the security features provided with the &lt;/span&gt;&lt;a href=&quot;http://jakarta.apache.org/tomcat/&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;em&gt;Apache Jakarta Tomcat servlet container&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;, including suggestions on best practices. Then, an analysis is provided to show how the &lt;/span&gt;&lt;a href=&quot;http://www.cafesoft.com/products/cams/camsOverview.html&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Cafésoft Access Management System (Cams™)&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; can be integrated with Tomcat to provide enhanced enterprise-wide security that overcomes deficiencies inherent in the servlet and J2EE security model.&lt;br /&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br /&gt;Tomcat implements security as specified in the Java servlet specification. This document primarily addresses Tomcat 4.x security, which is compliant with the &lt;/span&gt;&lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=53&amp;amp;showPrint&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;2.3 servlet specification&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;. Some information is also provided regarding the forthcoming Tomcat 5.x release, which implements the &lt;/span&gt;&lt;a href=&quot;http://www.jcp.org/en/jsr/detail?id=154&amp;amp;showPrint&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;servlet 2.4 specification&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;. Also, there is some overlap between security requirements defined in the servlet and J2EE specifications. In general, the J2EE specification includes all servlet specification requirements and makes some optional requirements mandatory for a web container to be &quot;J2EE compliant&quot;. Tomcat implements most optional servlet specification features but, as an open source project, has not been able to pass the J2EE compliance tests due to J2EE licensing policy (recent changes by Sun may allow this in the near future).&lt;br /&gt;&lt;strong&gt;Tomcat Security Scope&lt;/strong&gt;&lt;br /&gt;As stated in the servlet specification, Tomcat security is primarily concerned with:&lt;br /&gt;&lt;strong&gt;Authentication&lt;/strong&gt; - The means by which communicating entities prove their identities to one another.&lt;br /&gt;&lt;strong&gt;Access control&lt;/strong&gt; - The means by which requests for resources are limited to users or programs.&lt;br /&gt;&lt;strong&gt;Integrity&lt;/strong&gt; - The means used to prove that information has not been modified while in transit.&lt;br /&gt;&lt;strong&gt;Confidentiality&lt;/strong&gt; - The means used to ensure that information is understandable only by authorized users.&lt;br /&gt;As defined in the servlet specification, Tomcat security is user role-based and web container (somewhat web application) centric. Hence, Tomcat security scope, by definition in the servlet specification, does not address issues of security integration with other web and application servers.&lt;br /&gt;&lt;strong&gt;Declarative and Programmatic Security&lt;br /&gt;&lt;/strong&gt;The servlet specification classifies Tomcat security into two broad categories:&lt;br /&gt;Declarative security is the expression of application security external to the application and is preferred when sufficient as it allows runtime configuration of application security without recoding the application.&lt;br /&gt;Programmatic security is used to implement fine-grained access control, enabling application components to become security aware.&lt;br /&gt;It may be easier to think in terms of security you configure in the web application environment (declarative) and security you define within the web application code (programmatic). Each web application configures declarative security in its unique deployment descriptor, web.xml. This is a required XML-formatted configuration file (also called the deployment descriptor) found in each web application&#39;s WEB-INF directory. Programmatic security involves using &lt;/span&gt;&lt;a href=&quot;http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;HttpServletRequest&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; API method calls to make business logic decisions within the web application context. For example, you may want to make combo box values dynamic based on a user&#39;s identity. The servlet API calls you use are:&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html#getRemoteUser()&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;getRemoteUser&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; - Returns the user name the client used for authentication.&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html#isUserInRole(java.lang.String)&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;isUserInRole&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; - Determines if a remote user is in a specified security role.&lt;br /&gt;&lt;/span&gt;&lt;a href=&quot;http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/http/HttpServletRequest.html#getUserPrincipal()&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;getUserPrincipal&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt; - Returns a java.security.Principal object, which contains the principals name and roles.&lt;br /&gt;Tomcat uses role-based authorization to manage access. With this model, access permissions are granted to an abstract entity called a security role, and access is allowed only to users or groups of users who have that role. For example, the Tomcat distribution includes two administrative web applications that only grant access to users with the &quot;manager&quot; role. The deployment descriptor specifies the type of access granted to each role, but does not specify the role to user or group mappings. That&#39;s done in the user repository, which is typically a relational database or LDAP server in production environments, but is another XML-formatted file named tomcat-users.xml by default.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/_D0BloTpHxJY/SK5Z3Wv3qOI/AAAAAAAACJQ/pRJjByBtBms/s1600-h/web_xml.gif&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5237222224212502754&quot; style=&quot;CURSOR: hand&quot; alt=&quot;&quot; src=&quot;http://1.bp.blogspot.com/_D0BloTpHxJY/SK5Z3Wv3qOI/AAAAAAAACJQ/pRJjByBtBms/s400/web_xml.gif&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;div align=&quot;justify&quot;&gt;Figure 1 - Security snippet from Tomcat Manager&#39;s web.xml deployment descriptor&lt;br /&gt;Figure 1.0 shows a security snippet from the Tomcat Manager web application&#39;s web.xml file. The security contraint element defines the URL pattern to match for the constraint to apply (in this example the entire web application) and an authentication constraint, which will force the user to authenticate. Access is granted only if an authenticated user has the &quot;manager&quot; role. The login config element defines the type of authentication (more on this next), in this case HTTP basic. And, the roles referenced by the web application.&lt;/div&gt;&lt;div align=&quot;justify&quot;&gt; &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://www.globaljavafaq.blogspot.com/2008/08/tomcat-security-and-analysis-2.html&quot;&gt;Next&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;/strong&gt; &lt;/div&gt;&lt;div align=&quot;center&quot;&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt; &lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/08/tomcat-security-analysis.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_D0BloTpHxJY/SK5Z3Wv3qOI/AAAAAAAACJQ/pRJjByBtBms/s72-c/web_xml.gif" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-5737107162889526933</guid><pubDate>Tue, 15 Jul 2008 12:21:00 +0000</pubDate><atom:updated>2008-08-27T15:10:38.718+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">xml</category><title>Java API for XML-Based RPC (JAX-RPC)</title><description>&lt;div style=&quot;TEXT-ALIGN: justify&quot;&gt;&lt;div style=&quot;TEXT-ALIGN: center&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;br /&gt;Java API for XML-Based RPC (JAX-RPC)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;Etisalat &lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;DEVELOPER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;bangalore&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;india&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;BLOGGER&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display:none;&quot;&gt;SEX&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object id=&quot;color test&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=&quot; height=&quot;280&quot; width=&quot;336&quot; align=&quot;middle&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;8890&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;7408&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Transparent&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;sameDomain&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;FFFFFF&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;false&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Info&amp;category=INFO%20TECH&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. What is the Java API for XML-Based RPC (JAX-RPC)?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. The Java API for XML-Based RPC (JAX-RPC) enables Java technology developers to build Web applications and Web services incorporating XML-based RPC functionality according to the SOAP (Simple Object Access Protocol) 1.1 specification.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. How does JAX-RPC use SOAP?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. Please refer to JSR-101.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. What is RPC?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. RPC stands for remote procedure call, a mechanism that allows a client to execute procedures on other systems. The RPC mechanism is often used in a distributed client/server model. The server defines a service as a collection of procedures that may be called by remote clients.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. How is XML related to RPC?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. The remote procedure call is represented by an XML-based protocol, such as SOAP. In addition to defining envelope structure and encoding rules, the SOAP specification defines a convention for representing remote procedure calls and responses.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. What does JAX-RPC have to do with Web services?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. An XML-based RPC server application can define, describe, and export a Web service as an RPC-based service. WSDL (Web Service Description Language) specifies an XML format for describing a service as a set of endpoints operating on messages. With the JAX-RPC API, developers can implement clients and services described by WSDL.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. What are the modes of interaction between clients and JAX-RPC services?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. There are three different modes:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Synchronous Request-Response:&lt;/span&gt; The client invokes a remote procedure and blocks until it receives a return or an exception. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;One-Way RPC:&lt;/span&gt; The client invokes a remote procedure but it does not block or wait until it receives a return. The runtime system for the JAX-RPC client may throw an exception. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Non-Blocking RPC Invocation:&lt;/span&gt; The client invokes a remote procedure and continues processing in the same thread without waiting for a return. Later, the client processes the remote method return by blocking for the receive or polling for the return. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. Can a remote method call or response carry service context information?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. Yes. For example, it may carry a unique transaction identifier or digital signature.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. Why doesn&#39;t xrpcc generate a WSDL file?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. The xrpcc tool does in fact generate the WSDL file, but due to a bug it gets deleted along with the source files if the -keep option is not specified. You can use the -keep option which will cause xrpcc to not delete the WSDL or .java source files. If you also use the -s sourcepath option, all of the source files will be placed in the sourcepath directory and then you can easily delete them. The WSDL file will still be placed in the current directory or the directory specified by the -d option.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Q. Does the Java 2 Platform, Enterprise Edition (J2EE) use XML?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style=&quot;TEXT-ALIGN: justify&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. The Java 2 Platform, Enterprise Edition (J2EE) promotes the use of XML for data messaging between loosely-coupled business systems. The J2EE reference implementation includes the Java API for XML Parsing (JAXP).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;JavaServer Pages (JSP) can generate and consume XML between multi-tier servers or between server and client. Java Message Service (JMS) provides an asynchronous transport mechanism for XML data messaging. Enterprise JavaBeans (EJB) offers a robust, synchronous transport mechanism by allowing a business service object to be invoked by XML tags. EJB also uses XML to describe its deployment properties, such as transactions and security.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;FONT-WEIGHT: bold&quot;&gt;Q. Can I generate dynamic XML documents using JSP pages?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A. JSP pages enables the authoring of XML pages. XML pages can be generated using JSP pages, which include elements to produce the dynamic portions of the document. The JSP specification includes a powerful tag extension mechanism that can be used to perform XML-based operations, such as applying an XSLT transformation to an XML document.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/07/java-api-for-xml-based-rpc-jax-rpc.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-2530695698869225271</guid><pubDate>Tue, 15 Jul 2008 12:17:00 +0000</pubDate><atom:updated>2008-08-22T09:36:10.742+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">xml</category><title>Java API for XML Registries (JAXR)</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Java API for XML Registries (JAXR)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object id=&quot;color test&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=&quot; height=&quot;280&quot; width=&quot;336&quot; align=&quot;middle&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;8890&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;7408&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Transparent&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;sameDomain&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;FFFFFF&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;false&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Info&amp;category=INFO%20TECH&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. What is the Java API for XML Registries (JAXR)?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. The Java API for XML Registries (JAXR) API provides a uniform and standard Java API for accessing different kinds of XML Registries. XML registries are an enabling infrastructure for building, deployment, and discovery of Web services.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. What is the relationship between the JAXR API and other XML APIs?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. Implementations of JAXR providers may use the Jav API for XML-Based RPC (JAX-RPC) for communication between JAXR providers and registry providers that export a SOAP based RPC-like interface (for example, UDDI).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Implementations of JAXR providers may use the Java API for XML Messaging (JAXM) API for communication between JAXR providers and registry providers that export an XML Messaging-based interface (for example, ebXML TRP).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;The Java API for XML Processing (JAXP) and Java Architecture for XML Binding (JAXB) may be used by implementers of JAXR providers and JAXR clients for processing XML content that is submitted to or retrieved from the Registry.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. Why do we need a new JAXR API when we have the Java Naming and Directory Interface (JNDI)?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. The JNDI API was designed with a very different set of requirements from the JAXR API. Both are abstraction APIs over existing specifications. However, the abstraction in directory services differs considerably from that of XML Registries used for publishing and discovery of Web services. The JAXR API needs richer metadata capabilities for classification and association, as well as richer query capabilities.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. Would it not be better to have enhanced the JNDI API with the added functionality of the JAXR API?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. That option was considered. Meeting the additional requirements of XML Registries requires an elaborate information model. The JNDI API has an existing information model that is constrained by design to address the requirements for directory services. Extending the JNDI API would overly constrain the JAXR API and would create backward compatibility issues for the JNDI API.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. What is the purpose of Association in the JAXR information model? It is not used anywhere in the API.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. An Association relates two RegistryObjects to each other. An Association may be defined between two objects in the registry and submitted using the GenericLifeCycleManager&#39;s saveObjects method.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. What is the purpose of Classification in the JAXR information model? It is not used anywhere in the API.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. A Classification classifies a RegistryObject. A Classification may be defined for a RegistryObject and submitted using the GenericLifeCycleManager&#39;s saveObjects method.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. Why is JAXR an abstraction API and not targeted to a specific registry such as UDDI or ebXML?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. An abstraction-based JAXR API gives developers the ability to write registry client programs that are portable across different target registries. This is consistent with the Java philosophy of Write Once, Run Anywhere. It also enables value-added capabilities beyond what the underlying registries are capable of. For example, a non-JAXR UDDI client does not have the ability to do taxonomy browsing and taxonomy-aware smart queries, which are available to a JAXR client for UDDI.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. Why does the JAXR API not use UDDI terms and concepts?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. The JAXR API is not specific to UDDI or any other registry specification. It is an abstraction API that covers multiple specifications. It is designed to enable developer choice in the use of a Web service registry and/or repository. The JAXR API uses UDDI terms and concepts when they fit the JAXR information model (for example, Service, ServiceBinding, and method names in BusinessQueryManager and BusinessLifeCycleManager).&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. Why did the JAXR information model use the ebXML Registry Information Model as its basis rather than the UDDI data structures?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. The JAXR API is designed to support multiple registries. The ebXML Registry Information Model is more generic and extensible than the UDDI data structures. Because of this characteristic, it was possible to extend the ebXML Registry Information Model to satisfy the needs of UDDI and other registries.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Q. Why was the JAXR information model not designed from the ground up?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;A. Information models take time to develop. It was easier to start with an existing information model and improve upon it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/07/java-api-for-xml-registries-jaxr.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-4541508064643037341</guid><pubDate>Tue, 15 Jul 2008 12:16:00 +0000</pubDate><atom:updated>2008-08-22T09:36:29.273+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">xml</category><title>Java API for XML Messaging (JAXM)</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Java API for XML Messaging (JAXM)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object id=&quot;color test&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=&quot; height=&quot;280&quot; width=&quot;336&quot; align=&quot;middle&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;8890&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;7408&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Transparent&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;sameDomain&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;FFFFFF&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;false&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Info&amp;category=INFO%20TECH&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. What is the Java API for XML Messaging (JAXM)?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A: The Java API for XML Messaging (JAXM) is an API designed specifically for the exchange of XML business documents over the Internet. Examples of XML documents that might typically be exchanged are purchase orders, order confirmations, and invoices. You can send non-XML data by adding attachments to your message.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q: What standards is JAXM based on?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A: JAXM is based on the Simple Object Access Protocol (SOAP) 1.1 and SOAP with Attachments specifications. JAXM also allows the implementation of standard protocols on top of the SOAP implementation, such as SOAP-RP or the ebXML Transport, Routing &amp;amp; Packaging V1.0 - Message Service Specification.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. Do I have to use the J2EE platform to use JAXM?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A: No, you are free to use the Java 2 Platform, Standard Edition (J2SE) as well as the Java 2 Platform, Enterprise Edition (J2EE). A stand-alone client (a client that does not use a messaging provider) can use the J2SE platform to send request-response messages to Web services that process request-response messages. This requires no deployment or configuration from the client, so it is easy to do.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. What is a messaging provider?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A: A messaging provider is a service that works with the messaging infrastructure to route and transmit messages. What it does is completely transparent to the client sending or receiving a message. An application that uses a messaging provider must use a connection that goes to the provider, called a ProviderConnection object in the JAXM API. Using a messaging provider also requires some deployment and configuration. Normally, a client using a messaging provider runs in a container -- either a servlet or a J2EE container. At deployment time, the client needs to give the container information about the messaging provider. In the future, there will be a deployment tool that makes this easy.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. Do I have to use a messaging provider?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A: No. You need to use a messaging provider only when your application requires one-way (asynchronous) messaging. In this type of messaging, a message is sent to a recipient as one operation, and the recipient responds at some later time in a different operation. If you application uses a request-response style of messaging, in which the response to a message is sent back as part of the same operation, you do not need a messaging provider. When you do not use a messaging provider, you use a SOAPConnection object, which supports the simpler request-response messaging model.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. Can a JAXM message be routed to more than one destination?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Yes. Intermediate recipients can be specified in a message&#39;s header. One way this capability can be used is to automate business processes. For example, two businesses can agree to the conditions under which they exchange XML documents so that they can implement the automatic generation of messages and responses. Assume that two businesses have an arrangement specifying that purchase orders will go first to the order entry department, then to the order confirmation department, then to the shipping department, and finally to the billing department. Each department is an intermediate recipient (called an actor). After an actor has done its part, it removes everything in the header that relates to it and sends the message on to the next actor listed in the header.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;font-size:100%;&quot; &gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;Q. Can I use ebXML headers in a JAXM message?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;A: Yes, you can use ebXML headers if you use an ebXML profile that is implemented on top of SOAP. A profile is a standard protocol, such as ebXML TRP or SOAP-RP, that works on top of SOAP to give you added functionality. You need to use a messaging provider that supports the profile, and you need to arrange with your recipients to use the same profile.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/07/java-api-for-xml-messaging-jaxm-q.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-7666763874481189970</guid><pubDate>Tue, 15 Jul 2008 12:15:00 +0000</pubDate><atom:updated>2008-08-22T09:36:47.261+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">xml</category><title>Java Architecture for XML Binding (JAXB)</title><description>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Java Architecture for XML Binding (JAXB)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object id=&quot;color test&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=&quot; height=&quot;280&quot; width=&quot;336&quot; align=&quot;middle&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;8890&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;7408&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Transparent&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;sameDomain&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;FFFFFF&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;false&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Info&amp;category=INFO%20TECH&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What is Java Architecture for XML Binding (JAXB)?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;A. The Java Architecture for XML Binding (JAXB) simplifies the creation and maintenance of XML-enabled Java applications. JAXB provides a binding compiler and a runtime framework to support a two-way mapping between XML documents and Java objects. The binding compiler translates W3C XML Schema into one or more Java classes without requiring the developer to write complex parsing code. The schema-derived classes and binding framework enable error and validity checking of incoming and outgoing XML documents, thereby making it possible to ensure that only valid, error-free messages are accepted, processed, and generated by a system. For more information, see the Reference Implementation and the Public Draft Specification, both available for download from the JAXB homepage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana; font-weight: bold;font-size:100%;&quot; &gt;Q. What is the difference between JAXB, SAX, and DOM? Which one should I use?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;A. SAX is an event-driven XML parser that is appropriate for high-speed processing of XML because it does not produce a representation of the data in memory. DOM, on the other hand, produces an in-memory data representation, which allows an application to manipulate the contents in memory. Both SAX and DOM automatically perform structure validation. An application could perform content validation with SAX and DOM, but such an application must provide the necessary extra code, which might be complicated, error-prone, and difficult to maintain.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;A JAXB application can perform structure and content validation with Java classes that it generates from a schema. A JAXB application builds an in-memory data structure, like a DOM, by marshalling an XML document to build a content tree, which contains objects that are instances of the derived classes. However, unlike a DOM tree, a content tree is specific to one source schema, does not contain extra tree-manipulation functionality, allows access to its data with the derived classes&#39; accessor methods, and is not built dynamically. For these reasons, a JAXB application uses memory more efficiently than a DOM application does. If the content of a document is more dynamic and not well-constrained, DOM and SAX are more appropriate than JAXB for processing XML content that does not have a well-known schema prior to processing the content.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana; font-weight: bold;font-size:100%;&quot; &gt;Q. How does JAXB work?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;A. To build a JAXB application, start with an XML schema. The beta release requires that the schema language be W3C 2001 Recommendation for XML Schema.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;After obtaining an XML Schema, you build and use a JAXB application by performing these steps:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;Generate the Java source files by submitting the XML Schema to the binding compiler.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;You can use custom binding declarations to override the default binding of XML Schema components to Java representations&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;Compile the Java source code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;With the classes and the binding framework, write Java applications that:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;Build object trees representing XML data that is valid against the XML Schema by either unmarshalling the data from a document or instantiating the classes you created.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;Access and modify the data.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;Optionally validate the modifications to the data relative to the constraints expressed in the XML Schema&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;Marshal the data to new XML documents.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana; font-weight: bold;font-size:100%;&quot; &gt;Q. Who is involved in developing JAXB?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;A. JAXB is being developed through the Java Community Process (JCP) with an expert group consisting of IBM, Software AG, BEA Systems, Hewlett-Packard, TIBCO Software Inc., Oracle, Fujitsu Limited, Breeze Factor LLC, Macromedia, Inc. and Intalio, Inc. Sun is an active member of the W3C XML Schema Working Group and is also working with other industry consortia such as OASIS and xml.org.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana; font-weight: bold;font-size:100%;&quot; &gt;Q. Where can I read more about JAXB?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-family: verdana;font-size:100%;&quot; &gt;A. For a higher-level explanation of JAXB, refer to the JAXB chapters in the Java Web Services Tutorial. Also note that a detailed user&#39;s guide is included as part of the JAXB distribution. For a more technical and detailed description of JAXB, see the the latest version of the Specification, which you can download from the JAXB homepage. Please note that the Specification is in Adobe Acrobat PDF format. Download Adobe Acrobat for free.&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/07/java-architecture-for-xml-binding-jaxb.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-7088374996070223214</guid><pubDate>Tue, 15 Jul 2008 12:08:00 +0000</pubDate><atom:updated>2008-08-22T09:37:07.970+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">xml</category><title>XML Basics</title><description>&lt;div style=&quot;text-align: justify; font-family: verdana;&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;XML BASICS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object id=&quot;color test&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=&quot; height=&quot;280&quot; width=&quot;336&quot; align=&quot;middle&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;8890&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;7408&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Transparent&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;sameDomain&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;FFFFFF&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;false&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Info&amp;category=INFO%20TECH&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What is XML?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. XML, the Extensible Markup Language, is a universal syntax for describing and structuring data independent from the application logic. XML can be used to define unlimited languages for specific industries and applications.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. Who developed XML?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. XML is an activity of the World Wide Web Consortium (W3C). The XML development effort started in 1996.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A diverse group of markup language experts, from industry to academia, developed a simplified version of SGML (Standard Generalized Markup Language) for the Web. In February 1998, XML 1.0 specification became a recommendation by the W3C.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What are the key benefits of XML?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. XML promises to simplify and lower the cost of data interchange and publishing in a Web environment. XML is a text-based syntax that is readable by both computer and humans. XML offers data portability and reusability across different platforms and devices. It is also flexible and extensible, allowing new tags to be added without breaking an existing document structure. Based on Unicode, XML provides global language support.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What are the applications of XML?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. XML is poised to play a prominent role as a data interchange format in B2B Web applications such as e-commerce, supply-chain management, workflow, and application integration. Another use of XML is for structured information management, including information from databases. XML also supports media-independent publishing, allowing documents to be written once and published in multiple media formats and devices. On the client, XML can be used to create customized views into data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What is the relationship between XML and Java technology?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. XML and the Java technology are complementary. Java technology provides the portable, maintainable code to process portable, reusable XML data. In addition, XML and Java technology have a number of shared features that make them the ideal pair for Web computing, including being industry standards, platform-independence, extensible, reusable, Web-centric, and internationalized.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What are the benefits of using Java technology with XML?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. Java technology offers a substantial productivity boost for software developers compared to programming languages such as C or C++. In addition, developers using the Java platform can create sophisticated programs that are reusable and maintainable compared to programs written with scripting languages. Using XML and Java together, developers can build sophisticated, interoperable Web applications more quickly and at a lower cost.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What XML-related activities is Sun participating in?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. Sun is actively participating in W3C working groups for XML Stylesheet/Transformation Language (XSL/T), XML Schema, Xlink, and XML Query. Sun is also participating in a number of other industry consortia including Oasis, XML.org, and Apache.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. Where can I find additional documentation?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;A. The Java Technology &amp;amp; XML Documentation page has a comprehensive list of all documentation related to Java Technology and XML available on this website.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Q. What is Java API for XML Processing (JAXP)?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Java API for XML Processing, or &quot;JAXP&quot; for short, enables applications to parse and transform XML documents using an API that is independent of a particular XML processor implementation. JAXP also provides a pluggability feature which enables applications to easily switch between particular XML processor implementations.&lt;br /&gt;&lt;br /&gt;To achieve the goal of XML processor independence, an application should limit itself to the JAXP API and avoid implementation-dependent APIs. This may or may not be easy depending on the application. JAXP includes industry standard APIs such as DOM and SAX.&lt;br /&gt;&lt;br /&gt;The reason for the existance of JAXP is to facilitate the use of XML on the Java platform. For example, current APIs such as DOM Level 2 do not provide a method to bootstrap a DOM Document object from an XML input document, JAXP does. (When DOM Level 3 provides this functionality, a new version of the JAXP specification will probably support the new Level 3 scheme also.) Other parts of JAXP such as the javax.xml.transform portion do not have any other equivalent APIs that are XSLT processor independent.&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/07/xml-basics.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9096516796305846522.post-2251263540139665246</guid><pubDate>Wed, 09 Jul 2008 04:00:00 +0000</pubDate><atom:updated>2008-08-22T09:37:44.434+05:30</atom:updated><category domain="http://www.blogger.com/atom/ns#">xml</category><title>Java XML part 5</title><description>&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;div align=&quot;left&quot;&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;Java XML&lt;/span&gt;&lt;/strong&gt;&lt;!-- START CUSTOM WIDGETBUCKS CODE --&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.widgetbucks.com/home.page?referrer=12079001&quot;&gt;&lt;img style=&quot;border: 0pt none ;&quot; alt=&quot;Earn $$ with WidgetBucks!&quot; src=&quot;http://images.widgetbucks.com/images/referral/adsSuck_468x60.gif&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;!-- End CUSTOM WIDGETBUCKS CODE --&gt;&lt;br /&gt;3) On calling DOMHelloWorld&lt;br /&gt;&lt;br /&gt;The main method of DOMHelloWorld.java will check that the filenameof the xml file has been provided as an argument.&lt;br /&gt;&lt;br /&gt;public static void main(String[] args) &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;{ &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;if (args.length != 1) &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;{ &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;System.out.println(&quot;usage: java DOMHelloWorld hello.xml&quot;); &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;System.exit(0); &lt;/div&gt;&lt;div align=&quot;justify&quot;&gt;}&lt;br /&gt;String xmlfilename = args[0];&lt;br /&gt;} &lt;/div&gt;&lt;br /&gt;&lt;div align=&quot;justify&quot;&gt;4) Parsing the XML document&lt;br /&gt;&lt;br /&gt;First we must create an instance of the parser (vendor specific parser). This is the same parser we imported earlier in step 2.&lt;br /&gt;&lt;br /&gt;DOMParser xmlparser = new DOMParser();&lt;br /&gt;&lt;br /&gt;5) Parse the xml file.&lt;br /&gt;&lt;br /&gt;This is really easy because the parser does it for you.&lt;br /&gt;All you have to do is call the parse method with the name of the xml file.&lt;br /&gt;xmlparser.parse(xmlfilename);&lt;br /&gt;If you look at the API documentation that comes with the Xerces parser and search for the parse method you will notice something special.&lt;br /&gt;DOMParser and SAXParser are subclasses of XMLParser.&lt;br /&gt;The parse method throws two exceptions, SAXException and java.io.IOException.&lt;br /&gt;If you try to compile the source code without catching the exception, an error will occur (java.io.IOException must be caught).&lt;br /&gt;Under the previous import statements add the importsfor the IOException and SAXException classes .&lt;br /&gt;import &lt;/div&gt;&lt;a href=&quot;http://www.visualbuilder.com/java/xml/tutorial/pageorder/11/&quot; target=&quot;_top&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;java&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;.io.IOException;&lt;br /&gt;import org.xml.sax.SAXException;&lt;br /&gt;So now we put a try/catch block around the parse method of DOMParser.&lt;br /&gt;try {&lt;br /&gt;xmlparser.parse(xmlfilename);&lt;br /&gt;} catch (IOException e)&lt;br /&gt;{&lt;br /&gt;System.out.println(&quot;Error reading &lt;/span&gt;&lt;a href=&quot;http://www.visualbuilder.com/java/xml/tutorial/pageorder/11/&quot; target=&quot;_top&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;xml file&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;: &quot; e.getMessage());&lt;br /&gt;}&lt;br /&gt;catch (SAXException e)&lt;br /&gt;{&lt;br /&gt;System.out.println(&quot;Error in parsing: &quot; e.getMessage());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;6) Accessing the DOM tree&lt;br /&gt;&lt;br /&gt;As DOM creates a tree-based structure based on the xml file,we will need to access the information stored in the tree.&lt;br /&gt;To access the tree call getDocument() and this returns a Document.&lt;br /&gt;&lt;br /&gt;Document doc = xmlparser.getDocument();&lt;br /&gt;&lt;br /&gt;This Document represents the entire XML document. The data we need to access is stored in nodes. These nodes can have child nodes.&lt;br /&gt;Therefore what you need to do next is walk through the Tree structure (Document) and display the data stored in the Nodes.&lt;br /&gt;&lt;em&gt;Now the Fun starts!!!&lt;br /&gt;&lt;/em&gt;&lt;br /&gt;7) Walking the nodes&lt;br /&gt;&lt;br /&gt;Next we will write a method to display the data in a node. The method will be called displayNode and will take one parameter, the start node.&lt;br /&gt;&lt;br /&gt;This method will start from the first node and walk through all the nodes in the XML using recursion.&lt;br /&gt;&lt;br /&gt;The nodes in the XML document are of different node types.&lt;br /&gt;The node types can be divided into two broad categories; structural nodes and content nodes.&lt;br /&gt;Structural nodes are not actually part of the content in the document but are used to provide syntax structure.&lt;br /&gt;&lt;br /&gt;The following is a list of the different types of nodes:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://bp2.blogger.com/_D0BloTpHxJY/SHQ2W6MlYSI/AAAAAAAACH4/-LwRCFA56cE/s1600-h/htmlvsxml4.JPG&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5220857635236307234&quot; style=&quot;&quot; alt=&quot;&quot; src=&quot;http://bp2.blogger.com/_D0BloTpHxJY/SHQ2W6MlYSI/AAAAAAAACH4/-LwRCFA56cE/s400/htmlvsxml4.JPG&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The main nodes we are interested in are DOCUMENT_NODE, ELEMENT_NODE and ATTRIBUTE_NODE.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Should I use DOM or SAX?&lt;/strong&gt;&lt;br /&gt;If your document is really large, or you only need to extract a few elements from the whole document, then using DOM is not practical.&lt;br /&gt;SAX Looks for startElement events in which the element name is verse, then looks at each character event for the name SAX is more efficient because we only care about a few elements in the document&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SAX is good when:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;1)You only need to go through a document once&lt;br /&gt;2)You’re only looking for a few items&lt;br /&gt;3)You’re not too concerned with document structure of the context of the elements you’re looking for&lt;br /&gt;4)You don’t have much memory&lt;br /&gt;&lt;br /&gt;DOM Builds Java objects for everything in the document, then walks through the tree looking for the name. Using DOM, we create a lot of Java objects we never use, and we go through the document twice (once to parse it and once to search it)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DOM is good when:&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;1)You need to go through a document more than once&lt;br /&gt;2)You need to manipulate lots of things&lt;br /&gt;3)in the document The structure of the document and the&lt;br /&gt;4)context of the elements is a concern&lt;br /&gt;5)Memory is not an issue&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;span style=&quot;font-family:verdana;&quot;&gt;&lt;span style=&quot;font-family:trebuchet ms;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://globaljavafaq.blogspot.com/2008/07/java-xml-part-4.html&quot;&gt;Previous&lt;/a&gt;    &lt;a href=&quot;http://globaljavafaq.blogspot.com/2008/07/java-xml.html&quot;&gt;Home&lt;/a&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div align=&quot;left&quot;&gt;&lt;br /&gt;&lt;object id=&quot;color test&quot; codebase=&quot;http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=&quot; height=&quot;280&quot; width=&quot;336&quot; align=&quot;middle&quot; classid=&quot;clsid:d27cdb6e-ae6d-11cf-96b8-444553540000&quot;&gt;&lt;param name=&quot;_cx&quot; value=&quot;8890&quot;&gt;&lt;param name=&quot;_cy&quot; value=&quot;7408&quot;&gt;&lt;param name=&quot;FlashVars&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Movie&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;Src&quot; value=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;amp;color1=CC0000&amp;amp;color2=FD7F7F&amp;amp;textcolor=FFFFFF&amp;amp;lcolor1=CC0000&amp;amp;trk=&amp;amp;cat=Info&amp;amp;category=INFO%20TECH&quot;&gt;&lt;param name=&quot;WMode&quot; value=&quot;Transparent&quot;&gt;&lt;param name=&quot;Play&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Loop&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Quality&quot; value=&quot;High&quot;&gt;&lt;param name=&quot;SAlign&quot; value=&quot;&quot;&gt;&lt;param name=&quot;Menu&quot; value=&quot;-1&quot;&gt;&lt;param name=&quot;Base&quot; value=&quot;&quot;&gt;&lt;param name=&quot;AllowScriptAccess&quot; value=&quot;sameDomain&quot;&gt;&lt;param name=&quot;Scale&quot; value=&quot;ShowAll&quot;&gt;&lt;param name=&quot;DeviceFont&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;EmbedMovie&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;BGColor&quot; value=&quot;FFFFFF&quot;&gt;&lt;param name=&quot;SWRemote&quot; value=&quot;&quot;&gt;&lt;param name=&quot;MovieData&quot; value=&quot;&quot;&gt;&lt;param name=&quot;SeamlessTabbing&quot; value=&quot;1&quot;&gt;&lt;param name=&quot;Profile&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;ProfileAddress&quot; value=&quot;&quot;&gt;&lt;param name=&quot;ProfilePort&quot; value=&quot;0&quot;&gt;&lt;param name=&quot;AllowNetworking&quot; value=&quot;all&quot;&gt;&lt;param name=&quot;AllowFullScreen&quot; value=&quot;false&quot;&gt;&lt;br /&gt;&lt;embed src=&quot;http://img.tradepub.com/images/bimages/336x280catstatic_scroll.swf?ptnr=globaljavafaq&amp;color1=CC0000&amp;color2=FD7F7F&amp;textcolor=FFFFFF&amp;lcolor1=CC0000&amp;trk=&amp;cat=Info&amp;category=INFO%20TECH&quot; quality=&quot;high&quot; bgcolor=&quot;#ffffff&quot; width=&quot;336&quot; height=&quot;280&quot; name=&quot;color test&quot; align=&quot;middle&quot; allowscriptaccess=&quot;sameDomain&quot; type=&quot;application/x-shockwave-flash&quot; pluginspage=&quot;http://www.macromedia.com/go/getflashplayer&quot; wmode=&quot;transparent&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;www.igoogle.com&lt;/div&gt;</description><link>http://globaljavafaq.blogspot.com/2008/07/java-xml-3-on-calling-domhelloworld.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://bp2.blogger.com/_D0BloTpHxJY/SHQ2W6MlYSI/AAAAAAAACH4/-LwRCFA56cE/s72-c/htmlvsxml4.JPG" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>