(四)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.浏览器信息提取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧校园功平台能结构

高等教育信息化是促进高等教育改革创新和提高质量的有效途径&#xff0c;是教育信息化发展的创新前沿。进一步加强基础设施和信息资源建设&#xff0c;重点推进信息技术与高等教育的深度融合&#xff0c;能促进教育内容、教学手段和方法现代化&#xff0c;创新人才培养、科研组…

卷价格不如卷工艺降本增效狠抓模块规范化设计

俗话说&#xff0c;“卷价格不如卷工艺”&#xff0c;这意味着在追求成本控制和效率提升的过程中&#xff0c;蓝鹏的领导认为蓝鹏应该更注重工艺的优化和创新&#xff0c;而不仅仅是价格的竞争。而模块规范化设计正是实现这一目标的有效途径。 模块规范化设计可以提高生产效率…

推荐网站(5)Pika文字生成视频,ai视频创作

今天推荐一个网站&#xff0c;Pika文字生成视频&#xff0c;通过问题描述&#xff0c;帮我们生成对应的视频&#xff0c;非常的实用。 比如输入&#xff1a;一只小狗在河边洗澡 当然我们还可以在生成的视频上编辑 点击编辑后出来一些属性&#xff0c;可以修改区域&#xff0c…

TitanIDE安装常见问题解答

在软件开发和编程的世界里&#xff0c;集成开发环境&#xff08;IDE&#xff09;扮演着至关重要的角色。TitanIDE作为一款功能强大的开发工具&#xff0c;深受广大开发者的喜爱。然而&#xff0c;在安装和使用TitanIDE的过程中&#xff0c;开发者们往往会遇到一些问题和挑战。针…

cmake进阶:目录属性之 INCLUDE_DIRECTORIES说明一

一. 简介 前一篇文章学习了 cmake的一些目录属性&#xff0c;其中最重要的是 头文件搜索路径。文章如下&#xff1a; cmake进阶&#xff1a;目录属性说明一-CSDN博客 本文主要学习 一个目录属性 INCLUDE_DIRECTORIES&#xff0c;即头文件搜索路径。 二. cmake进阶&#xff1…

doris经典bug

在部署完登录web页面查看的时候会发现只有一个节点可以读取信息剩余的节点什么也没读取到 在发现问题后&#xff0c;我们去对应的节点去看log日志&#xff0c;发现它自己绑定到前端的地址上了 现在我们已经发现问题了&#xff0c;以下就开始解决问题 重置doris 首先对be进行操…

基于springboot+vue+Mysql的教师人事档案管理系统

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

在Java中如何有效地处理内存泄露

在Java中&#xff0c;处理内存泄露有多种方法&#xff0c;以下是其中三种常见的方法及其原理和适用场景&#xff1a; ## 1. 合理使用垃圾回收机制 Java中的垃圾回收机制&#xff08;Garbage Collection&#xff0c;GC&#xff09;是一种自动化的内存管理技术&#xff0c;它可以…

酸奶(科普)

酸奶&#xff08;yogurt&#xff09;是一种酸甜口味的牛奶饮品&#xff0c;是以牛奶为原料&#xff0c;经过巴氏杀菌后再向牛奶中添加有益菌&#xff08;发酵剂&#xff09;&#xff0c;经发酵后&#xff0c;再冷却灌装的一种牛奶制品。市场上酸奶制品多以凝固型、搅拌型和添加…

ENVI下实现遥感矿物蚀变信息提取

蚀变岩石是在热液作用影响下&#xff0c;使矿物成分、化学成分、结构、构造等发生变化的岩石。由于它们经常见于热液矿床的周围&#xff0c;因此被称为蚀变围岩&#xff0c;蚀变围岩是一种重要的找矿标志。利用围岩蚀变现象作为找矿标志已有数百年历史&#xff0c;发现的大型金…

Meta最新研究: Flash Attention 为何是系统性能瓶颈?

