Solved

Append key/value pair in URL java

Posted on 2011-09-06
14
387 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
ID: 36491168
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
ID: 36491179
all the jsp's use POST method.
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36491187
You can use servlet instead of JSP
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 47

Expert Comment

by:for_yan
ID: 36491203
0
 
LVL 47

Accepted Solution

by:
for_yan earned 250 total points
ID: 36491241
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
ID: 36491251
this is an existing application so I would not be able to change the architecture.
0
 
LVL 47

Expert Comment

by:for_yan
ID: 36491367
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
 

Author Comment

by:greenearth
ID: 36491368
moreover GET would have size limit, the app might have many fields in the form.
0
 
LVL 83

Expert Comment

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

Assisted Solution

by:greenearth
greenearth earned 0 total points
ID: 36492609
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
ID: 36553477
This is not a complete solution, as we are not looking for GET requests.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 36524728
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
ID: 36524901
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 83

Expert Comment

by:Dave Baldwin
ID: 36525013
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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

Most ColdFusion developers get confused between the CFSet, Duplicate, and Structcopy methods of copying a Structure, especially which one to use when. This Article will explain the differences in the approaches with examples; therefore, after readin…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
The viewer will learn how to implement Singleton Design Pattern in Java.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

821 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