028、HTML 标签3表单标签插入组件
内容:表单标签插入组件(经常使用)
##############################################################
form表单标签和input组件
<form>
用户名称:<input type="text" name="username" value="hehe" /><br/>
输入密码:<input type="password" name="psw" /><br/>
选择性别:<input type="radio" name="sex" value="nan" />男
<input type="radio" name="sex" value="nv" checked="checked"/>女<br/>
选择技术:<input type="checkbox" name="tech" value="java" />JAVA
<input type="checkbox" name="tech" value="html" />HTML
<input type="checkbox" name="tech" value="css" />CSS<br/>
一个按钮:<input type="button" value="有个按钮" onclick="alert('有个按钮,我弹!')"/><br/>
隐藏组件:<input type="hidden" name="zhangsan" value="20"/><br/>
选择文件:<input type="file" name="file" /><br/>
图片组件:<input type="image" src="1.jpg" /><br/> 选择国家:
<select name="country">
<option value='none'>--选择国家--</option>
<option value="cn" selected="selected">中国</option>
<option value="usa">美国</option>
<option vaue='en'>英国</option>
</select>
<br/>
个人介绍:<textarea rows="4" cols="20"></textarea>
<input type="submit" value="提交"/><input type="reset" value="恢复默认"/> </form>
如果这些值需要提交到服务端的,每个组件的属性都需要name
####################################################################################
浏览器两种提交方式
以下get和post提交数据来自代码
<!--
form标签中的action用于明确目的地。 method属性用于明确提交的方式。
方式有两种 get post。
get提交的数据:
地址栏:http://192.168.1.223:9090/?user=abc&psw=12&repsw=12&sex=nan&tech=java&country=cn
GET /?user=abc&psw=12&repsw=12&sex=nan&tech=java&country=cn HTTP/1.1
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET4.0C; .NET4.0E)
Host: 192.168.1.223:9090
Connection: Keep-Alive
post提交:
地址栏:http://192.168.1.223:9090/
POST / HTTP/1.1
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/xaml+xml, application/x-ms-xbap, application/x-ms-application, */*
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET4.0C; .NET4.0E)
Host: 192.168.1.223:9090
Content-Length: 56
Connection: Keep-Alive
Cache-Control: no-cache
user=abcd&psw=123&repsw=123&sex=nv&tech=html&country=usa
GET和POST的区别:
区别1:地址栏是否显示信息。
GET提交,将提交的数据显示在地址栏。
POST提交,提交数据不显示在地址栏。
区别2:敏感信息是否安全。
GET提交,提交敏感信息不安全。
POST提交,提交敏感信息安全。
区别3:数据的体积。
GET提交,信息存储到地址栏,存储的信息体积有限。
POST提交,可以提交大体积数据信息。
区别4:提交信息的http封装形式不同。
GET提交,将提交信息封装到了请求行。
POST提交,将提交信息封装到了请求体。
综上所述:表单提交,建议使用POST.
问题1:如果表单加入了增强型的校验(只有所有选项都符合规则的情况下,才可以提交)
这时,服务端收到数据后,还需要校验吗?
需要,因为客户端有可能避开校验,提交错误的数据到服务端,所以为了安全性,服务端必须做校验。
和服务端交互有三种方式:
1,地址栏输入。get
2,超链接。get
3,表单。get post
问题2:服务端如果进行校验,页面还需要做校验吗?
需要,为了减轻服务端的压力,同时为了增强用户的体验效果。
-->
#############################################
加入表格标签,好看,下面实现简单提交
<body>
<form action="127.0.0.1:8080" method="get">
<table border="1" bordercolor="blue" width="700px" cellspacing="0" cellpadding="10">
<tr>
<th colspan="2">用户注册</th>
</tr>
<tr>
<th>用户名称:</th>
<td><input type="text" name="usename"></td>
</tr>
<tr>
<th>输入密码:</th>
<td><input type="password" name="pwd"></td>
</tr>
<tr>
<td>选择性别:</td>
<td><input type="radio" name="sex" value="male"/>男
<input type="radio" name="sex" value="female">女</td>
</tr>
<tr>
<td>选择技术:</td>
<td><input type="checkbox" name="tech" value="java">java
<input type="checkbox" name="tech" value="HTML">HTML
</td>
</tr>
<tr>
<td>一个按钮</td>
<td><input type="button" value="按钮" onclick="alert('love')"></td>
</tr>
<tr>
<th colspan="2"><input type="submit" value="提交"></th>
</tr>
</table> </form>
</body>
##简单服务器用于执行上面的提交:
public static void main(String[] args) throws IOException
{
ServerSocket ss = new ServerSocket(8080);
Socket s = ss.accept();
InputStream is = s.getInputStream();
byte[] buf = new byte[1024];
int len = is.read(buf);
String str = new String(buf,0,len);
System.out.println(str); PrintWriter out = new PrintWriter(s.getOutputStream(),true);
out.println("<font color='blue' size='7'>注册成功</font>"); s.close();
ss.close();
}
############################################################################
其他标签
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <body>
<b>演示</b><i>一下</i><u>其他</u>的<strong>标签</strong>。语义化
X<sub>2</sub> X<sup>2</sup>
<marquee behavior="slide" direction="down">哇,我会飞啦!</marquee>
<pre>
class Demo
{
public static void main(String[] args)
{
System.out.println("hello");
}
}
</pre>
</body>
028、HTML 标签3表单标签插入组件的更多相关文章
- [原创]java WEB学习笔记62:Struts2学习之路--表单标签:form,表单标签的属性,textfield, password, hidden,submit ,textarea ,checkbox ,list, listKey 和 listValue 属性,select ,optiongroup ,checkboxlist
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- 5.22 HTML 列表标签和表单标签
1,ul无序列表 标签 ul:unordered list ,就是无序列表的意思. li: listitem 列表项的意思.无序列表的每一项都是<li>. <!DOCTYPE h ...
- Kure讲HTML_列表标签及表单标签
首先我上个图来告诉大家什么是列表 左侧的这一部分就可以称为是列表或者叫树,其实我们可以通过div+css实现列表,可是考虑语义化的问题,我们还是看看html提供好的列表标签,html提供了两种列表,一 ...
- Day46(列表标签,表格标签,表单标签,css的引入方式,css选择器)
一.列表标签 列表标签分为三种. 1.无序列表<ul>,无序列表中的每一项是<li> 英文单词解释如下: ul:unordered list,“无序列表”的意思. li:lis ...
- HTML的表格标签,列表标签,表单标签,HTML5有哪些新特性
欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 前端学习:学习地址:黑马程序 ...
- 制作Html标签以及表单、表格内容
制作Html一般用DW(......),Html全称为(Hyper Text Markup Language 超文本标记语言) 文本就是平常电脑上的文本文档,只能存储文字,而超文本文档可以存储音乐 ...
- struts2:表单标签
目录 表单标签1. form标签2. submit标签3. checkbox标签4. checkboxlist标签5. combobox标签6. doubleselect标签7. head标签8. f ...
- 第四节:Vue表单标签和组件的基本用法,父子组件间的通信
vue表单标签和组件的基本用法,父子组件间的通信,直接看例子吧. <!DOCTYPE html> <html> <head> <meta charset=&q ...
- SpringMVC 表单标签 & 处理静态资源
使用 Spring 的表单标签 通过 SpringMVC 的表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值的回显. form 标签 一般情况下,通过 ...
随机推荐
- 进程监控工具supervisor
supervisor是一个python编写的进程管理工具, 可以方便的管理和监控进程. supervisor分为服务端supervisord和客户端supervisorctl. supervisor由 ...
- 关于sublimeText3 设置格式化代码快捷键的问题
sublime中自建的有格式化按钮: Edit -> Line -> Reindent 只是sublime并没有给他赋予快捷键,所以只需加上快捷键即可 Preference -& ...
- 创建一个jdbc连接
本文介绍如何建立一个jdbc连接进行数据库查询操作. 创建一个java工程,导入jar包. 作者使用mysql数据库,建立jdbc连接需要mysql数据库驱动jar包和jdbc连接jar包. 建立jd ...
- 了解java虚拟机—非堆相关参数设置(4)
非堆内存相关配置 -XX:PermSize 永久区初始大小 -XX:MaxPermSize 永久区最大大小 在JDK1.8中使用-XX:MxMetaspaceSize配置永久区最大大小 -Xss 线程 ...
- php面向对象精要(1)
1.静态属性与方法 每一个类的实例拥有自己的属性和方法,每一个类也可以包含静态属性,静态属性不属于类的任何实例,可以把静态属性理解成存储在类中的全局变量,可以在任何地方通过类名引用静态属性. < ...
- 超强、超详细Redis入门教程
(1)什么是redis? Redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点 Redis本质上是一个Key-Value类型的 ...
- linux 新建用户和权限分配
1.创建新用户:testuser 命令:#useradd 选项 用户名 选项: -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主 ...
- 走通Django的基本流程
工程目录及文件的说明 manage.py:一个命令行工具,可以使我们用多种方式对Django项目进行交互 __init__.py:一个空文件,它告诉Python这个文件的上级目录应该看做一个pytho ...
- Vue -- vue-cli webpack打包开启Gzip 报错
前两天项目上线,用vue-cli npm run build命令打包,打包完成后我擦吓了一跳,15M.本来暂时不打算优化的,但是每次看着部署包这么大,想想还是先优化一下,让包好看点,免得以后出现心理阴 ...
- 大数据【四】MapReduce(单词计数;二次排序;计数器;join;分布式缓存)
前言: 根据前面的几篇博客学习,现在可以进行MapReduce学习了.本篇博客首先阐述了MapReduce的概念及使用原理,其次直接从五个实验中实践学习(单词计数,二次排序,计数器,join,分 ...