I. 引言 随着机器学习趋向于更大和更复杂的模型,模型训练过程变得越来越计算和资源密集。生成式AI的出现进一步推动了模型开发的边界,大型语言模型(LLMs)通常在数百或数千个GPU上训练数月。以LLaMA2的70-B参数模型为例,需要1,720,320 GPU小时来训练。对于如此长的训练作业,训练…

一键解密,网络安全神器现已问世!

一、简介 当前版本V1.1这款工具是一款功能强大的网络安全综合工具&#xff0c;旨在为安全从业者、红蓝对抗人员和网络安全爱好者提供全面的网络安全解决方案。它集成了多种实用功能&#xff0c;包括解密、分析、扫描、溯源等&#xff0c;为用户提供了便捷的操作界面和丰富的功…

Python基础详解二

一&#xff0c;函数 函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现某个功能的代码段 def myMethod(data):print("数据长度为",len(data))myMethod("dsdsdsds") 函数的定义&#xff1a; def 函数名(传入参数):函数体return 返回值 def m…

DS高阶:图论算法经典应用

一、最小生成树&#xff08;无向图&#xff09; 在了解最小生成树算法之前&#xff0c;我们首先要先了解以下的准则&#xff1a; 连通图中的每一棵生成树&#xff0c;都是原图的一个极大无环子图&#xff0c;即&#xff1a;从其中删去任何一条边&#xff0c;生成树就不在连通&a…

3D相机及应用

无论是2D相机和3D相机&#xff0c;在工业应用中都有着不可或缺的作用。3D相机与2D相机的最大区别在于&#xff0c;3D相机可以获取真实世界尺度下的3D信息&#xff0c;而2D相机只能获取像素尺度下的2D平面图像信息。通过3D相机得到的数据&#xff0c;我们可以还原出被测量物体的…

1-2 ARM单片机GPIO

def&#xff1a;通用输入输出口 GPIO输出模式原理讲解 1&#xff1a;推挽输出 2&#xff1a;复用推挽输出 电流最大是20mA&#xff0c;对于单片机来说总体的输出是由范围的 开漏/复用开漏输出 外部接上拉电阻的开漏输出 线与的概念 注&#xff1a; 与的概念&#xff1a;全1为1&…

基于FPGA的数字电子钟VHDL代码Quartus仿真

名称&#xff1a;基于FPGA的数字电子钟VHDL代码Quartus仿真&#xff08;文末获取&#xff09; 软件&#xff1a;Quartus 语言&#xff1a;VHDL 代码功能&#xff1a; 数字电子钟 1)设计一个能显示秒、分、时的24小时数字钟 2)用数码管显示出时&#xff0c;分&#xff0c;…

k8s ReplicaSet

ReplicaSet 是替代 ReplicationController 的&#xff0c;ReplicaSet 的行为与 ReplicationController 完全相同&#xff0c; 但pod 选择器的表达能力更强。 ReplicaSet 和 ReplicationController 的区别&#xff1a; ReplicationController 的标签选择器只允许包含某个标签的…

MahApps.Metro的MVVM模式介绍(一)

MahApps.Metro是一个开源的WPF (Windows Presentation Foundation) UI 控件库。它的特点有现代化设计、主题定制、响应式布局、内置控件。 而Mvvm模式的核心思想是将用户界面&#xff08;View&#xff09;与应用程序逻辑&#xff08;ViewModel&#xff09;分离&#xff0c;以实…

55. 【Android教程】位图:Bitmap

在上一节学习 Drawable 图像资源的时候我们在很多地方用到了 bitmap&#xff0c;bitmap 其实就是真实图片在 Android 中最直接的表现形式&#xff0c;这一节我们来仔细学习一下 Bitmap 的使用。 1. 什么是 Bitmap Bitmap 在 Android 中对应一张图片文件&#xff0c;它是一个二…