0% found this document useful (0 votes)
21 views29 pages

JSP Example2

Uploaded by

Sudha Kore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views29 pages

JSP Example2

Uploaded by

Sudha Kore
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 29

1.

Print current date & time


Answer:

The most important use of JSP is that we can use all the method available in core java.
The Date class is available in java.util package.

Below program shows how to print the current date and time. We can use simple Date
object with toString() to print current date and time.
test.jsp
<html>
<head><title>JSPApp</title></head>
<body>
<form>
<fieldset style="width:20%; background-color: #ccffeb;">
<legend><b><i>JSP Application<i><b></legend>
<h3>Current Date and Time is :</h3>
<% java.util.Date d = new java.util.Date();
out.println(d.toString()); %>
</fieldset>
</form>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/test.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:
2. JSP Program to upload file into server
Answer:

JSP can be used with HTML form tag to upload file to the server. There are multiple
ways to upload the file to the server. We are using MultipartRequest class. It is utility
class to handle the multipart/form-data request.

In this example, we are creating two files index.html and upload.jsp. The HTML must
have the "post" methods and encrypt type should be multipart/form-data. For running
this application, we must have the latest version of commons-
fileupload.x.x.jar and commons-io-x.x.jar file.

index.html
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<form action="upload.jsp" method="post" enctype="multipart/form-data">
<fieldset style="width:20%; background-color: #e6ff99">
<h2>File Upload Example</h2>
<hr>
Select a file to upload: <br /><br />
<input type="file" name="file" size="50" />
<br /><br />
<input type="submit" value="Upload File" />
</fieldset>
</form>
</body>
</html>

upload.jsp
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="org.apache.commons.fileupload.disk.*" %>

<%@ page import="org.apache.commons.fileupload.servlet.*" %>


<%@ page import="org.apache.commons.io.output.*" %>

<%
File file ;
int maxFileSize = 5000 * 1024;
int maxMemSize = 5000 * 1024;
ServletContext context = pageContext.getServletContext();
String filePath = context.getInitParameter("file-upload");

// Verify the content type


String contentType = request.getContentType();
if ((contentType.indexOf("multipart/form-data") >= 0))
{
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(maxMemSize);
// Location to save data that is larger than maxMemSize.
factory.setRepository(new File("D:\\temp"));

// Create a new file upload handler


ServletFileUpload upload = new ServletFileUpload(factory);
// maximum file size to be uploaded.
upload.setSizeMax( maxFileSize );
try
{
// Parse the request to get file items.
List fileItems = upload.parseRequest(request);

// Process the uploaded file items


Iterator i = fileItems.iterator();

out.println("<html>");
out.println("<head>");
out.println("<title>JSP File upload</title>");
out.println("</head>");
out.println("<body>");
while ( i.hasNext () )
{
FileItem fi = (FileItem)i.next();
if ( !fi.isFormField () )
{
// Get the uploaded file parameters
String fieldName = fi.getFieldName();
String fileName = fi.getName();
boolean isInMemory = fi.isInMemory();
long sizeInBytes = fi.getSize();
// Write the file
if( fileName.lastIndexOf("\\") >= 0 )
{
file = new File( filePath +
fileName.substring( fileName.lastIndexOf("\\"))) ;
}
else
{
file = new File( filePath +
fileName.substring(fileName.lastIndexOf("\\")+1)) ;
}
fi.write( file ) ;
out.println("Uploaded Filename: " + filePath +
fileName + "<br>");
}
}
out.println("</body>");
out.println("</html>");
}
catch(Exception ex)
{
System.out.println(ex);
}
}
else
{
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet upload</title>");
out.println("</head>");
out.println("<body>");
out.println("<p>No file uploaded</p>");
out.println("</body>");
out.println("</html>");
}
%>

web.xml
<web-app>
<context-param>
<description>Location to store uploaded file</description>
<param-name>file-upload</param-name>
<param-value>
D:\TOMCAT_HOME_6\apache-tomcat-6.0.48\webapps\data\
</param-value>
</context-param>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/index.html</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

