javaWeb项目之JSP学习笔记----4,JSP提交信息以及表单处理

js 可改变表格单元格大小 可改变表格单元格大小 立即下载

https://www.runoob.com/jsp/jsp-form-processing.html

JSP 表单处理

我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理。浏览器中使用 GET 和 POST 方法向服务器提交数据。


GET 方法

GET方法将请求的编码信息添加在网址后面,网址与编码信息通过"?"号分隔。如下所示:

http://www.runoob.com/hello?key1=value1&key2=value2

GET方法是浏览器默认传递参数的方法,一些敏感信息,如密码等建议不使用GET方法。

用get时,传输数据的大小有限制 (注意不是参数的个数有限制),最大为1024字节。


POST 方法

一些敏感信息,如密码等我们可以通过POST方法传递,POST提交数据是隐式的。

POST提交数据是不可见的,GET是通过在url里面传递的(可以看一下你浏览器的地址栏)。

JSP使用getParameter()来获得传递的参数,getInputStream()方法用来处理客户端的二进制数据流的请求。


JSP 读取表单数据

  • getParameter(): 使用 request.getParameter() 方法来获取表单参数的值。

  • getParameterValues(): 获得如checkbox类(名字相同,但值有多个)的数据。 接收数组变量 ,如checkbox类型

  • getParameterNames():该方法可以取得所有变量的名称,该方法返回一个 Enumeration。

  • getInputStream():调用此方法来读取来自客户端的二进制数据流。


使用URL的 GET 方法实例

以下是一个简单的URL,并使用GET方法来传递URL中的参数:

http://localhost:8080/testjsp/main.jsp?name=菜鸟教程&url=http://ww.runoob.com

testjsp 为项目地址。

以下是 main.jsp 文件的JSP程序用于处理客户端提交的表单数据,我们使用getParameter()方法来获取提交的数据:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>使用 GET 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
   <%= request.getParameter("name")%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

接下来我们通过浏览器访问 http://localhost:8080/testjsp/main.jsp?name=菜鸟教程&url=http://ww.runoob.com 输出结果如下所示:


使用表单的 GET 方法实例

以下是一个简单的 HTML 表单,该表单通过GET方法将客户端数据提交 到 main.jsp 文件中:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<form action="main.jsp" method="GET">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

将以上HTML代码保存到test.htm文件中。 将该文件放置于当前jsp项目的 WebContent 目录下(与 main.jsp 同一个目录)。

通过访问 http://localhost:8080/testjsp/test.html 提交表单数据到 main.jsp 文件,演示 Gif 图如下所示:

在 "站点名" 与 "网址" 两个表单中填入信息,并点击 "提交" 按钮,它将输出结果。


使用表单的 POST 方法实例

接下来让我们使用POST方法来传递表单数据,修改main.jsp与Hello.htm文件代码,如下所示:

main.jsp文件代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>使用 POST 方法读取数据</h1>
<ul>
<li><p><b>站点名:</b>
<%
// 解决中文乱码的问题
String name = new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8");
%>
   <%=name%>
</p></li>
<li><p><b>网址:</b>
   <%= request.getParameter("url")%>
</p></li>
</ul>
</body>
</html>

代码中我们使用 new String((request.getParameter("name")).getBytes("ISO-8859-1"),"UTF-8")来转换编码,防止中文乱码的发生。

以下是test.htm修改后的代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<form action="main.jsp" method="POST">
站点名: <input type="text" name="name">
<br />
网址: <input type="text" name="url" />
<input type="submit" value="提交" />
</form>

</body>
</html>

通过访问 http://localhost:8080/testjsp/test.html 提交表单数据到 main.jsp 文件,演示 Gif 图如下所示:


传递 Checkbox 数据到JSP程序

复选框 checkbox 可以传递一个甚至多个数据。

以下是一个简单的HTML代码,并将代码保存在test.htm文件中:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="runoob"  /> 菜鸟教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

以上代码在浏览器访问如下所示:

以下为main.jsp文件代码,用于处理复选框数据:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>从复选框中读取数据</h1>
<ul>
<li><p><b>Google 是否选中:</b>
   <%= request.getParameter("google")%>
</p></li>
<li><p><b>菜鸟教程是否选中:</b>
   <%= request.getParameter("runoob")%>
</p></li>
<li><p><b>淘宝是否选中:</b>
   <%= request.getParameter("taobao")%>
</p></li>
</ul>
</body>
</html>

通过访问 http://localhost:8080/testjsp/test.html 提交表单数据到 main.jsp 文件,演示 Gif 图如下所示:


读取所有表单参数

以下我们将使用 HttpServletRequest 的 getParameterNames() 来读取所有表单参数,该方法可以取得所有变量的名称,该方法返回一个枚举。

