1 / 21

Java Server Pages

Learn how to create dynamic web pages using Java Server Pages (JSP). This tutorial covers the basics of JSP, including scripting elements, variables, declarations, and directives.

smarvin
Download Presentation

Java Server Pages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Server Pages Dr. Mohammad Ahmad

  2. Servlets • The purpose of a servlet is to create a Web page in response to a client request • Servlets are written in Java, with a little HTML mixed in • The HTML is enclosed in out.println( ) statements • JSP (Java Server Pages) is an alternate way of creating servlets • JSP is written as ordinary HTML, with a little Java mixed in • The Java is enclosed in special tags, such as <% ... %> • The HTML is known as the template text • JSP files must have the extension .jsp • JSP is translated into a Java servlet, which is then compiled • Servlets are run in the usual way • The browser or other client sees only the resultant HTML, as usual

  3. How jsp work?

  4. JSP-Life Cycle

  5. JSP scripting elements • There is more than one type of JSP “tag,” depending on what you want done with the Java • <%= expression %> • The expression is evaluated and the result is inserted into the HTML page • <% code %> • The code is inserted into the servlet's service method • This construction is called a scriptlet • <%! declarations %> • The declarations are inserted into the servlet class, not into a method

  6. <HTML><BODY>Hello!  The time is now <%= new java.util.Date() %></BODY></HTML> Notes: The <%= ... %> tag is used, because we are computing a value and inserting it into the HTML The fully qualified name (java.util.Date) is used, instead of the short name (Date), because we haven’t yet talked about how to do import declarations Example JSP

  7. Variables • You can declare your own variables, as usual • JSP provides several predefined variables • request : The HttpServletRequest parameter • response : The HttpServletResponse parameter • session : The HttpSession associated with the request, or null if there is none • out : A JspWriter (like a PrintWriter) used to send output to the client • Example: • Your hostname: <%= request.getRemoteHost() %>

  8. Script lets • Script lets are enclosed in <% ... %> tags • Script lets do not produce a value that is inserted directly into the HTML (as is done with <%= ... %>) • Script lets are Java code that may write into the HTML • Example:<% String query Data = request.getQueryString(); out.println("Attached GET data: " + query Data); %> • Script lets are inserted into the servlet exactly as written, and are not compiled until the entire servlet is compiled • Example:<% if (Math.random() < 0.5) { %> Have a <B>nice</B> day!<% } else { %> Have a <B>lousy</B> day!<% } %>

  9. Examples: Scripting Elements • Declaration: <%! %> • A declaration is a block of code in a JSP that is used to define class-wide variables and methods in the generated servlet. • Declaring a piece of code: declaration.jsp

  10. Examples: Scripting Elements (contd.) • Scriplets: <% %> • A scriplet is a block of Java code that is executed during the request-processing time. • Expressions: sends a value of a Java expression back to the client. • <%= %>

  11. Declarations • Use <%! ... %> for declarations to be added to your servlet class, not to any particular method • Caution: Servlets are multithreaded, so nonlocal variables must be handled with extreme care • If declared with <% ... %>, variables are local and OK • Data can also safely be put in the request or session objects • Example:<%! private int accessCount = 0; %> Accesses to page since server reboot: <%= ++accessCount %> • You can use <%! ... %> to declare methods as easily as to declare variables

  12. Directives • Directives affect the servlet class itself • A directive has the form: <%@ directiveattribute="value" %>or<%@ directiveattribute1="value1" attribute2="value2" ...attributeN="valueN" %> • The most useful directive is page, which lets you import packages • Example: <%@ page import="java.util.*" %>

  13. Examples: Directives • <%@ %> • A directive configures the code generation that container will perform in creating a servlet. • Simple JSP showing access to a Java API class Date: simple.jsp • Using Page directives to define various page attributes: pageDirective.jsp • Directive to include other JSPs: includeDirective1.jsp, includeDirective2.jsp

  14. The include directive • The include directive inserts another file into the file being parsed • The included file is treated as just more JSP, hence it can include static HTML, scripting elements, actions, and directives • Syntax: <%@ include file="URL" %> • The URL is treated as relative to the JSP page • If the URL begins with a slash, it is treated as relative to the home directory of the Web server • The include directive is especially useful for inserting things like navigation bars

  15. Actions • Actions are XML-syntax tags used to control the servlet engine • <jsp:include page="URL" flush="true" /> • Inserts the indicated relative URL at execution time (not at compile time, like the include directive does) • This is great for rapidly changing data • <jsp:forward page="URL" /><jsp:forward page="<%= JavaExpression %>" /> • Jump to the (static) URL or the (dynamically computed) JavaExpression resulting in a URL

  16. Examples: Standard Actions • Standard actions are well known tags that affect the run time behavior of the JSP and the response sent back to the client. • Some commonly used tag actions types are: <jsp:useBean> <jsp:setProperty> <jsp:getProperty> <jsp:param> <jsp:include> <jsp:forward> <jsp:plugin>

  17. Java Server Pages • Servlets are pure Java programs. They introduce dynamism into web pages by using programmatic content. • JSP technology is an extension/wrapper over the Java servlet technology. • JSP are text based documents. • We will focus only on JSP since it subsumes the servlet technology. • Two major components of JSP: • Static content: provided by HTML or XML • Dynamic content: generated by JSP tags and scriplets written in Java language to encapsulate the application logic.

  18. JSP compilation into Servlets JSP Initial request Web Server Web Container Web Browser translation Java Servlets Subseq request

  19. More on JSP syntax and contents • HTML code for user interface lay out • JSP tags: declarations, actions, directives, expressions, scriplets • JSP implicit objects: a request object, response object, session object, config object • Javabeans: for logic that can be taken care of at the JSP level.

  20. JSP Tags • Declaration: variable declaration <%! int age = 56 %> • Directive: ex: import classes <%@ page import = “java.util.*” %> • Scriplet: Java code <% if password(“xyz”) { %> <H1> Welcome <\H1> • Expression: regular expression using variables and constants • <%= param[3]+4 %> • Action: <jsp:usebean name =“cart” class=“com.sun.java.Scart”

  21. Java Server Pages by Examples • JSPs combine static markup (HTML, XML) with special dynamic scripting tags. • Each JSP is translated into a servlet the first time it is invoked. Then on, the requests are serviced by the servlets.

More Related