After successful upload of file, it displays the location of the uploaded file.
Uploaded Filename: D:\TOMCAT_HOME_6\apache-tomcat-6.0.48\webapps\data\
employee.jpg

3. JSP Program to auto refresh a page

Answer:

When we need to refresh the web page automatically after some time, we use
JSP setIntHeader() method. This method sends back header "Refresh" to the browser
along with an integer value which indicates time interval in seconds. It is used when we
need to display live game score, share market status etc.

Below example shows how to use setIntHeader() method to set Refresh header to
simulate a digital clock.

auto-refresh.jsp
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Auto Refresh</title>
</head>
<body>
<center>
<form>
<fieldset style="width:20%; background-color:#e6ffe6;">
<legend>Auto refresh</legend>
<h2>Auto Refresh Example</h2>
<%
// Set refresh, autoload time as 1 seconds
response.setIntHeader("Refresh", 1);
// Get current time
Calendar calendar = new GregorianCalendar();
String am_pm;
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
if(calendar.get(Calendar.AM_PM) == 0)
am_pm = "AM";
else
am_pm = "PM";
String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
out.println("Crrent Time: " + CT + "\n");
%>
</fieldset>
</form>
</center>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/auto-refresh.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

It refreshes the browser every second and current time will be changed automatically.

4. JSP Program to count no. of visitors on website


Answer:

Page counter means the number of times the page has been visited by the users.
Below example shows how to count total number of hit on the particular page.

count-visitor.jsp
<%@ page import="java.io.*,java.util.*" %>
<html>
<head>
<title>Count visitor</title>
</head>
<body>
<form>
<fieldset style="width:20%; background-color:#e6ffe6;">
<legend>Count visitor</legend>
<%
Integer hitsCount =
(Integer)application.getAttribute("hitCounter");
if( hitsCount ==null || hitsCount == 0 )
{
/* First visit */
out.println("Welcome to my website!!");
hitsCount = 1;
}
else
{
/* return visit */
out.println("Welcome to my website!!");
hitsCount += 1;
}
application.setAttribute("hitCounter", hitsCount);
%>
<p>You are visitor number: <%= hitsCount%></p>
</fieldset>
</form>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/count-visitor.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

5. JSP Program for session tracking


Answer:

Session is basically a time frame and tracking means maintaining user data for certain
period of time frame. Session Tracking is a mechanism used by the web container to
store session information for a particular user. It is used to recognize a particular user.

Below example shows how to use HttpSession object to find out creation time and last
accessed time for a session.

SessionDemo.jsp
<%@ page import="java.io.*,java.util.*" %>
<%
// Get session creation time.
Date createTime = new Date(session.getCreationTime());
// Get last access time of this web page.
Date lastAccessTime = new Date(session.getLastAccessedTime());

String title = "Welcome Back to my website";


Integer visitCount = new Integer(0);
String visitCountKey = new String("visitCount");
String userIDKey = new String("userID");
String userID = new String("Surendra");
// Check if this is new comer on your web page.
if (session.isNew())
{
title = "Welcome to my website";
session.setAttribute(userIDKey, userID);
session.setAttribute(visitCountKey, visitCount);
}
visitCount = (Integer)session.getAttribute(visitCountKey);
visitCount = visitCount + 1;
userID = (String)session.getAttribute(userIDKey);
session.setAttribute(visitCountKey, visitCount);
%>
<html>
<head>
<title>Session Tracking</title>
</head>
<body>
<center>
<h1>Session Tracking Example</h1>
</center>
<table border="1" align="center">
<tr bgcolor="#ffcccc">
<th>Session info</th>
<th>Value</th>
</tr>
<tr >
<td>id</td>
<td><% out.print( session.getId()); %></td>
</tr>
<tr>
<td>Creation Time</td>
<td><% out.print(createTime); %></td>
</tr>
<tr>
<td>Time of Last Access</td>
<td><% out.print(lastAccessTime); %></td>
</tr>
<tr>
<td>User ID</td>
<td><% out.print(userID); %></td>
</tr>
<tr>
<td>Number of visits</td>
<td><% out.print(visitCount); %></td>
</tr>
</table>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/SessionDemo.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

