Hidden Form Field
Advertisements
Hidden Form Field
Tracking client conversion using Html hidden variables in secure manner is known as hidden form field.
How to use Hidden Form Field ?
In Hidden Form Field we are use html tag is <input type="hidden"> and with this we assign session ID value.
Syntax
<input type="hidden" name="uname" value="porter">
Hidden Form Field Advantage
- Basic knowledge of html is enough to work with this technique.
- It will always work whether cookie is disabled or not.
- Hidden boxes resides in web pages of browser window so they do not provide burden to the server.
- This technique can be used along with all kind of web server or application server.
Hidden Form Field Dis-Advantage
- More complex than URL Rewriting.
- It is maintained at server side.
- Extra form submission is required on each pages.
- Hidden form field can not store java object as values. They only store text value
- It Also increase network traffic because hidden boxes data travels over the network along with request and response.
- Hidden boxes does not provides data security because their data can be view through view source option.
Example of session tracking by using Hidden Form Field
index.html
<form action="servlet1"> Name:<input type="text" name="userName"/> <br/> <input type="submit" value="continue"/> </form>
FirstServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class FirstServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response){
try{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String n=request.getParameter("userName");
out.print("Welcome "+n);
//creating form that have invisible textfield
out.print("<form action='servlet2'>");
out.print("<input type='hidden' name='uname' value='"+n+"'>");
out.print("<input type='submit' value='continue'>");
out.print("</form>");
out.close();
}
catch(Exception e){System.out.println(e);}
}
}
SecondServlet.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class SecondServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
try{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//Getting the value from the hidden field
String n=request.getParameter("uname");
out.print("Hello "+n);
out.close();
}
catch(Exception e){System.out.println(e);}
}
}
web.xml
<web-app> <servlet> <servlet-name>s1</servlet-name> <servlet-class>FirstServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>s1</servlet-name> <url-pattern>/servlet1</url-pattern> </servlet-mapping> <servlet> <servlet-name>s2</servlet-name> <servlet-class>SecondServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>s2</servlet-name> <url-pattern>/servlet2</url-pattern> </servlet-mapping> </web-app>
Google Advertisment
