Page Redirecting and Hits Counter and Auto Refresh

Last updated on May 31 2022
Mohnish Patil

Table of Contents

Page Redirecting and Hits Counter and Auto Refresh

In this blog, we will discuss page redirecting with JSP. Page redirection is generally used when a document moves to a new location and we need to send the client to this new location. This can be because of load balancing, or for simple randomization.

The simplest way of redirecting a request to another page is by using sendRedirect() method of response object. Following is the signature of this method −

public void response.sendRedirect(String location)

throws IOException

This method sends back the response to the browser along with the status code and new page location. You can also use the setStatus() and the setHeader() methods together to achieve the same redirection example −

....

String site = "http://www.newpage.com" ;

response.setStatus(response.SC_MOVED_TEMPORARILY);

response.setHeader("Location", site);

....

Example

This example shows how a JSP performs page redirection to an another location −

<%@ page import = "java.io.*,java.util.*" %>




<html>

   <head>

      <title>Page Redirection</title>

   </head>

  

   <body>

      <center>

         <h1>Page Redirection</h1>

      </center>

      <%

         // New location to be redirected

         String site = new String("http://www.photofuntoos.com");

         response.setStatus(response.SC_MOVED_TEMPORARILY);

         response.setHeader("Location", site);

      %>

   </body>

</html>

Let us now put the above code in PageRedirect.jsp and call this JSP using the URL http://localhost:8080/PageRedirect.jsp. This would take you to the given URL http://www.photofuntoos.com.

JSP – Hits Counter

A hit counter tells you about the number of visits on a particular page of your web site. Usually you attach a hit counter with your index.jsp page assuming people first land on your home page.

To implement a hit counter you can make use of the Application Implicit object and associated methods getAttribute() and setAttribute().

This object is a representation of the JSP page through its entire lifecycle. This object is created when the JSP page is initialized and will be removed when the JSP page is removed by the jspDestroy() method.

Following is the syntax to set a variable at application level −

application.setAttribute(String Key, Object Value);

You can use the above method to set a hit counter variable and to reset the same variable. Following is the method to read the variable set by the previous method −

application.getAttribute(String Key);

Every time a user accesses your page, you can read the current value of the hit counter and increase it by one and again set it for future use.

Example

This example shows how you can use JSP to count the total number of hits on a particular page. If you want to count the total number of hits of your website then you will have to include the same code in all the JSP pages.

<%@ page import = "java.io.*,java.util.*" %>




<html>

   <head>

      <title>Application object in JSP</title>

   </head>

  

   <body>

      <%

         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 back to my website!");

            hitsCount += 1;

         }

         application.setAttribute("hitCounter", hitsCount);

      %>

      <center>

         <p>Total number of visits: <%= hitsCount%></p>

      </center>

  

   </body>

</html>

Let us now put the above code in main.jsp and call this JSP using the URL http://localhost:8080/main.jsp. This will display the hit counter value which increases as and when you refresh the page. You can try accessing the page using different browsers and you will find that the hit counter will keep increasing with every hit and you will receive the result as follows −

 

Welcome back to my website!

Total number of visits: 12

Hit Counter Resets

What when you restart your application, i.e., web server, this will reset your application variable and your counter will reset to zero. To avoid this loss, consider the following points −

  • Define a database table with a single count, let us say hitcount. Assign a zero value to it.
  • With every hit, read the table to get the value of hitcount.
  • Increase the value of hitcount by one and update the table with new value.
  • Display new value of hitcount as total page hit counts.
  • If you want to count hits for all the pages, implement above logic for all the pages.

JSP – Auto Refresh

. Consider a webpage which is displaying live game score or stock market status or currency exchange ration. For all such type of pages, you would need to refresh your Webpage regularly using refresh or reload button with your browser.

JSP makes this job easy by providing you a mechanism where you can make a webpage in such a way that it would refresh automatically after a given interval.

The simplest way of refreshing a Webpage is by using the setIntHeader() method of the response object. Following is the signature of this method −

public void setIntHeader(String header, int headerValue)

This method sends back the header “Refresh” to the browser along with an integer value which indicates time interval in seconds.

Auto Page Refresh Example

In the following example, we will use the setIntHeader() method to set Refresh header. This will help simulate a digital clock −

<%@ page import = "java.io.*,java.util.*" %>




<html>

   <head>

      <title>Auto Refresh Header Example</title>

   </head>

  

   <body>

      <center>

         <h2>Auto Refresh Header Example</h2>

         <%

            // Set refresh, autoload time as 5 seconds

            response.setIntHeader("Refresh", 5);

           

            // 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");

         %>

      </center>

  

   </body>

</html>

Now put the above code in main.jsp and try to access it. This will display the current system time after every 5 seconds as follows. Just run the JSP and wait to see the result −

Auto Refresh Header Example

 

Current Time is: 9:44:50 PM

 

