(四)JSP教程——request内置对象

        request对象是将客户端浏览器数据提交给服务器端JSP页面的唯一数据通道,通过该通道JSP页面能够获取浏览器信息、form表单信息、URL参数信息等。

1.from表单向JSP文件传递数据

        form表单是浏览器向服务器传递数据的一种基本机制,包含两种方式:GET方式和POST方式。GET方式向服务器传递数据按照下面的格式进行:

        URI?var1=value1&var2=value2

        URI表示接收数据的服务器端程序,可以是一个JSP文件,也可以是其他CGI文件。符号“?”是文件路径和具体数据间的分隔符,该分隔符后面是传递给URI的特定变量信息。不同变量使用“&”隔开,每个部分对应一个变量的名字和变量值,等号前面是变量名字;等号后面是变量值。例如下面程序向ex01.jsp传递两个参数name和pwd,name的值是zhangsan,pwd的值是123。

        ex01.jsp?name=zhangsan&pwd=123

        使用form表单也能向服务器端发送数据信息,上面信息如果使用form表单传递则对应程序如下。

        首先创建一个ex01.html,该html的代码如下

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>form向JSP传递数据</title>

</head>

<body>

<form method="get" action="ex01.jsp">

    name:<input type="text" name="name"><br>

    pwd:<input type="text" name="pwd"><br>

    <input type="submit" name="submit" value="submit">

</form>

</body>

</html>

        然后我们创建一个ex01.jsp页面来接收数据。

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

<head>

<title>Title</title>

</head>

<body>

<%

String who=request.getParameter("name");

String pwd=request.getParameter("pwd");

%>

<h1>hi <%=who%></h1>

<h1>hi <%=pwd%></h1>

</body>

</html>

        启动该应用,在浏览器地址栏中输入:http://localhost:8080/s001/ex01.html

         在表单中输入数据

        然后点击“submit”按钮,可以看到界面展示如下图所示

        可以看到点击“submit”按钮后表单就向服务器提交数据,提交后会在地址栏上生成GET请求字符串。

        但是通过GET方式向服务器发送数据,数据量不会超过4K;而且GET方式以明码方式将传递的信息显示在地址栏上,因而不利于数据保密,例如密码信息等,则不适合采用这种方式传递。

        对于同样的信息,则要采用POST方式提交。POST方式在提交信息时没有数据量上的限制,而且也不会被明码显示在浏览器地址栏上。

        以下程序演示POST方式下,form表单的属性设置方法。

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>form向JSP传递数据</title>

</head>

<body>

<form method="post" action="ex01.jsp">

    name:<input type="text" name="name"><br>

    pwd:<input type="text" name="pwd"><br>

    <input type="submit" name="submit" value="submit">

</form>

</body>

</html>

        JSP界面不需要做改变,html中form表单的设置差别就在method属性上,这里被设置成post,该属性决定了form表单数据提交方式。修改完上述属性后,重新启动该应用,然后在浏览器地址栏中输入URL:http://localhost:8080/s001/ex01.html

        输入表单信息后,点击提交按钮

 2.JSP接收form数据

        JSP文件从request对象中提取表单数据有两个问题需要解决:一个是从request中读取表单的方式;另一个是对读取出的数据进行编码方案转变。

3.浏览器信息提取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3017376.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构】链表经典OJ题目练习(2)

面试题 02.02. 返回倒数第 k 个节点 - 力扣&#xff08;LeetCode&#xff09; 思路1&#xff1a;先计算出链表的长度&#xff0c;在将链表中的值存在数组中&#xff0c;在返回第k个节点。 思路2&#xff1a;利用快慢指针&#xff0c;先让快指针走k步&#xff0c;在让快慢指针分…

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑&#xff0c;每次只能运行一个程序 A programmer would write one at…

栈数据结构

1,概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈(push)&#x…

C语言 自定义类型——联合体

目录: 一、联合体是&#xff1f;声明计算内存大小 二、联合体的特点例如 三、联合体大小的计算规则&#xff1a; 四、应用习1习2 一、联合体是&#xff1f; 联合体和结构体差不多&#xff0c;但是其最大的区别在于联合体所有的成员共用一块内存空间。所以联合体也叫共用体。联…

Git同步代码

Git中5个区&#xff0c;和具体操作&#xff1f; 代码提交和同步代码 代码撤销和撤销同步 平时是怎么提交代码的&#xff1f; 第零步: 工作区与仓库保持一致第一步: 文件增删改&#xff0c;变为已修改状态第二步: git add &#xff0c;变为已暂存状态 $ git status $ git a…

根据最近拒包项目总结,详细讲解Google最新政策(上)

关于占比最多的移动垃圾软件拒审问题 移动垃圾软件(Mobile Unwanted Software)特征表现1> 具有欺骗性,承诺其无法实现的价值主张。2> 诱骗用户进行安装,或搭载在用户安装的其他程序上。3> 不向用户告知其所有主要功能和重要功能。4> 以非预期方式影响用户的系统…

ComfyUI中的图像稀释处理

用下面的节点对图片进行稀释处理&#xff0c;如下 为0表示不变&#xff0c;我设置大一点&#xff0c;设置为0.5看看&#xff0c;如下 图像就暗淡了一些&#xff0c;但是还是有一些彩色的&#xff0c;相当于把它放在水里浸泡了一样&#xff0c;掉色了&#xff0c;这就是稀释&…

