ASP表单两种提交模式辨析

合集下载

ASP网站文件功能说明

ASP网站文件功能说明

ASP网站文件功能说明ASP(Active Server Pages)是一种用于动态网站开发的技术。

它允许开发人员通过使用服务器端脚本语言(如VBScript或JavaScript)来创建动态网页,从而能够根据用户的请求生成不同的内容。

在ASP中,网页的功能主要由服务器端的ASP文件来实现。

下面将详细介绍ASP网站文件的功能。

1.动态内容生成:ASP文件允许开发人员在网页中嵌入服务器端脚本代码,这使得网页能够根据用户的请求动态生成内容。

开发人员可以使用条件语句、循环语句和数据库查询等技术,根据特定的逻辑规则生成不同的内容。

2.表单处理:ASP文件可以用来处理网页中的表单提交。

当用户在网页上填写表单并提交时,服务器端的ASP文件可以接收并处理这些数据。

开发人员可以通过脚本代码对表单进行验证、数据处理和存储等操作,以实现表单的功能。

3.数据库连接和操作:ASP文件可以与数据库进行连接,并执行数据库操作。

开发人员可以使用ASP提供的数据库组件(如ADO)实现数据库查询、插入、更新和删除等功能。

这使得网页能够与后台的数据库系统进行交互,并根据数据库中的数据生成动态内容。

4.文件操作:5.用户认证和会话管理:ASP文件可以实现用户认证和会话管理功能。

开发人员可以使用ASP 提供的会话对象(Session)来跟踪用户的登录状态,并限制特定页面的访问权限。

通过会话管理,ASP文件可以将用户的相关信息存储在服务器端,并在整个网站中共享和使用。

6.错误处理:ASP文件可以处理异常情况和错误信息。

开发人员可以使用ASP提供的错误处理机制来捕获和处理服务器端的错误。

这有助于提高网站的稳定性和可靠性,避免向用户显示不需要的错误信息。

7.缓存管理:ASP文件提供了对网页缓存的管理功能。

开发人员可以使用ASP提供的缓存对象(Cache)来缓存动态生成的内容,以提高网站的响应速度和性能。

通过适当地使用缓存管理,可以减轻服务器的负载和网络传输的负荷。

form提交数据编码梳理

form提交数据编码梳理

form提交数据编码梳理之前对form单提交的操作⼀直都是迷迷糊糊,知道怎么⽤,但是随着ajax2的出现,我们有更多的⽅式操作form表单提交,但是底层的原理我们要好好的做个梳理。

常见的form提交有post和get这两种形式,他们对各⾃的编码都有不同的理解,post适合⼤量数据的提交,语义上改变了数据状态,get是⼀种获取获取数据的⼀种形式,两者在编码上是有不同的实现。

关于编码的 form 标签的属性accept-charset:可以指定form编码形式enctype: 规定在发送表单数据之前如何对其进⾏编码。

有三种设置类型默认为application/x-www-form-urlencoded:发送前编码所有字符multipart/form-data:不对字符编码,包含⽂件上传控件的表单时,必须使⽤该值text/plain:空格转换为 "+" 加号,但不对特殊字符编码。

method:规定⽤于发送 form-data 的 HTTP ⽅法。

有 post 和 getmethod浏览器使⽤ method 属性设置的⽅法将表单中的数据传送给服务器进⾏处理。

共有两种⽅法:POST ⽅法和 GET ⽅法。

如果采⽤ POST ⽅法,浏览器将会按照下⾯两步来发送数据。

⾸先,浏览器将与 action 属性中指定的表单处理服务器建⽴联系,⼀旦建⽴连接之后,浏览器就会按分段传输的⽅法将数据发送给服务器。

在服务器端,⼀旦 POST 样式的应⽤程序开始执⾏时,就应该从⼀个标志位置读取参数,⽽⼀旦读到参数,在应⽤程序能够使⽤这些表单值以前,必须对这些参数进⾏解码。

⽤户特定的服务器会明确指定应⽤程序应该如何接受这些参数。

另⼀种情况是采⽤ GET ⽅法,这时浏览器会与表单处理服务器建⽴连接,然后直接在⼀个传输步骤中发送所有的表单数据:浏览器会将数据直接附在表单的action URL 之后。

这两者之间⽤问号进⾏分隔。

form表单提交的几种方式

form表单提交的几种方式

