servlet 会话_在Servlet中使用隐藏表单字段进行会话管理

servlet 会话

Hidden form field can also be used to store session information for a particular client. In case of hidden form field a hidden field is used to store client state. In this case user information is stored in hidden field value and retrieved from another servlet.

隐藏表单字段也可以用于存储特定客户端的会话信息。 在隐藏表单字段的情况下,隐藏字段用于存储客户端状态。 在这种情况下,用户信息存储在隐藏字段值中,并从另一个servlet检索。

使用隐藏表单字段进行会话管理的优点 (Advantages of Using Hidden Form Field for Session Management)

  • Does not have to depend on browser whether the cookie is disabled or not.

    不必取决于浏览器是否禁用了cookie。

  • Inserting a simple HTML Input field of type hidden is required. Hence, its easier to implement.

    需要插入一个隐藏类型的简单HTML输入字段。 因此,它更容易实现。

使用隐藏表单字段进行会话管理的缺点 (Disadvantage of Using Hidden Form Field for Session Management)

  • Extra form submission is required on every page. This is a big overhead.

    每页都需要提交额外的表单。 这是很大的开销。

演示在会话中使用隐藏表单字段的示例 (Example demonstrating usage of Hidden Form Field for Session)

hidden form field

Below mentioned files are required for the example:

该示例需要以下文件:

index.html

index.html

<form method="post" action="validate">
  Name:<input type="text" name="user" /><br/>
  Password:<input type="text" name="pass" ><br/>
  <input type="submit" value="submit">
</form>

web.xml

web.xml

<web-app...>
    
    <servlet>
        <servlet-name>First</servlet-name>
        <servlet-class>First</servlet-class>
    </servlet> 
    <servlet-mapping>
        <servlet-name>First</servlet-name>
        <url-pattern>/First</url-pattern>
    </servlet-mapping>
    
    <servlet>
        <servlet-name>Second</servlet-name>
        <servlet-class>Second</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Second</servlet-name>
        <url-pattern>/Second</url-pattern>
    </servlet-mapping>
    
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>
    
</web-app>

First.java

第一.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class First extends HttpServlet {

  protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
	//getting value submitted in form from HTML file
        String user = request.getParameter("user");
        
        //creating a new hidden form field
        out.println("<form action='Second'>");
        out.println("<input type='hidden' name='user' value='"+user+"'>");
        out.println("<input type='submit' value='submit' >");
        out.println("</form>");
    }
}

Second.java

第二.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Second extends HttpServlet {

  protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        
        //getting parameter from the hidden field
        String user = request.getParameter("user");
        out.println("Welcome "+user);
    }
}

Like we created a hidden field in First Servlet, populated the value of user, and sent it to the Second Servlet, now Second servlet also has the user information. Similarly we will have to keep sending this information, wherever we need this, using hidden fields.

就像我们在First Servlet中创建一个隐藏字段,填充user的值,并将其发送给Second Servlet一样,现在Second servlet也具有用户信息。 同样,无论何时需要,我们都必须使用隐藏字段继续发送此信息。

翻译自: https://www.studytonight.com/servlet/hidden-form-field.php

servlet 会话

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值