Professional Documents
Culture Documents
Assignment 4
Assignment 4
ROLL NO. –
2101330100167
SECTION– D
1. WRITE A JSP PROGRAM COUNT NO. OF VISITORS ON WEBSITE.
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO
-8859-1" PAGEENCODING="ISO-8859-1"%>
<%
// GET THE CURRENT COUNT FROM THE SESSION
INTEGER COUNT = (INTEGER)SESSION.GETATTRIBUTE("COUNT");
COUNT = 0;
}
// INCREMENT THE
COUNT COUNT++;
%>
<!
DOCTYPEHTML
>
<HTML>
<HEAD>
<TITLE>VISITOR COUNTER</TITLE>
</HEAD>
<BODY>
<H1>WELCOME TO OUR WEBSITE</H1>
<P>YOU ARE VISITOR NUMBER:<%= COUNT %></P>
</BODY>
</HTML>
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO
-8859-1" PAGEENCODING="ISO-8859-1"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>SESSION TRACKING EXAMPLE</TITLE>
</HEAD>
<BODY>
<H1>SESSION TRACKING EXAMPLE</H1>
<%
// GET SESSION ID
STRING SESSIONID =SESSION.GETID();
}
SESSION.SETATTRIBUTE("VISITCOUNT", VISITCOUNT);
%>
<P >
SESSION ID:<%= SESSIONID %><BR>
SESSION CREATION TIME:<%=
CREATIONTIME %><BR> LAST ACCESS
TIME:<%= LASTACCESSTIME %><BR>
<%IF (ISNEWSESSION)
{%> THIS IS A
NEWSESSION.<BR>
<%}ELSE{%>
THIS IS ANEXISTING
SESSION.<BR>
<%}%>
TOTAL VISITS:<%= VISITCOUNT
%>
</P>
</BODY>
</HTML>
3. DEVELOP A JSPPROGRAM THAT READS ANINTEGER FROMTHE USER AND HANDLES THE
NUMBERFORMATEXCEPTION GRACEFULLY. DISPLAY AN APPROPRIATE ERROR MESSAGE IF
THE USER ENTERS A NON-INTEGER VALUE.
ǪUESTION3_1.JSP
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO-
8859-1" PAGEENCODING="ISO-8859-1"%>
<%@ PAGE IMPORT="JAVA.IO.*, JAVA.UTIL.*, JAVAX.SERVLET.*, JAVAX.SERVLET.HTTP.*"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>INTEGER INPUT</TITLE>
</HEAD>
<BODY>
<H1>ENTER AN INTEGER</H1>
<FORMMETHOD="POST"ACTION="ǪUESTION3_2.JSP">
ENTER ANINTEGER:<INPUT TYPE="TEXT"NAME="USERINPUT">
<INPUT TYPE="SUBMIT"VALUE="SUBMIT">
</FORM>
<%
// CHECK IF ANERROR MESSAGE IS PRESENT INTHE REǪUEST SCOPE
STRING ERRORMESSAGE =
(STRING)REǪUEST.GETATTRIBUTE("ERRORMESSAGE"); IF
(ERRORMESSAGE != NULL){
%>
ǪUESTION3_2.JSP
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO
-8859-1" PAGEENCODING="ISO-8859-1"%>
TRY {
NUMBER = INTEGER.PARSEINT(USERINPUT);
}CATCH (NUMBERFORMATEXCEPTION E){
ERRORMESSAGE = "ERROR:PLEASE ENTER A VALID INTEGER.";
}
IF (ERRORMESSAGE == NULL){
ERRORMESSAGE);
}
%>
4. WRITE A SIMPLE JSP PROGRAMTHAT DEMONSTRATES THE USAGE OF PAGE DIRECTIVE
TO SET CONTENT TYPE TO HTMLAND BUFFER SIZE TO 8192BYTES.
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>PAGE DIRECTIVE EXAMPLE</TITLE>
</HEAD>
<BODY>
<H1>PAGE DIRECTIVE EXAMPLE</H1>
<P>THIS JSP PAGE DEMONSTRATES THE USAGE OF PAGE DIRECTIVE TO SET CONTENT TYPE
TO HTMLAND BUFFER SIZE TO 8192BYTES.</P>
<%
// SIMULATE OUTPUT TO EXCEED BUFFER
SIZE STRINGBUILDER OUTPUT =
%>
</BODY>
</HTML>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>HTMLFORM</TITLE>
</HEAD>
<BODY>
<H1>ENTER YOUR NAME</H1>
<FORMACTION="ǪUESTION5.JSP"METHOD="POST">
<LABEL FOR="NAME">NAME:</LABEL>
<INPUT TYPE="TEXT"ID="NAME"NAME="NAME">
<BR>
<INPUT TYPE="SUBMIT"VALUE="SUBMIT">
</FORM>
</BODY>
</HTML>
JSP
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT
/HTML;CHARSET=ISO-8859-1"
PAGEENCODING="ISO-8859-1"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>DISPLAY DATA</TITLE>
</HEAD>
<BODY>
<H1>DISPLAY DATA</H1>
<%
// RETRIEVE DATA FROM THE HTMLFORM
STRING NAME =REǪUEST.GETPARAMETER("NAME");
%>
<P>YOUR NAME IS:<%= NAME %></P>
</BODY>
</HTML>
6. CREATE A CUSTOM JSPTAG THAT TAKES TWO NUMBERS AS INPUT AND
CALCULATES THEIR SUM. INCLUDE THIS TAG INA JSP PAGE AND
DEMONSTRATE ITS USAGE.
ǪUESTION6TAG.JAVA
PACKAGE ASSIGNMENT4;
IMPORT
JAVAX.SERVLET.ANNOTATION.WEBSERV
LET; IMPORT
JAVAX.SERVLET.HTTP.HTTPSERVLET;
IMPORT
JAVAX.SERVLET.JSP.TAGEXT.SIMPLETAGSUPP
ORT; IMPORT
JAVAX.SERVLET.JSP.JSPEXCEPTION;
IMPORT JAVA.IO.IOEXCEPTION;
/**
* SERVLET IMPLEMENTATION CLASS ǪUESTION6
*/
@WEBSERVLET("/ǪUE
STION6")
PUBLIC CLASS ǪUESTION6TAG EXTENDS SIMPLETAGSUPPORT {
// }
}
SUMTAG.TLD
<?XML VERSION="1.0"ENCODING="UTF-8"?>
<TAGLIB
XMLNS="HTTP://JAVA.SUN.COM/XML/NS/JAVAEE"
XMLNS:XSI="HTTP://WWW.W3.ORG/2001/XMLSCHE
MA-INSTANCE"
VERSION="3.0"
>
<TLIB-VERSION>1.0</TLIB-VERSION>
<SHORT-NAME>SUMTAG</SHORT-NAME>
<URI>/WEB-INF/SUMTAG.TLD</URI>
<TAG>
<NAME>SUM</NAME>
<TAG-CLASS>ASSIGNMENT4.ǪUESTION6TAG</TAG-CLASS>
<BODY-CONTENT>EMPTY</BODY-CONTENT>
<ATTRIBUTE>
<NAME>NUM1</NAME>
<REǪUIRED>TRUE</REǪUIRED>
<RTEXPRVALUE>TRUE</RTEXPRVALUE>
<TYPE>JAVA.LANG.INTEGER</TYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>NUM2</NAME>
<REǪUIRED>TRUE</REǪUIRED>
<RTEXPRVALUE>TRUE</RTEXPRVALUE>
<TYPE>JAVA.LANG.INTEGER</TYPE>
</ATTRIBUTE>
</TAG>
</
TAGLIB
>
ǪUESTION6.JSP
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;
CHARSET=ISO-8859-1" PAGEENCODING="ISO-
8859-1"%>
<%@TAGLIB URI="/WEB-INF/SUMTAG.TLD"PREFIX="SUM"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>CUSTOM TAG DEMO</TITLE>
</HEAD>
<BODY>
<H1>CUSTOM TAG DEMO</H1>
<SUM:SUMNUM1="5"NUM2="7"/>
</BODY>
</HTML>
7. WRITE A JSP PROGRAM THAT USES THE INCLUDE DIRECTIVE TO INCLUDE ANOTHER JSP
PAGE CONTAINING A HEADER. DEMONSTRATE THE USAGE OF INCLUDE DIRECTIVE TO
INCLUDE THE HEADER FILE IN YOUR MAIN JSP PAGE.
HOME.JSP
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO
-8859-1" PAGEENCODING="ISO-8859-1"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>MAIN PAGE</TITLE>
</HEAD>
<BODY>
<H1>WELCOME TO THE MAIN PAGE</H1>
HEADER.JSP
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;
CHARSET=ISO-8859-1" PAGEENCODING="ISO-
8859-1"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>HEADER</TITLE>
</HEAD>
<BODY>
<HEADER>
<H1>THIS IS THE HEADER</H1>
<NAV>
<UL>
<LI><A HREF=" ">HOME</A></LI>
<LI><A HREF=" ">ABOUT</A></LI>
<LI><A HREF=" ">CONTACT</A></LI>
</UL>
</NAV>
</
HEADER
>
</BODY>
</HTML>
8. IMPLEMENT A CUSTOM JSP TAG THAT GENERATES A RANDOM NUMBER WITHIN A
SPECIFIED RANGE. INCLUDE THIS TAG INA JSP PAGE AND DEMONSTRATE ITS USAGE TO
GENERATE RANDOM NUMBERS BETWEEN 1AND 100.
PACKAGE ASSIGNMENT4;
IMPORT
JAVAX.SERVLET.ANNOTATION.WEBSER
VLET; IMPORT
JAVAX.SERVLET.HTTP.HTTPSERVLET;
IMPORT JAVAX.SERVLET.JSP.TAGEXT.*;
IMPORT
JAVAX.SERVLET.JSP.*;
IMPORT JAVA.IO.*;
/**
MIN;
PRIVATE INT
MAX;
THIS.MIN= MIN;
THIS.MAX = MAX;
=GETJSPCONTEXT().GETOUT();
OUT.PRINT(RANDOMNUMBER);
}
}
<?XML VERSION="1.0"ENCODING="UTF-8"?>
<TAGLIB
XMLNS="HTTP://JAVA.SUN.COM/XML/NS/JAVAEE"
XMLNS:XSI="HTTP://WWW.W3.ORG/2001/XMLSCHE
MA-INSTANCE"
VERSION="3.0">
<TLIB-VERSION>1.0</TLIB-VERSION>
<SHORT-NAME>RANDOMNUMBER</SHORT-NAME>
<URI>/WEB-INF/RANDOMNUMBER.TLD</URI>
<TAG>
<NAME>RANDOMNUMBER</NAME>
<TAG-CLASS>ASSIGNMENT4.ǪUESTION8TAG</TAG-CLASS>
<BODY-CONTENT>EMPTY</BODY-CONTENT>
<ATTRIBUTE>
<NAME>MIN</NAME>
<REǪUIRED>TRUE</REǪUIRED>
<RTEXPRVALUE>TRUE</RTEXPRVALUE>
<TYPE>JAVA.LANG.INTEGER</TYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>MAX</NAME>
<REǪUIRED>TRUE</REǪUIRED>
<RTEXPRVALUE>TRUE</RTEXPRVALUE>
<TYPE>JAVA.LANG.INTEGER</TYPE>
</ATTRIBUTE>
</TAG>
</TAGLIB>
<%@ PAGE
LANGUAGE="JAVA"CONTENTTYPE="TEXT/HTML;CHARSET=ISO
-8859-1" PAGEENCODING="ISO-8859-1"%>
<%@TAGLIB URI="/WEB-INF/RANDOMNUMBER.TLD"PREFIX="RAND"%>
<!DOCTYPEHTML>
<HTML>
<HEAD>
<TITLE>RANDOM NUMBER GENERATOR</TITLE>
</HEAD>
<BODY>
<H1>RANDOM NUMBER GENERATOR</H1>
<P>GENERATED RANDOM NUMBER BETWEEN 1AND
100:<RAND:RANDOMNUMBER MIN="1"MAX="100"/></P>
</BODY>
</HTML>