Servlet – 隐藏的表单域
服务器在客户端的每个动态生成的 From 页面中嵌入新的隐藏字段。当客户端将表单提交给服务器时,隐藏字段会识别客户端。隐藏框是表单页面的一个不可见文本框,表单提交时隐藏框的值作为请求参数发送给服务器。
隐藏字段的语法:
- name: is a hidden box name or Request parameter Name.
- value: is a hidden box value or Request parameter value.
使用隐藏表单域的优点
- 这很简单。
- 对浏览器中的安全级别设置没有影响。
- 基本的 HTML 知识足以使用此技术。
- 该技术适用于所有服务器端技术,如Servlet、JSP、ASP.net、 PHP等。
使用隐藏表单域的缺点
- 文件里面需要嵌入数据,浪费带宽。您必须将上一页的结果嵌入到下一页。
- 大家可以通过查看原始源代码看到嵌入的数据。
- 除了文本/字符串值之外,我们不能将所有类型的Java对象存储在隐藏框中。
- 隐藏框与请求和响应一起在网络上传播。表示更多的网络流量。
例子
在此示例中,我们显示了用户名和访问时间。
主页.jsp
HTML
<%@page contentType="text/html" pageEncoding="UTF-8"%>
Home Page
<%
java.util.Date today= new java.util.Date();
java.text.SimpleDateFormat sdf=new java.text.SimpleDateFormat("hh:mm;ss");
String str =sdf.format(today);
%>
HTML
<%@page contentType="text/html" pageEncoding="UTF-8"%>
JSP Page
<%
String name=request.getParameter("username");
String time=request.getParameter("visittime");
%>
Hello <%=name%>,Welcome to our Page !
You visited Home page at <%= time %>
欢迎.jsp
HTML
<%@page contentType="text/html" pageEncoding="UTF-8"%>
JSP Page
<%
String name=request.getParameter("username");
String time=request.getParameter("visittime");
%>
Hello <%=name%>,Welcome to our Page !
You visited Home page at <%= time %>
输出: