博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Servlet和JSP学习指南》一2.2 隐藏域
阅读量:7013 次
发布时间:2019-06-28

本文共 770 字,大约阅读时间需要 2 分钟。

2.2 隐藏域

利用隐藏域来保持状态,与采用网址重写技术类似。但它不是将值添加到URL后面,而是将它们放在HTML表单的隐藏域中。当用户提交表单时,隐藏域中的值也传送到服务器。只有当页面包含表单,或者可以在页面中添加表单时,才适合使用隐藏域。这种技术胜过网址重写技术的地方在于,可以将更多的字符传到服务器,并且不需要进行字符编码。但是像网址重写一样,也只有当要传递的信息不需要跨越多个页面时,才适合使用这种技术。

Customer类构建了一个客户模型,如代码清单2-2所示。代码清单2-3中的Servlet展示了如何利用隐藏域来更新客户信息。
image
image

image

image
image
image
image
image

CustomerServlet类继承HtppServlet,并映射到三个URL模式:/customer、/editCustomer及/updateCustomer。前两个模式会调用Servlet的doGet方法,/updateCustomer调用doPost方法。

/customer是这个小应用程序的入口点。它列出了init方法填入的类级customers List的客户。(在现实的应用程序中,可能是从数据库中获得客户信息)。详情见图2-4。

image

如图2-4所示,每个客户都有一个edit链接。/editCustomer?id=customerId指向每个链接的href属性。一旦收到/editCustomer,Servlet就会发送一个如图2-5所示的客户编辑表单。

image

如果单击第一个客户,Servlet就会发送这个包含了隐藏域的form标签:

注意表单中的隐藏域没有?它包含了customer id,因此当提交表单时,服务器就会知道正在编辑哪个客户的信息。

值得一提的是,这个表单使用了post方法,因此当提交它时,浏览器就会采用HTTP POST方法,并调用Servlet的doPost方法。

转载地址:http://ghxtl.baihongyu.com/

你可能感兴趣的文章
ON_COMMAND ON_MESSAGE ON_NOTIFY区别与联系
查看>>
远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo、SpringClound对比...
查看>>
golang学习笔记9 beego nginx 部署 nginx 反向代理 golang web
查看>>
接口测试基础
查看>>
spring boot @Transactional事物处理
查看>>
重载、重写、符号冲突、扩展
查看>>
logstash之filter处理中括号包围的内容
查看>>
彩票的思考
查看>>
转帖:解决System.Data.OracleClient requires Oracle client software version 8.1.7 or greater
查看>>
Visual Studio Code Name "Orcas" Beta 1发布
查看>>
开发nodejs模块并发布到npm的简单示例
查看>>
SSH login without password
查看>>
你应该如何更好地利用搜索引擎
查看>>
转载:Window Azure 中的Web Role详解
查看>>
自启动程序详解
查看>>
转 nutch网页快照乱码解决方法
查看>>
HDU 2426 Interesting Housing Problem
查看>>
SQLSqlserver中如何将一列数据,不重复的拼接成一个字符串
查看>>
[Java 泥水匠] Java Components 之二:算法篇之项目实践中的位运算符(有你不懂的哦)...
查看>>
讨论:怎样加快android的开机时间
查看>>