6. JSP program for error handling


Answer:

Below example describe the exception handling concept in JSP page. The exception
class works same as simple java program. There are 3 files in this example index.html,
process.html, error.jsp.

index.html
<html>
<head>
<title>Exception Example</title>
</head>
<body>
<form action="process.jsp">
<fieldset style="width:20%; background-color:#e6ffe6;">
<center>
<h3>Exception Example</h3>
Enter number: <input type="text" name="n1" /><br/><br/>
Enter number: <input type="text" name="n2" /><br/><br/>
<input type="submit" value="Divide"/>
</center>
</fieldset>
</form>
</body>
</html>

process.jsp
<%@ page errorPage="error.jsp" %>
<%
String num1=request.getParameter("n1");
String num2=request.getParameter("n2");

int a=Integer.parseInt(num1);
int b=Integer.parseInt(num2);
int c=a/b;
out.print("Division of numbers is: "+c);
%>

error.jsp
<%@ page isErrorPage="true" %>

<h3>Sorry an exception occured!</h3>

Exception is: <%= exception %>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

Click the "Divide" button.

Division of numbers is: 5

When we enter valid number for division it gives proper output.

However, if we enter invalid number or leave any box blank, it gives error message.
Click the "Divide" button.

7. Demonstrate expression tag


Answer:

There are multiple checkbox in html page to perform different mathematical operations.
By default, Addition is checked and its add the given number in text box. At the time of
division operation when we enter any invalid data in text box, it generates error
message from "error.jsp" page.

input.html
<html>
<title>Sample Example </title>
<body>
<form method="post" action="index.jsp">
<fieldset style="width:30%; background-color:#b3d1ff">
<h2><center> Mathematical Operation</center></h2>
<hr>
<font size=5 face="Times New Roman">
<input type="radio" name="a1" value="add" checked>Addition</input><br>
<input type="radio" name="a1" value="sub">Subtraction</input><br>

<input type="radio" name="a1" value="mul" >Multiplication</input><br>


<input type="radio" name="a1" value="div" >Division</input><br>
</font>
<table>
<tr>
<td>Enter first Value:</td>
<td> <input type="text" name="t1" value=""></td>
</tr>
<tr>
<td>Enter second Value: </td>
<td><input type="text" name="t2" value=""></td>
</tr><br>
<tr>
<td></td>
<td><input type="submit" name="result" value="Check result!"></td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>

index.jsp
<%@ page errorPage="error.jsp" %>
<html>
<body>
<H1><center>Result for <%=request.getParameter("a1")%></center></H1>
<%
String num1=request.getParameter("t1");
String num2=request.getParameter("t2");

int i=Integer.parseInt(num1);
int j=Integer.parseInt(num2);

int k=0;
String str=request.getParameter("a1");
if(str.equals("add"))
k=i+j;
if(str.equals("sub"))
k=i-j;
if(str.equals("mul"))
k=i*j;
if(str.equals("div"))
k=i/j;
%>
Result is: <%=k%>
</body>
</html>

error.jsp
<%@ page isErrorPage="true" %>

<h3>Sorry an exception occured!</h3>


Exception is: <%= exception %>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/input.html</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

Result is: 200

8. Detect locale, language settings & local specific time


Answer:

There are some important methods which can be used to detect requester's location,
language and of course locale. For example getLocale(), getLanguage(), getCountry()
etc.

Following example shows how to detect locate, current language setting, local specific
time through JSP application.
Demo.jsp
<%@ page import="java.io.*,java.util.Locale" %>
<%@ page import="javax.servlet.*,javax.servlet.http.* "%>
<%@ page import="java.text.NumberFormat,java.util.Date" %>
<%@ page import="java.text.DateFormat,java.util.Date" %>

<%
//Get the client's Locale
Locale locale = request.getLocale();
String language = locale.getLanguage();
String country = locale.getCountry();

