Textfield is employed for maintaining the state of an user In case of Hidden Form Field a hidden (invisible)
In this type of case, we store the knowledge within the hidden field and obtain it from another servlet. This approach is best if we've to submit the form altogether and that we don't need to depend upon the browser.
Let's see the code to store value in a hidden field.
<input type="hidden" name="uname" value="Vimal Jaiswal">
Here, Vimal Jaiswal is the hidden field value and uname is the hidden field name.
It is widely utilized as a comment sort of an internet site. In such a case, we store page id or page name within the hidden field in order that each page is often uniquely identified.
We are storing the name of the user during a hidden text field and getting that value from another servlet, in this below given Example.
Index.html
<form action="servlet1"> Name:<input type="text" name="userName"/><br/> <input type="submit" value="go"/> </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='go'>"); 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>