Discussions
Categories
- 196.9K All Categories
- 2.2K Data
- 239 Big Data Appliance
- 1.9K Data Science
- 450.3K Databases
- 221.7K General Database Discussions
- 3.8K Java and JavaScript in the Database
- 31 Multilingual Engine
- 550 MySQL Community Space
- 478 NoSQL Database
- 7.9K Oracle Database Express Edition (XE)
- 3K ORDS, SODA & JSON in the Database
- 545 SQLcl
- 4K SQL Developer Data Modeler
- 187K SQL & PL/SQL
- 21.3K SQL Developer
- 295.9K Development
- 17 Developer Projects
- 138 Programming Languages
- 292.6K Development Tools
- 107 DevOps
- 3.1K QA/Testing
- 646K Java
- 28 Java Learning Subscription
- 37K Database Connectivity
- 155 Java Community Process
- 105 Java 25
- 22.1K Java APIs
- 138.1K Java Development Tools
- 165.3K Java EE (Java Enterprise Edition)
- 18 Java Essentials
- 160 Java 8 Questions
- 86K Java Programming
- 80 Java Puzzle Ball
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 94.3K Java SE
- 13.8K Java Security
- 204 Java User Groups
- 24 JavaScript - Nashorn
- Programs
- 439 LiveLabs
- 38 Workshops
- 10.2K Software
- 6.7K Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 171 Deutsche Oracle Community
- 1.1K Español
- 1.9K Japanese
- 232 Portuguese
showDocument(..): referer header is not set

778083
Member Posts: 5
Hello everybody
I've got an applet with a button. After clicking on it, the user is redirected to a JSP page (on same webserver) with following code in actionPerformed():
getAppletContext().showDocument(new URL(getCodeBase() + "anotherPage.jsp"), "_self");
In anotherPage.jsp I need the info from which URL the user is coming from (because same applet is embedded in different html pages).
For this, I use the 'referer' header:
*<% String backLink = request.getHeader("referer"); %>*
This works fine with Firefox, but not with Internet Explorer.
Is this a bug in IE or is there some browser specific code in the JRE which works not correct for all browsers?
Has anyone an idea to get this working in IE?
Thanks in advance
Markus
I've got an applet with a button. After clicking on it, the user is redirected to a JSP page (on same webserver) with following code in actionPerformed():
getAppletContext().showDocument(new URL(getCodeBase() + "anotherPage.jsp"), "_self");
In anotherPage.jsp I need the info from which URL the user is coming from (because same applet is embedded in different html pages).
For this, I use the 'referer' header:
*<% String backLink = request.getHeader("referer"); %>*
This works fine with Firefox, but not with Internet Explorer.
Is this a bug in IE or is there some browser specific code in the JRE which works not correct for all browsers?
Has anyone an idea to get this working in IE?
Thanks in advance
Markus
Best Answer
-
sabre150 wrote:As might I, but..
I may be missing something ....isn't the <tt>referral</tt> <tt>param</tt> equivalent to the applet's document base? The <tt>Applet</tt> class provides a convenient method to determine the document base.<applet codebase="..." code="YourApplet.class" width=400 height=75> <param name="referral" value="some page"> </applet>
Answers
-
The referral header is optional [1] so not all browsers use it, in some cases it can be seen as a security issue and is often removed by third part security suites. The simplest way round this is to send the previous URL as a GET parameter e.g.
getAppletContext().showDocument( new URL(getCodeBase() + "anotherPage.jsp?prevPage=home/login.jsp"), "_self" );
anotherPage.jsp<% String backLink = "First Page"; if (request.getParameter("prevPage") != null) { backLink = request.getParameter("prevPage"); } %>
A more robust system using the user's session instead is described here:
http://www.thatsjava.com/java-socket-programming/237068/
[1] http://www.w3.org/Protocols/HTTP/HTRQ_Headers.html#z14 -
Thanks for your suggestion, but unfortunately this works not for me. The problem is, that the same applet exists in several different html pages, so I can't hardcode the prevPage param.
A possible solution would be to create dedicated applets for each html page, but this is inappropriate (99.999% of duplicated code, just a different url param).
Hmm, seems there exists no solution :-( -
I may be missing something but each page that displays the Applet must have an <APPLET> tag so you can set the referral page as a parameter. For instance
<applet codebase="..." code="YourApplet.class" width=400 height=75> <param name="referral" value="some page"> </applet>
and pick this up in the AppletString referral = applet.getParameter("referral");
-
sabre150 wrote:As might I, but..
I may be missing something ....isn't the <tt>referral</tt> <tt>param</tt> equivalent to the applet's document base? The <tt>Applet</tt> class provides a convenient method to determine the document base.<applet codebase="..." code="YourApplet.class" width=400 height=75> <param name="referral" value="some page"> </applet>
-
Andrew Thompson wrote:> > ..isn't the <tt>referral</tt> <tt>param</tt> equivalent to the applet's document base? The <tt>Applet</tt> class provides a convenient method to determine the document base.Probably but it seemed to me that the OP wanted to go elsewhere than the document base. The OP need to provide a more detailed use-case and/or sequence diagram/statement.
-
ah, great. so I can simply use getDocumentBase() in the applet code and append this value as a param to an url.
thanks for this simple workaround!
This discussion has been closed.