So, this brings us to the end of blog. This Tecklearn ‘Page Redirecting and Hits Counter and Auto Refresh’ blog helps you with commonly asked questions if you are looking out for a job in Java Programming. If you wish to learn JSP and build a career Java Programming domain, then check out our interactive, Java and JEE Training, that comes with 24*7 support to guide you throughout your learning period. Please find the link for course details:

https://www.tecklearn.com/course/java-and-jee-training/

Java and JEE Training

About the Course

Java and JEE Certification Training is designed by professionals as per the industrial requirements and demands. This training encompasses comprehensive knowledge on basic and advanced concepts of core Java & J2EE along with popular frameworks like Hibernate, Spring & SOA. In this course, you will gain expertise in concepts like Java Array, Java OOPs, Java Function, Java Loops, Java Collections, Java Thread, Java Servlet, and Web Services using industry use-cases and this will help you to become a certified Java expert.

Why Should you take Java and JEE Training?

  • Java developers are in great demand in the job market. With average pay going between $90,000/- to $120,000/- depending on your experience and the employers.
  • Used by more than 10 Million developers worldwide to develop applications for 15 Billion devices.
  • Java is one of the most popular programming languages in the software world. Rated #1 in TIOBE Popular programming languages index (15th Consecutive Year)

What you will Learn in this Course?

Introduction to Java

  • Java Fundamentals
  • Introduction to Java Basics
  • Features of Java
  • Various components of Java language
  • Benefits of Java over other programming languages
  • Key Benefits of Java

Installation and IDE’s for Java Programming Language

  • Installation of Java
  • Setting up of Eclipse IDE
  • Components of Java Program
  • Editors and IDEs used for Java Programming
  • Writing a Simple Java Program

Data Handling and Functions

  • Data types, Operations, Compilation process, Class files, Loops, Conditions
  • Using Loop Constructs
  • Arrays- Single Dimensional and Multi-Dimensional
  • Functions
  • Functions with Arguments

OOPS in Java: Concept of Object Orientation

  • Object Oriented Programming in Java
  • Implement classes and objects in Java
  • Create Class Constructors
  • Overload Constructors
  • Inheritance
  • Inherit Classes and create sub-classes
  • Implement abstract classes and methods
  • Use static keyword
  • Implement Interfaces and use it

Polymorphism, Packages and String Handling

  • Concept of Static and Run time Polymorphism
  • Function Overloading
  • String Handling –String Class
  • Java Packages

Exception Handling and Multi-Threading

  • Exception handling
  • Various Types of Exception Handling
  • Introduction to multi-threading in Java
  • Extending the thread class
  • Synchronizing the thread

File Handling in Java

  • Input Output Streams
  • io Package
  • File Handling in Java

Java Collections

  • Wrapper Classes and Inner Classes: Integer, Character, Boolean, Float etc
  • Applet Programs: How to write UI programs with Applet, Java.lang, Java.io, Java.util
  • Collections: ArrayList, Vector, HashSet, TreeSet, HashMap, HashTable

Java Database Connectivity (JDBC)

  • Introduction to SQL: Connect, Insert, Update, Delete, Select
  • Introduction to JDBC and Architecture of JDBC
  • Insert/Update/Delete/Select Operations using JDBC
  • Batch Processing Transaction
  • Management: Commit and Rollback

Java Enterprise Edition – Servlets

  • Introduction to J2EE
  • Client Server architecture
  • URL, Port Number, Request, Response
  • Need for servlets
  • Servlet fundamentals
  • Setting up a web project in Eclipse
  • Configuring and running the web app with servlets
  • GET and POST request in web application with demo
  • Servlet lifecycle
  • Servlets Continued
  • Session tracking and filter
  • Forward and include Servlet request dispatchers

Java Server Pages (JSP)

  • Fundamentals of Java Server Page
  • Writing a code using JSP
  • The architecture of JSP
  • JSP Continued
  • JSP elements: Scriptlets, expressions, declaration
  • JSP standard actions
  • JSP directives
  • Introduction to JavaBeans
  • ServletConfig and ServletContext
  • Servlet Chaining
  • Cookies Management
  • Session Management

Hibernate

  • Introduction to Hibernate
  • Introduction to ORM
  • ORM features
  • Hibernate as an ORM framework
  • Hibernate features
  • Setting up a project with Hibernate framework
  • Basic APIs needed to do CRUD operations with Hibernate
  • Hibernate Architecture

POJO (Plain Old Java Object)

  • POJO (Plain Old Java Object)
  • Persistent Objects
  • Lifecycle of Persistent Object

Spring

  • Introduction to Spring
  • Spring Fundamentals
  • Advanced Spring

Got a question for us? Please mention it in the comments section and we will get back to you.

 

0 responses on "Page Redirecting and Hits Counter and Auto Refresh"

Leave a Message

Your email address will not be published. Required fields are marked *