Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
JavaServer Page by Antonio Ko Overview ► Introduction ► What is a servlet? ► What can servlets do? ► Servlets Vs JSP ► Syntax ► Samples ► JavaBean ► Tag Library ► Conclusion Introduction ► Java Server Pages (JSP) is basically Sun's answer to Microsoft's Active Server Pages (ASP). ► Advantages over other technologies: It is in Java No tied to a particular server product ► JSP is actually based on Java Servlet What is Servlet ► Java’s answer to the Common Gateway Interface (CGI). ► Applet: a java program that runs within the web browser. ► Servlet: a java program that runs within the web server. What can Servlets do Search Engines Personalization Systems E-Commerce Applications Shopping Carts Product Catalogs Intranet Applications Groupware Applications: bulletin boards, file sharing, etc. Servlets vs JSP Servlets code looks like a regular Java program. JSP embed Java commands directly within HTML Let’s examine a Servlet program next to a JSP program… Each of these prints, “Hello, World!” import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("text/html"); PrintWriter out = res.getWriter(); out.println("<HTML>"); out.println("<HEAD><TITLE>Hello World</TITLE></HEAD>"); out.println("<BODY>"); out.println("<BIG>Hello World</BIG>"); out.println("</BODY></HTML>"); } } <html> <head> <title>Hello, World JSP Example</title> </head> <body> <h2> Hello, World! The current time in milliseconds is <%= System.currentTimeMillis() %> </h2> </body> </html> Syntax ► Three main types of JSP constructs embed in a HTML page: Scripting elements Directives actions Scripting Element ► Three forms available: 1. <%= expression %>, for output 2. <% code %>, for a block of Java code 3. <%! code %>, for declaration Directives ► ► ► A JSP directive affects the overall structure of the servlet that results from the JSP page. Syntax: <%@ directive attribute =“value” %> Three types of directives: 1. page 2. include 3. taglib Action ► JSP actions are XML tags that invoke built-in web server functionality. e.g. <jsp:setProperty name = “myBean” property = “message” value = “This is my message” /> Sample1 <html> <head> <title>Untitled Document</title> </head> <body> <%= "hello world"%> </body> </html> Sample2 <html> <head> <title>Untitled Document</title> </head> <body> <% if(Math.random()<0.5) {%> Have a <BR>nice<BR>day <% }else {%> Have a <BR>lousy<BR>day <%}%> </body> </html> Sample 3 <%@ page import="java.util.*" %> <HTML> <BODY> <%! Date theDate = new Date(); Date getDate() { System.out.println( "In getDate() method" ); return theDate; } %> Hello! The time is now <%= getDate() %> </BODY> </HTML> JavaBean ► An object that holds data with setter and getter methods. ► Can be used to store data through out the session. public class SimpleBean { private String message = "No message specified"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; } } Tag Library ► One of the features of JSP ► Simplify complex server-side behavior into simple elements ► Creates custom JSP tags into a library. ► Each tag library has a tag library descriptor TLD describes each tag information ► Hide underlying implementation Tag Example <!—TagExample --> <html> <head> <title>Get Name and Course with DropList tag</title> </head> <body> <%@ taglib uri="mytags" prefix ="mytag" %> <mytag:tagExample name = "Joe " lname="Doe" /> </body> </html> // This is myTagExample.java package tony; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; import java.io.IOException; /** * SimpleTag handler that prints "Hello, world!" */ public class myTagExample.java extends SimpleTagSupport { protected String name=""; protected String lastName=""; public void doTag() throws JspException, IOException { getJspContext().getOut().write(name+ " :Hello world: “ +lastName); } public void setName(String name){ this.name = name; } public void setLname(String lname){ this.lastName = lname; } } Tag Library Descriptor <tag> <name>tagExample</name> <tag-class>tony.myTagExample </tag-class> <body-content>EMPTY</body-content> <description> perform </description> <attribute> <name>name</name> <required>true</required> </attribute> <attribute> <name>lname</name> <required>true</required> </attribute> </tag> Conclusion