<< Chapter < Page | Chapter >> Page > |
Writing raw HTML code is not fun even under the best of circumstances. That is why I use a WYSIWYG HTML editor for authoring these modules.
Even for this very simple servlet, the process of constructing the output HTML code using Java println statements was very tedious and error prone. Much of the difficulty arises from the fact that Java strings must be enclosed inmatching double quotes and all HTML attribute values must also be enclosed in matching double or single quotes. As you can see from Listing 16 , the requirement to escape double quotes inside Java strings with the backslashcharacter can lead to some very confusing code. (I suppose it might be less confusing if I were to use single quotes instead of double quotes on HTML attributevalues. I will try that in the next module.)
In any event, the next section presents a JSP version of the same servlet. JSP intermingles HTML code with Java code and greatly reduces the amount of HTMLcode that must be constructed using Java println statements in a servlet. If you are unfamiliar with JSP, you can learn about it in the modules that begin at Java4305: Preface to JSP .
A complete listing of the JSP version of this program is provided in Listing 17 . I found this JSP version much easier to write than the servlet version discussed above. Admittedly, however, I wrote the servlet version first, so that probablyhelped to make it easier to write the JSP version.
I wrote all of the HTML code using Microsoft Expression Web 4, which provides both a WYSIWYG capability and a raw HTML editing capability. Once I confirmed that theHTML code was correct and valid, I went back and inserted the JSP tags containing the Java code.
As mentioned earlier, the JSP does not get and use the name of the computer on which it is running. Instead it uses the generic name localhost, which limitsthe ability to access the JSP from another computer on the network.
Once again, I will discuss this program in fragments. A complete listing of the program is provided in Listing 17 .
Create basic web page structure
Listing 10 shows the HTML code that is roughly equivalent to the Java code in Listing 4 through Listing 7 . This code creates the HTML header and the basic structure of the web page shownin Figure 1 .
Listing 10 - Create basic web page structure. |
---|
<html><head><title>Java4550a</title></head><body><form method="get" action="http://localhost:8080/Java4550a.jsp"><p>Enter a name and press the button</p><p>Name:<input type="text" name="firstName"/></p><input type="submit" value="Submit Name"/><p>Your list of names is:<br/> |
A JSP scriptlet
Listing 11 is a scriptlet containing pure Java code. It begins by getting the data from the request object. Then it deals withthe situation where nothing has been entered into the text field in Figure 1 , reporting that the list is empty. It ends with the beginning of a for loop that is executed when the array is not empty. Recall that in JSP, Java code blocks can begin in one scriptlet andend in another scriptlet later in the page. That is what is happening here.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?