String title = "Locale Specific Dates";


//Get the client's Locale
String date = DateFormat.getDateTimeInstance(DateFormat.FULL,
DateFormat.SHORT, locale).format(new Date( ));

NumberFormat nft = NumberFormat.getCurrencyInstance(locale);


String formattedCurr = nft.format(500);
%>
<html>
<head>
<title>Detecting Locale</title>
</head>
<body>
<form>
<fieldset style="width:20%; background-color:#e6ffe6;">
<center>
<h1>Detecting Locale</h1>
</center>
<p align="center">
<%
out.println("Language : " + language + "<br />");
out.println("Country : " + country + "<br />");
%>
</p>
<div align="center">
<h1><% out.print(title); %></h1>
<p>Local Date: <% out.print(date); %></p>
<p>Formatted Currency: <% out.print(formattedCurr); %></p>
</div>
</fieldset>
</form>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/Demo.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:
9. Demonstrate JSP implicit object
Answer:

JSP Implicit Object:


JSP implicit objects are created by the Servlet container while translating JSP page to
servlet page. There are 9 implicit object present in JSP page. The available implicit
objects are out, request, config, session, application etc.
index.jsp
<%@ page language="java"%>
<%@ page import="java.util.Date" %>
<!DOCTYPE html>
<head>
<title>Index JSP Page</title>
</head>
<body>

<%-- out object example --%>

<table border="1"; style="background-color:#ffffcc; width:30%" >


<caption><h3>JSP Implicit object</h3></caption>
<tr><td><b>Current Time</b></td>
<td><% out.print(new Date()); %></td></tr>

<%-- response object example --%>


<%response.addCookie(new Cookie("Test","Value")); %>

<%-- application object example --%>


<tr><td><b>User context param value</b></td>
<td><%=application.getInitParameter("User") %></td></tr>

<%-- session object example --%>


<tr><td><b>User Session ID</b></td>
<td><%=session.getId() %></td></tr>

<%-- pageContext object example --%>


<% pageContext.setAttribute("Test", "Test Value"); %>
<tr><td><b>PageContext attribute</b></td>
<td>{Name="Test",Value="<%=pageContext.getAttribute("Test") %>"}</td></tr>

<%-- page object example --%>


<tr><td><b>Generated Servlet Name</b>:</td>
<td><%=page.getClass().getName() %></td></tr>

<%-- request object example --%>


<tr><td><b>Request User-Agent</b></td>
<td> <%=request.getHeader("User-Agent") %></td></tr>
</table>
</body>
</html>

web.xml
<web-app>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<context-param>
<param-name>User</param-name>
<param-value>Surendra</param-value>
</context-param>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/index.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:
10. JSP Program to validate username and password

Answer:

We create a table which has the column username and password. The html page has
the text box to take username and password and it validate in JSP page. If username
and password are matched it displays welcome message.

Create table:

Create table userlist (username varchar2(20), password varchar2(10));

In the below example we are using Oracle database with type 4 driver to connect the
JSP program.

input.html
<!doctype html>
<html lang="en">
<head>
<title>Welcome </title>
</head>
<body>
<form method = "post" action = "JspDB.jsp">
<fieldset style="width:23%; background-color:#b3d1ff">
<h3><center> Login Page</center></h3>
<hr>
<table>
<tr>
<td>Username:</td>
<td> <input type = "text" name = "uname"></td>
</tr>
<tr>
<td>Password:</td>
<td><input type = "password" name = "pwd"></td>
</tr>
<tr>
<td></td>
<td><input type = "submit" value="check detail" name = "s1"></td>
</tr>
</table>
</fieldset>
</form>
<a href="JspDB.jsp? s1=link">Get all user detail</a>
</body>
</html>

