<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1482873307603879484</id><updated>2011-11-28T05:32:42.469+05:30</updated><category term='jdbc'/><category term='JSP'/><category term='java'/><title type='text'>Skysoft Online</title><subtitle type='html'>A helping hand for the people's working in IT.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-5319117965544060657</id><published>2008-10-04T17:47:00.001+05:30</published><updated>2008-11-11T01:07:58.789+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>What is compile time and runtime polymorphism?</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="156"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin:0in;  margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";  mso-bidi-font-family:"Times New Roman";  mso-bidi-language:AR-SA;} p  {mso-margin-top-alt:auto;  margin-right:0in;  mso-margin-bottom-alt:auto;  margin-left:0in;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-fareast-font-family:"Times New Roman";  mso-bidi-font-family:"Times New Roman";} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.25in 1.0in 1.25in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:10.0pt;  font-family:"Times New Roman";  mso-ansi-language:#0400;  mso-fareast-language:#0400;  mso-bidi-language:#0400;} &lt;/style&gt; &lt;![endif]--&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Overloading &lt;/span&gt;is compile time &lt;span style="color: rgb(255, 102, 102);"&gt;polymorphism&lt;/span&gt;,&lt;br /&gt;because compiler checks the method signatures while compiling itself। (i e: Method names, Argument types, argument creation order, etc...)&lt;br /&gt;&lt;span style="color: rgb(255, 102, 102);"&gt;Overriding &lt;/span&gt;is run time &lt;span style="color: rgb(255, 102, 102);"&gt;polymorphism&lt;/span&gt;।&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-5319117965544060657?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/5319117965544060657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=5319117965544060657' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/5319117965544060657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/5319117965544060657'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/10/what-is-compile-time-and-runtime.html' title='What is compile time and runtime polymorphism?'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-4862968047016343418</id><published>2008-08-12T17:34:00.000+05:30</published><updated>2008-11-11T01:07:02.089+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>What are the differences between HashMap and Hashtable?</title><content type='html'>Both provide key-value access to data. The Hashtable is one of the original collection classes in Java. HashMap is part of the new Collections Framework, added with Java 2, v1.2. &lt;br /&gt;The key difference between the two is that access to the Hashtable is synchronized on the table while access to the HashMap isn't. You can add it, but it isn't there by default.&lt;br /&gt;&lt;br /&gt;Another difference is that iterator in the HashMap is fail-safe while the enumerator for the Hashtable isn't. If you change the map while iterating, you'll know.&lt;br /&gt;&lt;br /&gt;And, a third difference is that HashMap permits null values in it, while Hashtable doesn't.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-4862968047016343418?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/4862968047016343418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=4862968047016343418' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/4862968047016343418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/4862968047016343418'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/08/what-are-differences-between-hashmap.html' title='What are the differences between HashMap and Hashtable?'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-4916181608561457886</id><published>2008-08-12T00:54:00.002+05:30</published><updated>2008-11-11T01:07:02.090+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>StringBuffer versus String</title><content type='html'>Java provides the StringBuffer and String classes, and the String class is used to manipulate character strings that cannot be changed. Simply stated, objects of type String are read only and immutable. The StringBuffer class is used to represent characters that can be modified.&lt;br /&gt;&lt;br /&gt;The significant performance difference between these two classes is that StringBuffer is faster than String when performing simple concatenations. In String manipulation code, character strings are routinely concatenated. Using the String class, concatenations are typically performed as follows: &lt;br /&gt;&lt;br /&gt;     String str = new String ("Stanford  ");&lt;br /&gt;     str += "Lost!!";&lt;br /&gt;&lt;br /&gt;If you were to use StringBuffer to perform the same concatenation, you would need code that looks like this: &lt;br /&gt;&lt;br /&gt;     StringBuffer str = new StringBuffer ("Stanford ");&lt;br /&gt;     str.append("Lost!!");&lt;br /&gt;&lt;br /&gt;Developers usually assume that the first example above is more efficient because they think that the second example, which uses the append method for concatenation, is more costly than the first example, which uses the + operator to concatenate two String objects. &lt;br /&gt;&lt;br /&gt;The + operator appears innocent, but the code generated produces some surprises. Using a StringBuffer for concatenation can in fact produce code that is significantly faster than using a String. To discover why this is the case, we must examine the generated bytecode from our two examples. The bytecode for the example using String looks like this: &lt;br /&gt;&lt;br /&gt;0 new #7 &lt;Class java.lang.String&gt;&lt;br /&gt;3 dup &lt;br /&gt;4 ldc #2 &lt;String "Stanford "&gt;&lt;br /&gt;6 invokespecial #12 &lt;Method java.lang.String(java.lang.String)&gt;&lt;br /&gt;9 astore_1&lt;br /&gt;10 new #8 &lt;Class java.lang.StringBuffer&gt;&lt;br /&gt;13 dup&lt;br /&gt;14 aload_1&lt;br /&gt;15 invokestatic #23 &lt;Method java.lang.String valueOf(java.lang.Object)&gt;&lt;br /&gt;18 invokespecial #13 &lt;Method java.lang.StringBuffer(java.lang.String)&gt;&lt;br /&gt;21 ldc #1 &lt;String "Lost!!"&gt;&lt;br /&gt;23 invokevirtual #15 &lt;Method java.lang.StringBuffer append(java.lang.String)&gt;&lt;br /&gt;26 invokevirtual #22 &lt;Method java.lang.String toString()&gt;&lt;br /&gt;29 astore_1&lt;br /&gt;&lt;br /&gt;The bytecode at locations 0 through 9 is executed for the first line of code, namely:&lt;br /&gt;&lt;br /&gt;     String str = new String("Stanford ");&lt;br /&gt;&lt;br /&gt;Then, the bytecode at location 10 through 29 is executed for the concatenation:&lt;br /&gt;&lt;br /&gt;     str += "Lost!!";&lt;br /&gt;&lt;br /&gt;Things get interesting here. The bytecode generated for the concatenation creates a StringBuffer object, then invokes its append method: the temporary StringBuffer object is created at location 10, and its append method is called at location 23. Because the String class is immutable, a StringBuffer must be used for concatenation. &lt;br /&gt;&lt;br /&gt;After the concatenation is performed on the StringBuffer object, it must be converted back into a String. This is done with the call to the toString method at location 26. This method creates a new String object from the temporary StringBuffer object. The creation of this temporary StringBuffer object and its subsequent conversion back into a String object are very expensive. &lt;br /&gt;&lt;br /&gt;In summary, the two lines of code above result in the creation of three objects:&lt;br /&gt;&lt;br /&gt;A String object at location 0 &lt;br /&gt;A StringBuffer object at location 10 &lt;br /&gt;A String object at location 26 &lt;br /&gt;&lt;br /&gt;Now, let's look at the bytecode generated for the example using StringBuffer: &lt;br /&gt;&lt;br /&gt;0 new #8 &lt;Class java.lang.StringBuffer&gt;&lt;br /&gt;3 dup&lt;br /&gt;4 ldc #2 &lt;String "Stanford "&gt;&lt;br /&gt;6 invokespecial #13 &lt;Method java.lang.StringBuffer(java.lang.String)&gt;&lt;br /&gt;9 astore_1&lt;br /&gt;10 aload_1 &lt;br /&gt;11 ldc #1 &lt;String "Lost!!"&gt;&lt;br /&gt;13 invokevirtual #15 &lt;Method java.lang.StringBuffer append(java.lang.String)&gt;&lt;br /&gt;16 pop&lt;br /&gt;&lt;br /&gt;The bytecode at locations 0 to 9 is executed for the first line of code:&lt;br /&gt;&lt;br /&gt;     StringBuffer str = new StringBuffer("Stanford ");&lt;br /&gt;&lt;br /&gt;The bytecode at location 10 to 16 is then executed for the concatenation:&lt;br /&gt;&lt;br /&gt;     str.append("Lost!!");&lt;br /&gt;&lt;br /&gt;Notice that, as is the case in the first example, this code invokes the append method of a StringBuffer object. Unlike the first example, however, there is no need to create a temporary StringBuffer and then convert it into a String object. This code creates only one object, the StringBuffer, at location 0. &lt;br /&gt;&lt;br /&gt;In conclusion, StringBuffer concatenation is significantly faster than String concatenation. Obviously, StringBuffers should be used in this type of operation when possible. If the functionality of the String class is desired, consider using a StringBuffer for concatenation and then performing one conversion to String.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-4916181608561457886?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/4916181608561457886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=4916181608561457886' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/4916181608561457886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/4916181608561457886'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/08/stringbuffer-versus-string.html' title='StringBuffer versus String'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-2533493150224166864</id><published>2008-08-12T00:41:00.002+05:30</published><updated>2008-11-11T01:07:28.490+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='jdbc'/><title type='text'>Understanding Class.forName()</title><content type='html'>Dynamic loading of Java classes at runtime provides tremendous flexibility in the development of enterprise systems. It provides for the basis of "application servers", and allows even simpler, lighter-weight systems to accomplish some of the same ends. Within Java, dynamic loading is typically achieved by calling the forName method on the class java.lang.Class;&lt;br /&gt;&lt;br /&gt;Dynamic run-time loading One of Java's strongest features is its ability to dynamically load code given the name of the class to load, without having to know the actual classname until runtime. This allows Java developers to build flexible, dynamic systems that can grow and change without requiring complete recompilation.&lt;br /&gt;&lt;br /&gt;This use of dynamic runtime loading is the heart of Java Application Servers like the Java2 Enterprise Edition reference implementation, Enterprise JavaBeans, and the Servlet Specification. In each one of these architectures, at the time the application server is compiled, it knows nothing about the code that will be attached to it. Instead, it simply asks the user for a classname to load, loads the class, creates an instance of the class, and starts making method calls on that instance. (It does so either through Reflection, or by requiring that clients implement a particular interface or class, like GenericServlet in the&lt;br /&gt;Servlet spec, or EJBObject in the EJB spec.) &lt;br /&gt;&lt;br /&gt;Use of dynamic run-time loading isn't restricted solely to server-side architectures, however. Web browsers must use it in order to be able to load applets specified by name by a remote web page, as well. RMI uses it to dynamically load stubs and/or skeletons for remote objects, and JNDI and JDBC will use it to load, at runtime, the exact driver necessary (given by the user's appropriate ".properties" file) to perform the work asked. In each case, a ClassLoader is asked to load a class by name that may not have existed within the JVM before this moment.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-2533493150224166864?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/2533493150224166864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=2533493150224166864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/2533493150224166864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/2533493150224166864'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/08/understanding-classforname.html' title='Understanding Class.forName()'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-5427000290653503118</id><published>2008-06-20T13:30:00.001+05:30</published><updated>2008-11-11T01:07:02.090+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Can I run a java program without main() method?</title><content type='html'>The Java launcher starts the main method of the class named on command line. In that sense, it is not possible to run a Java program without a main method. But you could write a launcher of your own that starts some other method. Many frameworks have their own main method and depend on some other predefined protocol to provide control to the user program. Web containers depend on configuration file that determine servlet classes on which process or doGet/doPost methods. In a manner of speaking, these servlets are programs, but there is no main method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-5427000290653503118?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/5427000290653503118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=5427000290653503118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/5427000290653503118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/5427000290653503118'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/06/can-i-run-java-program-without-main.html' title='Can I run a java program without main() method?'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-4668816239221264983</id><published>2008-06-20T13:03:00.000+05:30</published><updated>2008-11-11T01:06:33.860+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><title type='text'>Exception is raised only during Run time, then, why we have three types of exceptions which are exception, runtime exception and error exception?</title><content type='html'>The runtime in a runtime exception does not refer to the fact that it is thrown at runtime. The exceptions are thrown as part of the program execution, so of course they can be thrown only when the program is executing.&lt;br /&gt;The classification of the exceptions relates to the severity of the cause. Java has an elaborate exception-checking model. A method may declare that it can potentially throw any of the exceptions that it declares in its throws clause. It is responsibility of the calling method catches these exceptions and/or throws them itself. If the calling method throws this exception it too needs to declare it in its throws clause.&lt;br /&gt;The above applies to the checked exceptions. These are the objects (yes, exceptions are objects too) that extend the class Exception, except those that extend RuntimeException. Such checked exceptions can for example be thrown by methods when the calling method does not satisfy one of the preconditions of that method.&lt;br /&gt;The rules of declarations are more lenient for RuntimeExceptions and Error. Methods are neither required to declare them in their throws clause nor are required to catch them. These usually signal an error in program logic or conditions under which abnormal program (or thread) termination is acceptable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-4668816239221264983?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/4668816239221264983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=4668816239221264983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/4668816239221264983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/4668816239221264983'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/06/exception-is-raised-only-during-run.html' title='Exception is raised only during Run time, then, why we have three types of exceptions which are exception, runtime exception and error exception?'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1482873307603879484.post-7568666799626736779</id><published>2008-02-18T19:11:00.001+05:30</published><updated>2008-02-18T19:17:23.462+05:30</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSP'/><title type='text'>JavaServer Pages for beginners</title><content type='html'>follow this link&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/websphere/techjournal/0702_col_johnson/0702_col_johnson.html"&gt;JavaServer Pages for beginners&lt;/a&gt;&lt;br /&gt;and learn complete flow of jsp page processing in any web application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1482873307603879484-7568666799626736779?l=skysoftonline.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skysoftonline.blogspot.com/feeds/7568666799626736779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1482873307603879484&amp;postID=7568666799626736779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/7568666799626736779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1482873307603879484/posts/default/7568666799626736779'/><link rel='alternate' type='text/html' href='http://skysoftonline.blogspot.com/2008/02/javaserver-pages-for-beginners.html' title='JavaServer Pages for beginners'/><author><name>Skysoft Online</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://bp1.blogger.com/_eRsN6n0oTiY/SGUmNQh9nfI/AAAAAAAAAAc/dD7i1nkGdpw/S220/DSC005881.jpg'/></author><thr:total>0</thr:total></entry></feed>
