(四)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://www.hqwc.cn/news/674920.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.05.07作业

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//窗口相关设置this->resize(540,415);this->setFixedSize(540,415);//窗口标题this->setWindowTitle…

栈的实现以及c语言解决括号匹配问题

一、栈的实现 1、头文件 typedef int STDataType; typedef struct Stack {STDataType* _a;int _top; // 栈顶int _capacity; // 容量 }Stack; // 初始化栈 void StackInit(Stack* ps); // 入栈 void StackPush(Stack* ps, STDataType data); // 出栈 void StackPop(S…

Transformer详解:从放弃到入门(三)

上篇文章中我们了解了多头注意力和位置编码&#xff0c;本文我们继续了解Transformer中剩下的其他组件。 层归一化 层归一化想要解决一个问题&#xff0c;这个问题在Batch Normalization的论文中有详细的描述&#xff0c;即深层网络中内部结点在训练过程中分布的变化问题。  …

Redis(持久化)

文章目录 1.RDB1.介绍2.RDB执行流程3.持久化配置1.Redis持久化的文件是dbfilename指定的文件2.配置基本介绍1.进入redis配置文件2.搜索dbfilename&#xff0c;此时的dump.rdb就是redis持久化的文件3.搜索dir&#xff0c;每次持久化文件&#xff0c;都会在启动redis的当前目录下…

Day 26 数据库日志管理

数据库日志管理 一&#xff1a;日志管理 1.日志分类 ​ 错误日志 &#xff1a;启动&#xff0c;停止&#xff0c;关闭失败报错。rpm安装日志位置 /var/log/mysqld.log ​ 通用查询日志&#xff1a;所有的查询都记下来 ​ 二进制日志&#xff1a;实现备份&#xff0c;增量备份…

设置多用户远程登录windows server服务器

##设置多用户远程登录windows server服务器 ###1、远程登录windows server 2016 运行—>mstsc—>远程IP地址—>用户和密码 2、远程windows服务器设置多用户策略 运行—>gpedit.msc->计算机配置—管理模板—windows组件—远程桌面服务—远程桌面会话主机----连…

语音识别--kNN语音指令识别

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…

HTML学习

一、HTML HTML&#xff08;Hypertext Markup Language&#xff09;是一种用于创建网页的标准标记语言。 标记语言是一套标记标签。 HTML文档也叫做web页面。 HTML标签 HTML标签是由尖括号<>包围的关键词&#xff0c;通常成对出现。 标签对中的第一个标签是开始标签&am…

爬虫学习(4)每日一笑

代码 import requests import re import osif __name__ "__main__":if not os.path.exists("./haha"):os.makedirs(./haha)url https://mlol.qt.qq.com/go/mlol_news/varcache_article?docid6321992422382570537&gameid3&zoneplat&webview…

京东生产环境十万并发秒杀系统三高架构

文章目录 三高——高并发、高可用、高可扩展用数据库乐观锁解决超卖阿里巴巴&#xff1a;为了提升数据库性能&#xff0c;对数据库的源码级别做了改造——在DB内部实现内存队列&#xff0c;一次性接收很多的请求&#xff0c;一次性更新。京东&#xff1a;redis&#xff0c;mq&a…

python实验三 实现UDP协议、TCP协议进行服务器端与客户端的交互

实验三 实验题目 1、请利用生成器构造一下求阶乘的函数Factorial()&#xff0c;定义一个函数m()&#xff0c;在m()中调用生成器Factorial()生成小于100的阶乘序列存入集合s中&#xff0c;输出s。 【代码】 def factorial():n1f1while 1:​ f * n​ yield (f)​ n1…

Map集合的实现类~TreeMap

重复依据&#xff1a;通过对键进行排序 先创建Student类&#xff0c;并在主函数new对象&#xff0c;然后创建TreeMap&#xff1a; 建立红黑树&#xff0c;需要在Student类后面实现类的接口&#xff1a; 重写其中的compareTo方法&#xff1a; 或者可以自定义比较器&#xff1a; …