JspDB.jsp
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%!
Connection con;
PreparedStatement ps1, ps2;
public void jspInit()
{
try
{
//loading the driver
Class.forName("oracle.jdbc.driver.OracleDriver");
//establish the connection
con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE",
"local", "test");
//create statement object
ps1 = con.prepareStatement("select count(*) from userlist where username = ?
and password=?");
ps2 = con.prepareStatement("select * from userlist");
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
%>
<%
String param = request.getParameter("s1");
if(param =="link")
{
ResultSet rs = ps2.executeQuery();
out.println("<table>");
while(rs.next())
{
out.println("<tr>");
out.println("<td>"+rs.getString(1)+"</td>");
out.println("<td>"+rs.getString(2)+"</td");
out.println("</tr>");
}
out.println("</table>");
rs.close();
}
else
{
//write jdbc code for authentication
String user = request.getParameter("uname");
String pass = request.getParameter("pwd");
//set form data as param value
ps1.setString(1,user);
ps1.setString(2,pass);
//excute the query
ResultSet rs = ps1.executeQuery();
int cnt = 0;
if (rs.next())
cnt = rs.getInt(1);
if(cnt == 0)
out.println("<b><i><font color=red>Invalid credential</fonr></i></b>");
else
{
out.println("<form><fieldset style= width:25%; >");

out.println("<b><i><font color=red>valid credential..</fonr></i></b><br>");


out.println("<b><i><font size=6 color=blue>Welcome to My
Page</fonr></i></b>");
out.println("</fieldset></form>");
}
}
%>
<%!
public void jspDestroy()
{
try
{
//colse
ps1.close();
ps2.close();
con.close();
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
%>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/input.html</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:
The username and password is correct, so it displays the welcome message.

11. JSP Program to select record from database


Answer:

Below example shows how to connect JSP program to oracle database.

There is an Employee table in database, we fetch the all record from the database table
and print them.

1. Create the Employee table

Create table Employees (id number, age number, FirstName varchar2(20), LastName
varchar2(20));

2. Create the JSP application

JspDB.jsp
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<html>
<head>
<title>SELECT Operation</title>
</head>
<body>
<%!
Connection con;
PreparedStatement ps;
public void jspInit()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
con =
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE", "local", "test");

ps = con.prepareStatement("select * from Employees");


}
catch(Exception ex)
{
ex.printStackTrace();
}
}
%>
<%
ResultSet rs = ps.executeQuery();
out.println("<table border=1 >");
out.println("<tr style='background-color:#ffffb3; color:red'>");
out.println("<th>Emp Id</th>");
out.println("<th> Age(Year)</th>");
out.println("<th>First Name</th>");
out.println("<th>Last Name</th>");
out.println("</tr>");

while(rs.next())
{
out.println("<tr style='background-color:#b3ffd9;'>");
out.println("<td>"+rs.getInt(1)+"</td>");
out.println("<td>"+rs.getInt(2)+"</td>");
out.println("<td>"+rs.getString(3)+"</td>");
out.println("<td>"+rs.getString(4)+"</td");
out.println("</tr>");
}
out.println("</table>");
rs.close();
%>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/JspDB.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>

Output:

12. JSP Program to display given number in words

Answer:

The index.html taking the number from the user and then change it into the words.
index.html
<!DOCTYPE html>
<html>
<body>
<form method=get action="test.jsp">
Enter Any Number : <input type=text name=num><br><br>
<input type=submit value="Display">
</form>
</body>
</html>

test.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<body>
<font color=red>
<%! int i,n;
String s1;
%>
<% s1= request.getParameter("num");
n=s1.length();
i=0;
do
{
char ch=s1.charAt(i);
switch(ch)
{
case '0': out.println("Zero ");
break;
case '1': out.println("One ");
break;
case '2': out.println("Two ");
break;
case '3': out.println("Three ");
break;
case '4': out.println("Four ");
break;
case '5': out.println("Five ");
break;
case '6': out.println("Six ");
break;
case '7': out.println("Seven ");
break;
case '8': out.println("Eight ");
break;
case '9': out.println("Nine ");
break;
}
i++;
}
while(i<n);
%>
</font>
</body>
</html>

web.xml
<web-app>
<servlet>
<servlet-name>xyz</servlet-name>
<jsp-file>/test.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>xyz</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>

Output:

You might also like