JavaSever Page

Download Report

Transcript JavaSever Page

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