JavaSever Page - Krypton

clangpotatoΛογισμικό & κατασκευή λογ/κού

28 Οκτ 2013 (πριν από 3 χρόνια και 7 μήνες)

61 εμφανίσεις

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