Part of the magic of JSP is that you can replace JSP source code on the fly while the server is active. The next time a request comes for that JSP code, will be automatically recompiled. You don’t have to shut down the server ever time you change the text or JSP markup of a page. This works because of clever use of classloaders to see that obsolete classes are garbage collected. Normally, you use this feature only for testing. You normally don’t update your code while a production server is running.
Multiple Languages | Gotchas |
HelloJspWorld.jsp | advantages |
Tags | Disadvantages |
Two Types of Include | Books |
Potential of JSP | Learning More |
Alternatives To JSP | Links |
Here is a the JSP equivalent of the HelloWorld program.
See servlet for instructions on how to install and run it. The Servlet womb will automatically convert the *.jsp to *.java and compile it to a
Note how it looks like ordinary HTML with dynamically generated variable content Java code enclosed in <%=… %>. Inside those delimiters is a Java expression, called a scriptlet, that when evaluated will produce a String to insert at that point in the HTML file. Have a look at how various JSP files expand into Java source code to generate and glue the various bits of text together. In addition there are other things called tags you can embed with many different syntaxes. Unfortunately, the documentation on how to use them reads like the ramblings of someone with ADD. They keep wandering off on tangents before they have explained the core functionality. Further, they scrupulously avoid using examples to explain the abstract gibberish. This is ad hoc language creation at its worst.
By default the Servlet generated is thread-safe so the same code can process several requests simultaneously. Alternatively, you can declare your code with <%@ page isThreadSafe=false %> so that your Servlet will only be used to process one message at a time.
Note that the <%=…%> delimiters used by JSP are not legitimate HTML. They must be expanded and removed before feeding the page to a browser. (In contrast, static macro markup are legitimate HTML even before expansion and are not removed on expansion.)
There are many different sorts of beast you embed in your HTML. Among them are the following tags:
There are a number of general purpose tag libraries (taglibs) available on the net that you can access simply by giving the URL (Uniform Resource Locator) of their *.tld files.
Here
You can have one-liner bodyless tags or begin-end tags enclosing a body. The body is like a large parameter, often of text to format. The syntax is borrowed from XML.
You must enclose parameters in either " or
'. If the attribute value itself contains "s, you must enclose the parameter value in '. If the attribute value itself contains 's, you must enclose it in "…". What do you do if a string contains both
" and '? You must use the
entity " for embedded " and surround the string in "s, e.
g.:
<mytag:album title="Sargeant
Pepper’s Lonely Hearts Club Band">
<mytag:album title='The Wall'>
<mytag:album title="Peter’s
"Weird Songs"">
<%@ include> is a macro-style, inline, translation/compile time include that inserts some JSP / HTML source code into the current JSP program.
JSP is like a 400 year old house where each generation that lived in it tacked on an extra room. There is no overall plan, just a hodge-podge of architectural styles kludged together. The syntax is, to be kind, appalling.
~ Roedy (1948-02-04 age:70)
![]() |
recommend book⇒Head First Servlets and JSP: Passing the SCJP Oracle Certified Web Component Developer Exam![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Bryan Basham, Kathy Sierra, Bert Bates | 978-0-596-51668-0 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | O’Reilly ![]() |
978-1-4493-6086-3 | eBook | |||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2008-08-07 | B009Z45JAI | kindle | |||||||||||||||||||||||||||||||||||||||||||||||||||||
A very complete book, partly because it aims to prepare you for the Oracle exam. It is also a difficult book. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Murach’s Java Servlets and JSP, second edition![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Joel Murach and Andrea Steelman | 978-1-890774-44-8 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | Mike Murach | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2008-01-21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Presumes Tomcat and Netbeans. That is a disadvantage if you use other tools but a boon if you use them, since so many problems are about the details of configuring and implementation, not the code itself. book website | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Core Servlets and Javaserver Pages: Advanced Technologies, Vol. 2, second edition![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Marty Hall, Larry Brown, Yaakov Chaikin | 978-0-13-148260-9 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | Prentice Hall | 978-0-13-271568-3 | eBook | |||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2007-12-01 | B004YWAZFA | kindle | |||||||||||||||||||||||||||||||||||||||||||||||||||||
Complete text of the book available on line in pdf format. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Java 2 Bible![]() | |||
by | Justin Couch and Daniel H. Steinberg | 978-0-7645-0882-0 | paperback | |
---|---|---|---|---|
publisher | Wiley | |||
published | 2002-04-01 | |||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒More Servlets and Java Server Pages![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Marty Hall | 978-0-13-067614-6 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | Pearson Education | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2001-12-26 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Complete text of the book available on line in pdf format. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Web Development with JavaServer Pages![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Duane K. Fields, Mark A. Kolb, Shawn Bayern | 978-1-930110-12-0 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | Manning | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2001-09-15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
A very thorough treatment. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Core Web Programming, second edition![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Marty Hall and Gary Cornell | 978-0-13-089793-0 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | Prentice Hall | 978-0-613-92274-6 | hardcover | |||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2001-06-03 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
1250 pages. Also has some simple RMI examples. This is a great doorstop of a book. It has a few chapters on client-server programming in Java and a section of that is on CGI. I have looked at hundreds of Java books and found nothing that deals in depth with client side Java talking to CGI, except Marty’s book. It is really very simple and he does an excellent job of explaining it. Marty has posted all the source code examples from the book for anyone to use. These contain updates and errata fixes you don’t get on the CD-ROM that comes with the book. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Java Servlet Programming, second edition![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | Jason Hunter, William Crawford | 978-0-596-00040-0 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | O’Reilly ![]() |
978-1-4493-9067-9 | eBook | |||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2001-03-01 | B0043M4Z8E | kindle | |||||||||||||||||||||||||||||||||||||||||||||||||||||
highly recommended. Covers basics of JSP too. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() |
recommend book⇒Pure JSP: Java Server Pages![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
by | James Goodwill | 978-0-672-31902-0 | paperback | |||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
publisher | Sams | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
published | 2000-06-08 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
I would not recommend this book. It seems as it were constructed by copy/paste from the spec. It tries to explain things abstractly without even explaining the conventions of his BNF notation. It needs to be rewritten replacing the BNF with concrete, realistic examples. Reading this book is likely listening to a politician trying to avoid a question. It does have examples, but beats around the bush needlessly before getting to the point. Does not cover tags or UEL. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder. |
![]() ![]() |
This page is posted |
http://mindprod.com/jgloss/jsp.html |
Optional Replicator mirror
|
J:\mindprod\jgloss\jsp.html | |
![]() |
Please read the feedback from other visitors,
or send your own feedback about the site. Contact Roedy. Please feel free to link to this page without explicit permission. | |
Canadian
Mind
Products
IP:[65.110.21.43] Your face IP:[3.142.83.70] |
| |
Feedback |
You are visitor number Statcounter | |