Solved

Append key/value pair in URL java

Posted on 2011-09-06
14
378 Views
Last Modified: 2012-05-12
We have a scenario in our mobile app where we want to add a parameter to the header or url so that the firewall can validate the request based on the parameter sent. Authentication needs to be done before it reaches the server. Is there anyway to append any information to url or request headers for the subsequent requests from the server.

 I like  to append name/value pairs to the URL's from within a servlet or action class so that based on the key value pair we can have a rule in firewall to validate the request.

0
Comment
Question by:greenearth
  • 6
  • 5
  • 3
14 Comments
 
LVL 47

Expert Comment

by:for_yan
Comment Utility
If I understand you correctly then if you use attribute method=get
in the <form... > element then it will pass your parameters in
the URL itself
Yu can then use say hidden element(s)  to pass any parameters you want in the URL
string to the next page
0
 

Author Comment

by:greenearth
Comment Utility
all the jsp's use POST method.
0
 
LVL 47

Expert Comment

by:for_yan
Comment Utility
You can use servlet instead of JSP
0
 
LVL 47

Expert Comment

by:for_yan
Comment Utility
0
 
LVL 47

Accepted Solution

by:
for_yan earned 250 total points
Comment Utility
It is not recommended to use GET method
mostly because folks don't like to see
parameters in the URL,
but if you specifically want it, you can still use GET method

http://www.exampledepot.com/egs/javax.servlet.jsp/getparam.html

http://www.tutorialspoint.com/jsp/jsp_form_processing.htm
0
 

Author Comment

by:greenearth
Comment Utility
this is an existing application so I would not be able to change the architecture.
0
 
LVL 47

Expert Comment

by:for_yan
Comment Utility
So what can you do?
Maybe you can change the action of the form direct it to intermediate servlet
which would modify the URL and then call your ultimate page
and in that itntermediate servlet uyou'll change as you want.
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:greenearth
Comment Utility
moreover GET would have size limit, the app might have many fields in the form.
0
 
LVL 82

Expert Comment

by:Dave Baldwin
Comment Utility
Last I heard, Authentication is always done by the server.
0
 

Assisted Solution

by:greenearth
greenearth earned 0 total points
Comment Utility
after the initial authentication on the server we want to add information or token  either in the request header or URL for the firewall to authenticate all other subsequent requests. Is this possible to do?

One of the approaches I was thinking was cookies, with which we can get back information every other subsequent requests. We are looking for any other alternate approaches as cookies maybe disabled on the browser.

Any suggestion is aprreciated.
0
 

Author Closing Comment

by:greenearth
Comment Utility
This is not a complete solution, as we are not looking for GET requests.
0
 
LVL 82

Expert Comment

by:Dave Baldwin
Comment Utility
I guess you don't understand then that "I like  to append name/value pairs to the URL's" is by definition a GET request.  You can not put or see POST requests in the URL.
0
 

Author Comment

by:greenearth
Comment Utility
Dave .. you can append parameters to POST requests explicitly like this

<form id="form1" name="form1" method="post" action="print?<%= session.getAttribute("auth") %>

let me know if this is wrong
0
 
LVL 82

Expert Comment

by:Dave Baldwin
Comment Utility
No, that is not 'wrong' but the server receives the part after the URL and '?' as a query string and puts that in the GET array, not the POST array.  I have done exactly what you are talking about a number of times and you will Not find that info the POST array on the server.  It will be in the GET array though sometimes (in PHP), you can retrieve it thru the REQUEST array which in PHP combines both POST and GET.

So when you submit a form as a POST with a query string, you are submitting both POST and GET information.  Yes, you can do that (I have done that) but you have to know which is which so you know where to look for the different items in the program page that receives the info.

Note that these things are independent of the language, they are part of the HTTP protocols that browsers and servers use.  http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
strCopies  challenge 17 73
pairs challenge 5 44
Nameserver and MX Record 2 43
Java Server Faces parameter pass? 6 18
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

763 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now