form表单提交的⼏种⽅式form表单提交的⼏种⽅式表单提交⽅式⼀:直接利⽤form表单提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><form action="http://localhost:8080/user" method="post">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="submit" value="登录"></form></body></html>controller页⾯代码:package com.help.demo.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class UserController {@PostMapping("/user")@ResponseBodypublic String add(String username,String password){System.out.println("返回值是》》"+username+"---->"+password);String str = "返回值是"+username+password;return str;}}完成后启动项⽬并访问http://localhost:8080/query.html 输⼊⽤户名和密码出现下图表⽰成》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》表单提交⽅式⼆:使⽤ajax提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><!-- --><form method="post" onsubmit="return false" action="##" id="formtest">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="button" value="登录" onclick="login()"></form><script type="text/javascript" src="/js/jquery.min.js"></script><script type="text/javascript" src="/js/jquery.easyui.min.js"></script><script type="text/javascript" src="/js/extJquery.js"></script><script type="text/javascript" src="/js/extEasyUI.js"></script><script type="text/javascript">function login() {$.ajax({//⼏个参数需要注意⼀下type: "POST",//⽅法类型dataType: "text",//预期服务器返回的数据类型如果是对象返回的是json 如果是字符串这⾥⼀定要定义text 之前我就是定义json 结果字符串的返回⼀直到额error中去/*dataType:要求为String类型的参数,预期服务器返回的数据类型。

ASP_2

ASP_2

<body> <form id="form1" name="form1" method="post" action=""> <table width="400" height="291" border="1" align="center" bordercolor="#0099FF"> <tr> … <input name="button" type="submit" id="button" value="提交" /> <input name="button2" type="reset" id="button2" value="重置" /> </tr> </table> </form> </body>
ASP学习之二 ASP学习之二
Байду номын сангаас
学习目的: 学习目的: 学会用表单元素向服务器传送变量, 学会用表单元素向服务器传送变量,然 后显示变量在客户端的浏览器。 后显示变量在客户端的浏览器。
首先用dreamwearver布局如下图所示的表单 布局如下图所示的表单: 首先用 布局如下图所示的表单
文本域,这个是最基本的, 文本域,这个是最基本的,传送的是 文本信息,一般用户名, 文本信息,一般用户名,密码都要用 这个传送, 这个传送,不过要是密码的话要在类 型里面选择密码,这样就会以*代替显 型里面选择密码,这样就会以 代替显 示出来的字符,文本域的名字很重要, 示出来的字符,文本域的名字很重要, 以后会用到这个名字所以一般不用默 认的名字。 认的名字。

html form表单提交action和url跳转到actiond的区别介绍

html form表单提交action和url跳转到actiond的区别介绍

form表单的action 与url跳转是不一样的:form表单可以给后台传递数据,url跳转到action只能通过url的参数来传递数据,不懂的朋友可以参考下
form表单的action 与url跳转是不一样的:
form表单可以给后台传递数据,在后台直接可以用request对象去向前台请求数据。

form表单传递数据有两种方式:
method="post":这是传递大量数据时用的,在数据传递之前会先将数据打包,因此这种传递数据的方式会效率会比较慢,但是穿过的数据都能正确解析,因此传中文不会有乱码。

method="get":以URL传递的,因为地址栏长度有限,所以对数据量是有限制的,而且传递的数据必须是ASCCI码值范围内的,因此,传中文会有乱码,需特殊处理。

url跳转到action只能通过url的参数来传递数据,action?参数名=参数值&amp;……,在后台也可以用request对象去向前台请求url的参数值(url传中文参数需要进行特殊处理)。

ASP 表单和框架

ASP  表单和框架

ASP 表单和框架表单在Web网页中用来给访问者填写信息,从而能获得用户信息,使网页具有交互的功能。

一般是将表单设计在一个HTML文档中,当用户填写完信息后做提交(Submit)操作,于是表单的内容就从客户端的浏览器传送到服务器上,经过服务器上的ASP或者CGI等处理程序处理后,再将用户所需信息传送回客户端的浏览器上,这样网页就具有了交互性。

使用框架结构设计的HTML文件,能够将整个窗口分成几个独立的小窗口,每一个窗口可以分别载入不同的文件,并且各窗口之间还可以进行相互的操作。

1.表单标记<form></form>标记对用来创建一个表单,即定义表单的开始和结束位置,在标记对之间的一切都属于表单的内容。

<form>标志具有action、method和target属性,各属性如下:●Method 设定在表单传输的数据时到Web服务器的方法,有两种方法:get和post。