加密技术在保护企业数据中的应用

加密技术是企业数据保护的核心&#xff0c;对于维护信息安全至关重要。透明加密技术使文件加密后不改变用户对文件的使用习惯&#xff0c;内部文件打开自动解密&#xff0c;存储自动加密&#xff0c;一旦离开使用环境&#xff0c;加密文件将无法正常读取&#xff0c;从而保护文…

使用wxPython和pandas模块生成Excel文件

介绍&#xff1a; 在Python编程中&#xff0c;有时我们需要根据特定的数据生成Excel文件。本文将介绍如何使用wxPython和pandas模块来实现这个目标。我们将创建一个简单的GUI应用程序&#xff0c;允许用户选择输出文件夹和输入的Excel文件&#xff0c;并根据Excel文件中每个单…

神经网络极简入门

神经网络是深度学习的基础&#xff0c;正是深度学习的兴起&#xff0c;让停滞不前的人工智能再一次的取得飞速的发展。 其实神经网络的理论由来已久&#xff0c;灵感来自仿生智能计算&#xff0c;只是以前限于硬件的计算能力&#xff0c;没有突出的表现&#xff0c;直至谷歌的A…

25考研英语长难句Day01

Day01 【思考】&#xff1a;本句中有几处平行结构&#xff1f;分别是什么和什么平行并列呢&#xff1f;【a.生词、词组】【b.断开、简化】&#xff08; 两步分析法&#xff09;断开长难句的三步法&#xff1a;标点、连接词、分析主谓 【思考】&#xff1a;本句中有几处平行结构…

静电纺丝壳聚糖纳米纤维膜

静电纺丝壳聚糖纳米纤维膜是通过静电纺丝技术制备的一种由壳聚糖纳米纤维组成的薄膜材料。静电纺丝技术是一种有效的制备微纳米纤维的方法&#xff0c;可以将高分子溶液或熔体在静电场作用下喷射成纤维状物质&#xff0c;进而形成纳米纤维膜。 壳聚糖是一种天然高分子多糖&…

接口自动化测试的优势和适用场景!

接口自动化测试的优势和适用场景 在软件开发过程中&#xff0c;接口自动化测试是一项非常重要的任务。它可以帮助团队快速、准确地检测接口的功能、性能和稳定性&#xff0c;提高软件质量&#xff0c;节省时间和资源。本文将从0到1详细规划接口自动化测试的书写。 一、准备工…

洗地机什么牌子最好?618高性价比家用洗地机品牌

随着科技的发展&#xff0c;智能智能清洁家电越来越受到消费者的欢迎。洗地机作为其中的佼佼者&#xff0c;已经成为许多家庭清洁的好帮手。然而&#xff0c;面对满目琳琅的洗地机品牌型号&#xff0c;究竟哪一款机型适合家用呢&#xff0c;正好618也临近了&#xff0c;又有哪些…

Misc 流量分析

流量分析简介 网络流量分析是指捕捉网络中流动的数据包&#xff0c;并通过查看包内部数据以及进行相关的协议、流量分析、统计等来发现网络运行过程中出现的问题。 在CTF比赛中&#xff0c;以及各种技能大赛对于流量包的分析取证是一种十分重要的题型。通常这类题目都是会提供…

C语言判断字符旋转

前言 今天我们使用c语言来写代码来实现字符串选择的判断&#xff0c;我们来看题目 题目描述 写一个函数&#xff0c;判断一个字符串是否为另外一个字符串旋转之后的字符串。 例如&#xff1a;给定s1 AABCD和s2 BCDAA&#xff0c;返回1 给定s1abcd和s2ACBD&#xff0c;返回0. A…

创建操作手册知识库的终极指南

在繁忙的工作中&#xff0c;有一个方便好用的操作手册知识库能帮我们节省大量时间&#xff0c;避免走弯路。那么&#xff0c;如何创建这样一个知识库呢&#xff1f;下面就给大家讲解一下简单易学的创建步骤。 一、明确目标与需求 在创建操作手册知识库之前&#xff0c;首先要明…

本地运行AI大模型简单示例

一、引言 大模型LLM英文全称是Large Language Model&#xff0c;是指包含超大规模参数&#xff08;通常在十亿个以上&#xff09;的神经网络模型。2022年11月底&#xff0c;人工智能对话聊天机器人ChatGPT一经推出&#xff0c;人们利用ChatGPT这样的大模型帮助解决很多事情&am…

YOLOv5 V7.0 - rknn模型的验证 输出精度(P)、召回率(R)、mAP50、mAP50-95

1.简介 RKNN官方没有提供YOLOv5模型的验证工具&#xff0c;而YOLOv5自带的验证工具只能验证pytorch、ONNX等常见格式的模型性能&#xff0c;无法运行rknn格式。考虑到YOLOv5模型转换为rknn会有一定的精度损失&#xff0c;但是需要具体数值才能进行评估&#xff0c;所以需要一个…

python+flask+ldap3搭建简易版IDaaS系统(前端站点)

Python工具开源专栏 Py0006 pythonflaskldap3搭建简易版IDaaS系统&#xff08;前端站点&#xff09; Python工具开源专栏前言目录结构前端网站的部分演示首页查询数据数据同步数据关联查询系统日志 完整代码已在GitHub上开源 前言 pythonflaskldap3搭建简易版IDaaS系统的前端站…