Solved

Servlet Question

Posted on 2006-07-17
2
213 Views
Last Modified: 2010-04-01
Here is the scenario. I try to make it undestandable as possible. This is a 100% servlet quesiton

1.I have a login screen. User logs in correct. Directs to another Servlet (Say UserInputData Servlet).
2.In this (UserInputData) servlet I have a "log out" link. If I click in this link the system will pop out a
   another servlet (say EndMessage servlet). All it asks for is a confirmation. There are two buttons in
   it(in EndMessage Servlet). They are -  "Want to continue with work" and  "Want to Quit". If the user
   clicks on "Want to Quit" it re-directs to the login screen.

   in the doPost() of EndMessage , I invalidate all session data.

3. So now the user is in the Log-In screen.

4. But On the address bar of the browser if I drop down the list, it has the history of Servlets loaded. For
   example the UserInputData servlet (Which was the one that went into after the login) is also there. So if
   I try to load it independently from selected from teh address bar list, it still loads with the old data.  I have
   coded that servlet (UserInputData) in such a way that if the user is not logged in,  to pop-up a "User Error"
   but although the user is logged out at this time, when I try to load the server (UserInputData) independently,
   from the browser's adress list it still loads. But IF I CLICK THE REFRESH BUTTON ON THE BROWSER, it pops
   the ERROR MESSAGE "User Error" I expect.

   So the question is, How come even if I loaded the servlet from the address history, it still loads the servlet with the
   invalidated information??? I was expecting to see popping the "User Error" because the user is logged out?

Please read this carefully. I tried best to explain the problem I have.
0
Comment
Question by:prain
2 Comments
 
LVL 17

Accepted Solution

by:
gops1 earned 100 total points
ID: 17124165
Expire your Cache:


<%
        // Set to expire far in the past.
        response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
        // Set standard HTTP/1.1 no-cache headers.
        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
        // Set IE extended HTTP/1.1 no-cache headers (use addHeader).
        response.addHeader("Cache-Control", "post-check=0, pre-check=0");
        // Set standard HTTP/1.0 no-cache header.
        response.setHeader("Pragma", "no-cache");
%>
0
 

Author Comment

by:prain
ID: 17124332
Bingo!. It works. Great Answer. You made my day!. Thank You!.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Apache server configuration 7 88
thymeleaf natural templating vs JSP 2 138
null output 3 35
login form jsp example 2 38
This article describes my battle tested process for setting up delegation. I use this process anywhere that I need to setup delegation. In the article I will show how it applies to Active Directory
Many businesses neglect disaster recovery and treat it as an after-thought. I can tell you first hand that data will be lost, hard drives die, servers will be hacked, and careless (or malicious) employees can ruin your data.
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question