●Action 为了能接受浏览者所发送出的数据,在Web服务器内必须有一个服务程序来接收。

而Action属性则可以指定接收表单数据的程序所在地址。

●target 用来指定目标窗口或者目标帧。

可以使用<input type="">标记定义一个用户输入区域,用户可在其中输入信息。

此标记必须放在<form></form>标记对之间。

<input type="">标记共提供了8种类型的输入区域,具体是哪一种类型由type属性来决定,如表8-3所示。

表8-3 8种类型的输入区域字。

这个名字与输入区域是一一对应的,即一个输入区域对应一个名字。

服务器就是通过调用某一输入区域的名字的value属性来获得该区域的数据的。

而value属性是另一个公共属性,它可用来指定输入区域的缺省值。

使用<select></select>标记对可以创建一个下拉列表框或者可以复选的列表框。

asp中get和post的差别

asp中get和post的差别
仔细研究下面的代码。你可以运行之来感受一下:
代码
<!--两个Form只有Method属性不同-->
<FORM ACTION=“getpost.asp” METHOD=“get”>
<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>
<INPUT TYPE=“submit” VALUE=“Method=Get”></INPUT>
</FORM>
<BR>
<FORM ACTION=“getpost.asp” METHOD=“post”>
<INPUT TYPE=“text” NAME=“Text” VALUE=“Hello World”></INPUT>
在Form里面,可以使用post也可以使用get。它们都是method的合法取值。但是,post和get方法在使用上至少有两点不同:
1、Get方法通
2、Get方式的提交你需要用Request.QueryString来取得变量的值,而Post方式提交时,你必须通过Request.Form来访问提交的内容。
<% End If %>
<% If Request.Form(“Text”) <> ““ Then %>
通过Post方法传递来的字符串是: “<B><%= Request.Form(“Text”) %></B>“<BR>
<% End If %>
说明:

在ASP中执行多个页面的表单提交

在ASP中执行多个页面的表单提交

在ASP中执行多个页面的表单提交假设现在你要在站点上建立一个多页面的订货表单,从而执行从站点通过email发给订单书写人,并假定这些单独的页面、页面的个数以及页面上的输入域都可以根据实际要订购的产品而改变。

如果我们将每个页面都分别提交给FrontPage的 email 向导或CGI 的email 程序,那么可怜的订单书写人就要为订单的每一页都收到一个单独的邮件信息。

当然我们可以通过session变量、隐藏域或查询字符串将订货数据从一页传递到另一页,但是在内存中储存这些数据会造成应用程序不平衡,另外潜在地需要大量的脚本。

而且当页面上的域变化时还必须要修改脚本代码,所以代码不太能够再利用。

如果能够写出一套脚本可以用在所有这些订单页面中,只把HTML页面的设计留给WEB设计者,那就太好了。

一个简单的答案是,将每个页面中的数据保存在一个文件中,然后将所有这些文件连接起,再将之用Email方式发送给订单书写人。

这种方法另外还有一个好处是如果愿意可以在硬盘上保持临时文件,那么在晚些时候用户可以继续一个未完成的订单。

最好的一点是,执行这一办法不需要第三方组件,而只需要session变量,ASP脚本和Scripting.FileSystemObject 对象。

首先要为这些单独的页面数据文件确定唯一的名字,这样在订单结束时可以将它们放在一起,并且不会被应用程序中的其它文件所覆盖。

同时,需要从单个session变量表示的文件进行聚合中,这样就不会偶然将一个旧session中的数据包含到当前的订单中。

由IIS所提供的Session变量("SessionID")在一个Session过程中在网络服务器上是唯一识别的,但是到了后面,Session就可以被复制。