一旦我们有了一个 Enumeration(枚举),我们就可以调用 hasMoreElements() 方法来确定是否还有元素,以及使用nextElement()方法来获得每个参数的名称。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h1>读取所有表单参数</h1>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>参数名</th><th>参数值</th>
</tr>
<%
   Enumeration paramNames = request.getParameterNames();

   while(paramNames.hasMoreElements()) {
      String paramName = (String)paramNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getParameter(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

以下是test.htm文件的内容:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<form action="main.jsp" method="POST" target="_blank">
<input type="checkbox" name="google" checked="checked" /> Google
<input type="checkbox" name="runoob"  /> 菜鸟教程
<input type="checkbox" name="taobao" checked="checked" /> 
                                                淘宝
<input type="submit" value="选择网站" />
</form>

</body>
</html>

现在我们通过浏览器访问 test.htm 文件提交数据,输出结果如下:

通过访问 http://localhost:8080/testjsp/test.html 提交表单数据到 main.jsp 文件,演示 Gif 图如下所示:

你可以尝试使用以上的JSP代码读取其它对象,如文本框,单选按钮或下拉框等等其他形式的数据。

FPGA与GPU异构计算:重塑嵌入式AI的算力边界与场景定义 本文深入探讨了FPGA与GPU异构计算如何突破嵌入式AI的算力瓶颈。通过分析工业视觉、智能交通及航天等场景,阐述了FPGA负责高速数据采集与预处理,GPU专注复杂AI推理的协同模式,有效解决了传统单一架构在算力、功耗、接口和实时性上的挑战,为嵌入式AI应用提供了高效能解决方案。 阅读详情

相关推荐

大疆OcuSync系统背后的黑科技:跳频扩频技术如何让你的无人机飞得更稳

本文深入解析了大疆OcuSync系统如何运用跳频扩频技术等先进无线通信方案,显著提升无人机在复杂环境下的飞行稳定性。系统通过跳频扩频与直接序列扩频技术协同工作,结合双频智能切换与多天线MIMO,有效对抗信号干扰与多径效应,确保控制指令与高清图传的可靠、低延迟传输,为用户带来更安心、更流畅的飞行体验。

ol7890123的博客 627

JSP 表单处理

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34209406的博客 1107

别再死磕NFP了!用Python+遗传算法搞定异形件自动排版(附完整代码)

本文介绍了如何利用Python和遗传算法实现异形件智能排版,解决传统NFP方法计算复杂的问题。通过Shapely库处理几何运算和DEAP库搭建遗传算法框架,结合模拟退火策略避免局部最优,显著提升材料利用率。附完整代码和优化技巧,适用于服装裁剪、金属加工等行业。

weixin_26965807的博客 236

form表单、修改

一、form表单 form表单有两个属性:action这是提交的地址,有绝对的和相对两种url,method提交表单的方式,提交的方式有两种get和post,form表单提交默认方式是get与 post相比,get更简单也更快,get提交时参数直接暴露在URL上,所以安全性较低,url受长度限制发送大量数据时也不能使用,post是将表单中的数据放在form的数据体中,按照变量和值对象的方式,传递到...

weixin_44542048的博客 5104

Hi3516CV610开发板实战:从零搭建智能视觉监控系统

本文详细介绍了从零开始基于Hi3516CV610开发板搭建智能视觉监控系统的完整实战流程。涵盖硬件连接、系统配置、摄像头集成、网络设置、固件烧录到视频处理与智能分析功能开发,提供了丰富的实践经验和调试技巧,帮助开发者快速掌握嵌入式视觉系统开发。

vvv99的博客 561

利用R语言通过holtwinters模型进行预测

使用Holt-Winters模型进行预测的第一步是对模型进行拟合。该函数需要两个参数:您的时间序列数据和一个“seasonal”参数,该参数指示您的数据的周期性(例如,如果您的数据按月记录,则应将“seasonal”参数设置为12,因为一年有12个月)。拟合模型后,您可以使用“forecast()”函数进行预测。该函数需要两个参数:您的拟合模型以及您要进行预测的时间段的长度。要使用Holt-Winters模型,您需要安装并加载“forecast”包。以下是进行Holt-Winters模型预测的示例代码。

Mrrunsen的博客 1696

jsp页面的doGet()方法和doPost()方法

1.新建一个Dynamic Web Project项目,里面新建三个jsp文件,整体的框架如下所示:

最有趣的编程 1万+

PD详解—第一章—Type-C连接

Type-C连接 今天大师匈下班比较早,再给大家侃一侃PD,希望大家支持。 PD和Type-c的关系 首先讲一下PD快充的实现步骤,本文主要是Source端(电源),Sink端的差不多也一样,只是策略不同而已。 TypeC连接-->广播电源能力Source capbility(数据交互)->打电压电流->等待其他指令。 所以typec连接是第一步,很多人会从字面意思理解typec连接,这不就是把线给插上去就好了吗? 不知道有没有优秀的同学想到正确答案; 正确答案:typec连接的本质是为

大师匈的博客 1万+

JSP中传递参数方式的总结

Jsp中比较常用的传递参数的方法有:1、form表单:<form> 标签用于为用户输入创建 HTML 表单。表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。表单还可以包含 menus、textarea、fieldset、legend 和 label 元素。表单用于向服务器传输数据。属性:举例:<form method="post" action="<%=basePath

mmayanshuo的博客 3156

假新闻检测论文分享(30)MMDFND: Multi-modal Multi-Domain Fake News Detection

现有的假新闻检测方法通常集中在单一领域的新闻上,如健康或政治。然而,社交媒体上的新闻往往来自多个领域,这给单一领域的假新闻检测方法带来了两个主要挑战:数据稀缺性:处理较小、单一领域的新闻数据集时,由于训练数据的稀缺,模型的有效性显著下降。跨领域检测的准确性下降:单一领域的假新闻检测方法在跨领域新闻数据集上的准确性大幅降低。缓解领域间模态语义偏差:通过DPLE网络提取跨领域和领域特定的知识,缓解了不同领域间文本和图像的语义差异。

weixin_41964296的博客 669

STM32实战开发(128):智能位移检测 - 使用STM32实现位移检测

STM32作为一款功能强大的微控制器,由于其出色的处理能力、丰富的外设接口和低功耗特点,成为实现智能位移检测系统的理想选择。未来,可以通过结合更多传感器、多种数据处理算法以及云平台技术,进一步提升系统的智能化水平,优化位移测量的精度和稳定性。本篇博客将介绍如何使用STM32微控制器实现智能位移检测系统,涉及硬件设计、传感器选择、软件开发等多个方面,提供详细的设计步骤,并给出完整的代码示例,帮助开发者快速搭建智能位移检测系统。蜂鸣器连接到STM32的GPIO端口,当位移超过设定的阈值时,蜂鸣器发出警报。

2201_76125393的博客 900

antd4 Form 内部的 自定义组件,以及 改变表单数据的方式(setFieldValue、setFieldsValue、setFields)

参考例子注意点:被Form.Item包裹的【自定义组件】都会默认给传 一个 onChange 和 当前 formItem包裹下的数据value , 此value被form表单托管的此处的onChange跟普通的 组件的onChange是有区别的。(1) 普通组件是: 【onChange监听,setState 赋值 + value=state 】 控制受控组件的。在form里不能这么做,会导致有2个控制源同时更改同一个表单项。

qq_37766810的博客 2553

FAST-LIVO2 源码精读(十六):接入自定义传感器——多雷达适配与内外参标定

本文是「FAST-LIVO2 激光-惯性-视觉里程计源码精读」专栏第十六篇。上一篇拆解了中每个关键参数的物理含义与调参路径,并反复强调外参RclPcl与时间偏移配错即全局失效;本篇承接这一悬念,回答更前置的工程问题——如何把 FAST-LIVO2 接到一套全新硬件上:新雷达如何通过的类型分支适配、相机内参与畸变模型如何配置、两组外参与时间偏移如何标定出来并填入 YAML,最后给出一份落地检查清单。

PX4-SLAM-PNC 199

【Javaweb】实现将前端JSP表单信息存入后端数据库

主要思路就是前端使用form表单,通过按钮提交之后在servlet层调用数据库实现方法即可。 前端JSP页面form表单: <form action="Inputservlet" method="post"> <input type="hidden" name="oper" value="save_data"/> <ul class="formin...

清朔shimmer 4884

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JavaWeb项目实战

学生信息管理系统前言一、JavaWeb二、环境搭建1.选择服务器2.配置服务器3.修改本地服务器端口4.新建项目5.修改项目访问地址6.运行三、jdbc 前言 本文讲述关于一个javaweb本地项目:学生信息管理系统的实现,从环境搭建,到数据库的连接,到servlet的实现,再到jsp与后台交互,采用mvc架构,其中还有filter,ajax对页面展示的处理,使用gitee托管项目。 一、JavaWeb 我认为的JavaWeb是java与web共同完成一个项目,实际上就是一个web项目,后端采用java

qq_43638430的博客 4万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

关于jsp表单提交中action所指向Servlet路径问题的总结

初学java web,在使用servlet处理jsp时发现很多提交表单时发生的错误都是因为提交路径出错造成的。 现以自己为例说明: 项目目录结构如下: web.xml文件主要内容如下: This is the description of my J2EE component This is the display name of my J2EE compone

玲小洋的博客 3万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jsp基本语法&表单提交方式

一、URL的组成部分 URL由三个部分组成:协议 主机 端口 例如:http://localhost:8080 这里的http--指的是超文本协议 localhost--指的是主机 8080--指的是端口 二、什么是JSP? 1、JSP简介 JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束 JSP是一种Java Servlet,主要用于实现Java web应用程序的用户界面部..

weixin_62270300的博客 5477

JavaWEB【jsp基本语法&表单提交方式&request对象】

一、jsp简介 什么是jsp? 1、jsp全名为 Java Server Pages 2、中文名叫 java服务器页面 3、它是在传统的网页HTML文件(*.html,*.htm)中插入Java程序段和jsp标记;标签通常以<%开头以%>结束。 4、后缀名为(*.jsp) 5、其根本是一个简化的Servlet设计 为什么要有jsp? 1、直接使用html文件是没有办法输出java当中的信息 2、使用servlet来去输出一个网页非常的麻烦 3、于是就出现了jsp,又能写htm

m0_64522859的博客 1995

JavaWeb 如何防止表单重复提交 - 使用Token,令牌

JavaWeb 如何防止表单重复提交 - 使用Token,令牌 说到重复提交 ,应该想到两种场景: 1. 在下单,或者支付 这种情况 那么不允许  刷新,不允许后退再点击提交。 2. 在填写表单之后,提交完成之后,不允许 刷新,但是允许 返回之后 提交,给用户修改表单的机会。 解决方法 首先可以防止用户刷新,处理完成之后用Redirect的方式 跳转到success页面,

Shuuki 2万+

javaWeb02(jsp基本语法&表单提交方式)

Hello!小刘又回来了,今天给大家带来的是jsp的基本语法以及表单提交方式,不知道上一期的环境搭建还有没有小伙伴没有搞定的,如果有可以尽快私信我的,好了接下来我们步入主题,老规矩,先上思维导图 一,jsp的基本语法 先为大家解决一个藏在心里的疑问: jsp是什么?为什么要学jsp? JSP (全称:Java Server Pages) 是指: 在HTML中嵌入Java脚本代码 由应用服务器中的JSP引擎来编译...

weixin_64313980的博客 1755

JavaWeb(jsp基本语法&表单提交方式)

<meta charset="UTF-8"> <title>登录界面</title> </head> <body> <script src="js/jquery-3.5.1.js"></script> <script src="jquery-validation-1.19.0/dist/jquery.validate.js"></script> <script src="jquery-v.

weixin_64938628的博客 1216

合工大软件工程Java实验4--JavaWeb编程

合工大Java实验4--JavaWeb编程一级目录二级目录三级目录一、Tomcat安装、配置1、下载2、修改tomcat服务端口二、HTML表单(form)form表单post和get的区别(这个前端面试的时候也是一个高频问题)input标签select下拉菜单三、布局方式表格布局flex布局四、功能实现1、创建JavaWeb项目2、根据实验要求设计文件目录3、连接Tomcat服务器4、JSP的介绍和吐槽5、页面设计(register.jsp和login.jsp)6、checkAll()的正则检查(非必要)

图南zzz 5916

JavaWeb02.JSP基本语法&表单提交方式

javaweb入门,超详细jsp内容(内置对象及其常用方法)介绍

github_67177094的博客 1640

如何在 Spring MVC 中处理表单提交

在这个 Spring MVC 专栏中,我们将从 Spring MVC 入门指南开始,深入探讨其与 Spring Boot 的区别,以及如何处理表单提交和数据验证。我们将学习创建 RESTful API,并通过 Thymeleaf 实现动态网页渲染。还将探讨如何集成 Hibernate,以及 Spring MVC 的安全最佳实践和异常处理技巧。此外,我们将研究如何优化 Spring MVC 应用的性能,介绍响应式编程入门和 Spring MVC 的测试策略。最后,我们将探索 Spring 5.x 的新特性

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 1224

java web通过表单提交数组,对数组进行处理

java web通过表单提交数组,对数组进行处理 1.创建jsp表单,用以提交字符串 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitio...

qq_43238335的博客 1138

javaWeb form表单提交数据

Java servlet package com.my.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Enumeration; import javax.servlet.ServletException; import javax.servlet.annotation.We...

xizi_ghq的博客 4740
上一篇: javaWeb项目之JSP学习笔记----JSP请求与响应
下一篇: javaWeb项目之JSP学习笔记----5JSP过滤器
iamlinuxasd
博客等级 码龄10年 4粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值