JAVA SERVER PAGES CREATING DYNAMIC WEB PAGES USING
JAVA SERVER PAGES CREATING DYNAMIC WEB PAGES USING JAVA James Faeldon CS 119 Enterprise Systems Programming
Overview Introduction to JSP Scripting Elements Understanding the need for JSP Evaluating the benefits of JSP Installing JSP Files JSP Expressions JSP Scriplets JSP Declarations JSP Page Directive Understanding the purpose of the page directive Designating which classes are imported Specifying the MIME type of the page
Introduction to JSP Java Server Pages (JSP) technology enables you to mix regular, static HTML with dynamically generated content. Order. Confirmation. jsp
Introduction to JSP Dynamic Pages can change in response to different context or conditions. HTTP request parameters used as dynamic content
Servlets vs. JSP Servlets are good for data processing while JSP is good for presentation. Benefits of JSP It is easier to write and maintain the HTML You can use standard Web-site development tools You can divide up your development team
Reading 3 Parameters (Example) SERVLET JSP HTML code in JAVA code in HTML Three. Params. java Three. Params. jsp
Reading 3 Parameters (Example)
Servlets vs. JSP doesn’t provide any capabilities that couldn’t be accomplished with Servlets. JSP documents are automatically translated into servlets behind the scenes. The issue is not the power of the technology, it is the convenience, productivity, and maintainability of one or the other. Choose the right tool for the job.
Installation of JSP files JSP Directories for Tomcat Main Location: tomcat_install_dir/webapps/ROOT Corresponding URL: http: //localhost: 8080/Some. File. jsp More Specific Location (Arbitrary Subdirectory): tomcat_install_dir/webapps/ROOT/Some. Directory Corresponding URL: http: //localhost: 8080/Some. Directory/Some. File. jsp
Types of JSP Scripting Elements Expressions of the form <%= Java Expression %>, which are evaluated and inserted into the servlet’s output. Scriptlets of the form <% Java Code %>, which are inserted into the servlet’s _jsp. Service method (called by service). Declarations of the form <%! Field/Method Declaration %>, which are inserted into the body of the servlet class, outside any existing methods.
Using JSP Expressions A JSP expression is used to insert values directly into the output. It has the following form: <%= Java Expression %> Example: Current time: <%= new java. util. Date() %>
Predefined Variables request, the Http. Servlet. Request. response, the Http. Servlet. Response. session, the Http. Session associated with the request (unless disabled with the session attribute of the page directive out, the Writer (a buffered version of type Jsp. Writer) used to send output to the client. application, the Servlet. Context. This is a data structure shared by all servlets and JSP pages in the Web application and is good for storing shared data. Example: Your hostname: <%= request. get. Remote. Host() %>
Example: JSP Expressions. jsp
Example: JSP Expressions
Writing JSP Scriplets If you want to do something more complex than output the value of a simple expression, JSP scriptlets let you insert arbitrary code. It has the following form: <% Java Code %> Example: <% String query. Data = request. get. Query. String(); out. println("Attached GET data: " + query. Data); %>
Example: JSP Scriplets Bg. Color. jsp
Example: JSP Scriplets
Another Example: JSP Scriplets Day. Wish. jsp
Another Example: JSP Scriplets
Using JSP Declarations A JSP declaration lets you define methods or fields that get inserted into the main body of the servlet class. It has the following form: <%! Field or Method Definition %> Example: <H 1>Some Heading</H 1> <%! private String random. Heading() { return("<H 2>" + Math. random() + "</H 2>"); } %> <%= random. Heading() %>
Example: JSP Declarations Acces. Counts. jsp
Example: JSP Declarations
JSP Directive A JSP Directive affects the overall structure of the JSP page. It has the form: <%@ directive attribute="value" %> <%@ directive attribute 1="value 1" attribute 2="value 2". . . attribute. N="value. N" %> There are three main types of directives: page, include and taglib.
The import Attribute The import attribute of the page directive lets you specify the packages that should be imported into the JSP page. <%@ page import="package. class" %> <%@ page import="package. class 1, . . . , package. class. N" %> Example: <%@ page import="java. util. *" %> Date today: <%= new Date() %>
The content. Type Attribute The content. Type attribute sets the Content-Type response header, indicating the MIME type of the document being sent to the client. Use of the content. Type attribute takes one of the following two forms. <%@ page content. Type="MIME-Type" %> <%@ page content. Type="MIME-Type; charset=Character-Set" %> Example: First Last Email Address James Gosling james@gosling. com Larry Brown larry@brown. com Steve Balmer steve@balmer. com Scott Mc. Nealy scott@mcnealy. com <%@ page content. Type="application/vnd. ms-excel" %> <%-- There are tabs, not spaces, between columns. --%>
Example: Conditionally Generating Excel Spreadsheets Apples. And. Oranges. jsp
Example: Conditionally Generating Excel Spreadsheets
Strategies for invoking dynamic code in JSP Call Java code directly. Place all Java code in JSP page. Appropriate only for very small amounts of code. Call Java code indirectly. Develop separate utility classes. Insert into JSP page only the Java code needed to invoke the utility classes. Use beans. Develop separate utility classes structured as beans. Use jsp: use. Bean, jsp: get. Property, and jsp: set. Property to invoke the code. Use the MVC architecture. Have a servlet respond to original request, look up data, and store results in beans. Forward to a JSP page to present results. JSP page uses beans. Use the JSP expression language. Use shorthand syntax to access and output object properties. Usually used in conjunction with beans and MVC. Use custom tags. Develop tag handler classes. Invoke the tag handlers with XML-like custom tags.
Tips Limit the amount of Java code that is in JSP pages. At the very least, use helper classes that are invoked from the JSP pages. Put all your classes in packages. Define most methods with separate Java classes, not JSP declarations.
Exercise: Create a web page that will display the contents of the PERSON table in the owners database. You should be able to display the records in an HTML table or in an Excel spreadsheet. Note: If your browser does not support displaying Excel spreadsheet a prompt will show just choose to open the file.
- Slides: 30