(事实上,SessionID在以后会话Session时总是要被复制的,SessionID存储在客户机的一个cookie 中。

当网络服务器从客户机中接收到一个过去会话的SessionID时,若它没有被另一个活动会话所使用,就使用相同的值,这样就不用向浏览器发送另一个cookie了,有关的信息可以参见微软MSDN上的Managing Sessions。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

方式传递的数据量相对较大,它是等待服务器来读取数据,根据微软
方面的说法,微软对用 Request.Form() 可接收的最大数据有限制,IIS
4 中为 80 KB,IIS 5 中为 100 KB,IIS 6.0中为200KB,。
(4)用post方式传递信息时一定要有表单,而get方式可以在浏
览网页时不显示表单而直接在地址栏中输入查询字符串。例如我们可
我们通过在地址栏中输入分别输入:http://localhost/bdget.asp和
http://localhost/bdpost.asp运行两个表单并观察运行过程及结果,可
以总结出get 方式和post方式的一些不同点:
(1)虽然通过两种方式提交的参数都可以用Request来获得,但
对于get方式,服务器端须用Request.querystring("字段")来获取变量
表头(header)内作为HTTP消息的实体内容一起传送给服务器端交由
action属性能所指的程序处理,该程序会通过标准输入(stdin)方式,
将表单的数据读出并加以处理,而用户是看不到这个过程的。
(3)Get方式传输的数据量非常小,一般在 2 KB以内,这主要
是因为受URL长度限制,但是其执行效率却比 Post 方法好;而 Post
表单最常用的语法如下: < form name=该form的名称 action=处理输入数据的程序的URL method=输入的数据传送到服务器的方式,取值为post或get> form 表单元素(如文本框、单选框、复选框和下拉选择框等) </form> 由表单的method可知,用户可以用get和post两种方法传送数据, 那么它们二者到底有何区别呢? 我们先用两种方式分别建立两个简单的表单文件: bdget.asp(其 method方 式 为 get) 和 bdpost.asp( 其 method方 式 为 post) 。 其 中 bdget.asp的内容为: <HTML> <head><title>一个简单的表单</title></head> <BODY> <form name="bdget" method="get" action="jsget.asp"> 姓名:<input type="text" name="username"><br> 口令:<input type="password" name="userpassword"><br> <input type="submit"> </form> </BODY> </HTML> 表 单 bdpost.asp的 内 容 与 bdget.asp类 似 , 只 是 将 name值 改 为 bdpost,method值改为post,action值改为jspost.asp,其它内容不变。 接收表单bdget.asp的页面文件为jsget.asp,其内容为: <HTML> <head><title>表单处理</title></head> <BODY> <% name=request.querystring("username") password=request.querystring("userpassword")%> 您的名字是:<%=name%> <br> 您的密码是:<%=password%> </BODY> </HTML> 接收表单bdpost.asp的页面文件为jspost.asp,其内容为: <HTML> <head><title>表单处理</title></head> <BODY> <% name=request.form("username") password=request.form("userpassword") %> 您的名字是:<%=name%> <br> 您的密码是:<%=password%> </BODY> </HTML>
URL中没有出现附加参数fjcs,同时浏览器中显示的的附加参数值结
果也为空,这说明附加参数fjcs根本就没有被传递!
但是,若将表单bdpost.asp的form改成
(转173页)
173 内 江 科 技 2008年第2期
教科园地
克服恐惧心理,培养他们的自信心,找到学习的动力源泉,激发他们 的学习热情,从而给他们创造一个良好的口语交际氛围。例如,在教 学中,教师可以根据课本内容来确定一个相关的、而且是为学生们所 熟知的、让学生有话可说的主题,采用多种多样的为学生欢迎的形 式,使学生由被动的回答问题,转变到主动的思考问题、分析问题、 进而解决问题。在这个过程当中,学生可以在进行认真的思考之后, 针对主题自由发言。这样做,不仅可以锻炼学生的思维能力,还能通 过与其他学生的交流沟通,培养他们的参与精神,锻炼其交际能力; 更重要的是,可以锻炼学生的实际口语表达能力。
3 在大学英语口语教学中应注意的几个问题
3. 1 进行课堂口语练习的目的所在 在教学过程当中,给学生一个主题,例如环境保护、诚信做人等 等,然后让他们分小组进行自由讨论;或者设置一个场景,例如去超 市购物、去银行取款等等,让学生通过想象并结合生活实际来进行角 色扮演。在这个过程中,学生不是在进行更加细致、更加具体的学习 活动,而是通过这些活动,学生们可以真实地用英语与他人交流,从 而更加真切地体会到用英语进行交际活动的感觉。 通过课堂上的口语练习活动,教师可以看出学生真实的口语表达 能力,同时还可以发现学生在口语表达方面存在的具体问题。学生通 过练习也可以培养说话的胆量,扩大知识面,锻炼其语言能力、交际 能力和自主学习的能力;更重要的是,在练习的过程中,他们可以发 现自己的不足之处。通过找出差距、认识问题所在,到进行更为有效
以 不 用 通 过 运 行 表 单 bdget.asp, 而 直 接 在 地 址 栏 中 输 入 : http:
//localhost/jsget.asp?username=zhangsan&userpassword=123456, 接 收
页面jsget.asp照样可以接收到username与userpassword。
的反复操练,再到最终取得进步这样一个过程,学生可以获得极大的 自信心和满足感;并且在教师的鼓励和帮助下投入到更深层次的学习 中去。
3. 2 在课堂口语练习中教师应该发挥的作用 因为课堂口语练习的主要目的是使学生得到锻炼,提高他们的口 语表达能力,所以课堂活动应该始终以学生为中心,而教师主要应该 发挥支持、鼓励、引导以及督促的作用。教师可以为学生创造良好的 课堂氛围,在学生说话的过程中仔细看、认真听,记录下学生在练习 过程中表现出来的优点和不足之处,并在练习结束之后及时与学生一 起做出总结,并给出指导意见。 在学生的练习过程中有两点需要注意。一是不要在学生说话过程 中急于指正错误。这样做会破坏练习的进程,也会使学生的自信心受 到损害,变得因为害怕出错而不敢再开口说话。二是要把握好教师的 参与尺度。有些教师为了给学生起到示范作用,而和学生一起做口语 练习。但因为尺度把握不好,使得本来应以学生为主体的练习活动, 成为了教师的表演舞台。这样就使口语练习失去了其应有的意义。对 于第一个问题,笔者认为教师应该在给学生足够的空间和时间,让其 自由发挥,畅所欲言,不要因为个别词汇或者语法错误而打断练习的 进程。对于学生在练习过程中出现的问题,应该等到总结时间再向学 生指出来,提醒他们注意。至于第二个问题,笔者认为教师应该在保 证学生的主体地位的前提下参与到练习中去,最终目的是使练习活动 能够有效、顺利地进行下去 [3]。例如,在一场讨论中,当学生一时无 话可说的时候;或者在辩论中,当辩论双方长时间围绕一个问题僵持 不下的时候;又或者在短剧表演中,学生忘记台词的时候。在这些时 刻,教师都可以发挥起鼓励和引导的作用,使学生更加认真地进行更 为有效的口语练习。
您的名字是:<%=name%> <br>
您的密码是:<%=password%> <br>
附加参数是:<%=fjcs%>
</BODY>
</HTML>
运 行 表 单 bdasp.asp, 则 在 地 址 栏 中 我 们 看 到 的 仍 是 http:
//localhost/jsget.asp?username=zhangsan&userpassword=12345, 即
2. 5 开展丰富多彩、形式多样的提高口语表达能力的课内外活 动
口语表达能力训练可以分为三个阶段。在第一阶段中,学生是在 教师的指导之下,通过练习语音、语调,学习熟知常用的基本词汇, 强化记忆典型句型,达到熟悉语言的结构、规则和形式的目的。在这 个阶段当中,学生们所做的只是一些机械的练习,不是具有实际意义 的交际交流活动;但这个阶段却是必不可少的。经过第一个阶段的准 备之后,在第二阶段,教师就可以发挥其主导作用,通过开展形式多 样的课堂活动(例如,看图会话、问卷调查、小组讨论、话题辩论、 角色扮演等等)来引导学生进行口语训练。在第二个阶段中,学生可 以在特设的场景中,模拟真实情况,用英语来思考并表达自己的观 点、看法,从而进行有意义的交际交流活动。除了在课堂上进行口语 模拟训练之外,学生还应走出课堂,多与英语国家人士进行真正意义 上的接触和交流,熟悉体验真正的、地道的英语生活用语,了解英语 国家的文化和风俗,并在这个过程之中找到模拟训练和真实生活的差 距,通过不断的交流活动提高自己的英语口语表达能力。这就是第三 个阶段。当然,学校也应该通过举办英语角、英语沙龙、英语演讲比 赛、英语辩论赛、英语歌唱比赛等丰富多彩的校园活动,给学生提供 更多的实践机会,使他们能从多个角度、多个方面来练习英语口语表 达能力。
入数据1 & 字段2=输入数据2 &....",其中?代表URL地址的结尾与数
据参数的开端,参数与参数之间利用一个连接符 & 来区分。字母数
字字符原样发送,但空格转换为"+" 号,其它符号转换为%XX,其中
XX为该符号以十六进制表示的ASCII(或ISO Latin-1)值。而Post 方
式通过 HTTP post 机制,将表单内各字段名称与其内容放置在 HTML
同时将接收页面jsget.asp的内容改为:
相关文档
最新文档