java(十五)

HTML

1.html是超文本标记语言的简写,是最基础的网页语言。

2.html是通过标签来定义的语言,代码都是由标签所组成。

3.html代码不用区分大小写。

4.html代码由<html>开始,</html>结束。里面由头部分<head></head>和体部分<body></body>组成。

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

这是我的<br /><hr />

<font color=‘red‘ size=‘5‘>网页内容</font>。

</body>

</html>  这些尖括号里的就是标签,比如标题标签,字体标签,换行标签,水平分割线标签。

5.头部分是给Html页面增加一些辅助或者属性信息,它里面的内容会首先加载。

6.体部分是真正存放页面数据的地方。

多数标签都是有开始标签和结束标签的,但有个别标签因为只有单一功能,或者没有修饰的内容,

可以直接在标签内结束。  比如:换行标签<br />   水平分割线标签<hr />

想要对标签修饰的内容进行更丰富的操作,就要用到了标签中的属性。属性与属性值用“=”连接。属性值用双引号或单引号引导。

格式:<标签名 属性名=‘属性值’>数据内容</标签名>

<标签名 属性名=‘属性值’ />

操作思想:

为了操作数据,都需要对数据进行不同标签的封装,通过标签中的属性对封装的数据进行不同的操作。

标签就相当于一个容器,对容器中的数据进行操作,就是在不断的改变容器的属性值。

html语言中要用到大于号和小于号时,就要加上转义字符了。比如:  大于号  &lt;   小于号&gt;

列表标签:<dl>

上层项目:<dt></dt>

下层项目:<dd></dd>   封装的内容是会被缩进的,有自动缩进效果。

<!--有序和无序的项目列表(这就是html中的注释,也是用标签来体现的)-->

有序:<ol>   无序:<ul>   无论有序和无序,条目的封装用的都是<li>,而且他们都有缩进效果。

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

这是我的<br /><hr />

<font color=‘red‘ size=‘5‘>网页内容</font>。

<ul>

<li>无序项目列表</li>

<li>无序项目列表</li>

<li>无序项目列表</li>

</ul>

<ol type="a">

<li>有序项目列表</li>

<li>有序项目列表</li>

<li>有序项目列表</li>

</ol>

</body>

</html>

图像标签:<img />

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

这是我的<br /><hr />

<font color=‘red‘ size=‘5‘>网页内容</font>。

<img src="图片位置" height=500 width=200 border=10 alt="wa" />

<!--上面依次为图片高和宽,边框宽度,图片说明文字。-->

</body>

</html>

表格标签<table>

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

这是我的<br /><hr />

<font color=‘red‘ size=‘5‘>网页内容</font>。

<table border=1 bordercolor="#0000EE" cellpadding=10 cellspacing=0 width=500>

<caption>表格标题</caption>

<tr>

<td>姓名:</td>

<td>张三</td>

</tr>

<tr>

<td>年龄:</td>

<td>39</td>

</tr>

</table>

不规则的表格<hr />

<table border=1 bordercolor="#0000EE" cellpadding=10 cellspacing=0 width=500>

<tr>

<th colspan=2>个人信息</th>   <!--th标签就居中并加粗了,colspan=2是合并两个单元格-->

</tr>

<tr>

<td>张三</td>

<td>30</td>

</tr>

</table>

<br />

<table border=1 bordercolor="#0000EE" cellpadding=10 cellspacing=0 width=500>

<tr>

<th rowspan=2>个人信息</th>

<th>张三</th>

</tr>

<tr>

<th>30</th>

</tr>

</table>

</body>

</html>

注意:表格的下一级标签是tbody,不定义也存在,默认就是这个。

超链接标签<a>

两种用法:

一:超链接。用于链接资源。

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

<a href="http://www.baidu.com" target="_blank">百度</a>

<!--当有了href属性,才有了点击的效果。他的值不同,解析的方式也不同,解析时,默认按照file协议-->

<!--这里的http是指定的协议,后面的target="_blank"表示在一个新窗口打开此网页。-->

<hr/>

<a href="imgs/1.jpg">图片</a>

<hr/>

<a href="javascript:void(0)" onclick="alert(‘haha‘)">这是个超链接</a>

<!--启用javascript协议,void(0)表示去掉超链接默认的点击效果,onclick是自定义了一个点击效果-->

</body>

</html>

二:定位标记。专业术语叫锚

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

<a name=top>顶部位置</a>

<hr/>

<img src="111.jpg"  height=900 width=400 border=10/>

<hr/>

<a name=center>中间位置</a>

<hr/>

<img src="111.jpg"  height=900 width=400 border=10/>

<a href="#top">回到顶部位置</a>

<a href="#center">回到中间位置</a>

</body>

</html>

框架标签<frameset>:

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<!--定义框架:使用标签frameset

-->

<frameset rows="20%,*">

<frame src="top.html" />

<frameset cols="30%,*">

<frame src="left.html" />

<frame src="right.html" />

</frameset>

</frameset>

<body>

</body>

</html>

画中画标签<iframe>

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

<iframe src="table.html">这是画中画标签,如果你看到这行字,说明你的浏览器不支持该标签</iframe>

</body>

</html>

***************重点掌握

表单标签<form>:

表单标签是最常用的标签,用于与服务端的交互。

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

<form>

<!--要向服务端提交数据的话就得明确name和value属性,类似于键值对,否则无法解析。-->

输入名称<input type="text" name="user" value=""/><br/>

输入密码<input type="password" name="psw" value=""/><br/>

选择性别:<input type="radio" name="sex" value="nan"/>男

<input type="radio" name="sex" value="nv" checked="checked"/>女<br/>

<!--都在sex这个组别中才能是单选, checked="checked"就让女变成了默认选项。-->

选择技术:<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="file" name="file"/><br/>

一个图片:<input type="image" src="111.jpg"/><br/>

隐藏组件:<input type="hidden" name="mike" value="123"/><br/>

<!--当数据不需要客户端知道,但是需要提交到服务端时,就放在这里面。-->

一个按钮:<input type="button" value="这是个按钮" onclick="alert(‘xixi!‘)"/>

<br/>

<select name="country">

<option value="none">--选择国家--</option>

<option value="cn" selected="selected">中国</option>

<option value="en">英国</option>

<option value="usa">美国</option>

</select>

<br/>

<textarea name="text"></textarea>

<br/>

<input type="reset" value="清除数据"/>

<input type="submit" value="提交数据"/>

</form>

</body>

</html>

综合练习:

<html>

<head>

<title>这是一个网页的标题。</title>

</head>

<body>

<form action="http://www.baidu.com" method="post">

<!--action指定了服务端,post是一种提交的方式,还有一种叫get-->

<!--

get提交和post提交的区别:

1:get提交的信息都显示在地址栏中,而post提交不显示在地址栏中。

2:get提交对于敏感的数据信息不安全,post比较安全。

3:get提交对于大数据不行,因为地址栏存储体积有限,而post可以提交大体积数据。

4:get提交将信息封装到了请求消息的请求行中,而post封装到了请求体中。

在服务端还有一个小区别:

如果将中文提交到tomcat服务器,服务器默认会用iso8859-1解码,会出现乱码,

这时,通过iso8859-1先编码,再通过指定的中文码表进行解码即可,这种方式对两种提交方式都有效。

但是对于post提交的中文,也可以直接使用服务端的一个对象request的setCharacterEncoding方法直接设置指定的码表解码。

这个方法只对请求体中的数据进行解码。所以只能post提交方法可以用。

综上所述,表单提交时,建议使用post提交方法。

-->

<table border="1" bordercolor="#00ffff" cellpadding=10 cellspacing=0 width=800>

<tr>

<th colspan="2">注册表单</th>

</tr>

<tr>

<td>用户名称</td>

<td><input type="text" name="user" value=""/></td>

</tr>

<tr>

<td>输入密码:</td>

<td><input type="password" name="psw" value=""/></td>

</tr>

<tr>

<td>确认密码:</td>

<td><input type="password" name="psw" value=""/></td>

</tr>

<tr>

<td>选择性别:</td>

<td>

<input type="radio" name="sex" value="nan"/>男

<input type="radio" name="sex" value="nv"/>女

</td>

</tr>

<tr>

<td>选择技术:</td>

<td>

<input type="checkbox" name="tech" value="java"/>JAVA

<input type="checkbox" name="tech" value="html"/>HTML

<input type="checkbox" name="tech" value="css"/>CSS

</td>

</tr>

<tr>

<td>选择国家:</td>

<td>

<select name="country">

<option value="none">--选择国家--</option>

<option value="cn">中国</option>

<option value="en">英国</option>

<option value="usa">美国</option>

</select>

</td>

</tr>

<tr>

<th colspan="2">

<input type="reset" value="清除数据"/>

<input type="submit" value="提交数据"/>

</th>

</tr>

</table>

</form>

</body>

</html>

和服务端交互的三种方式:

1.地址栏输入url地址。  get

2.超链接。             get

3.表单。               get和post

如果在客户端进行了增强型的校验(只要有一个组件内容是错误的,就无法提交),比如两次密码输入必须一致。

问,服务端收到数据后,还需要校验吗?

肯定需要。为了安全性。不然客户端直接在地址栏随便输都能完成注册了,性别都可以随便写了。

如果服务端做了增强型校验,客户端还需要校验吗?

需要。因为要提高用户的上网体验和效率,也是为了减轻服务端的压力。

标签分为两大类:

1.块级标签:标签结束后都有换行。比如div p dl table ol ul

2.行内标签:标签结束后没有换行。比如font span img input select a

时间: 2024-10-25 09:34:48

java(十五)的相关文章

java(第十五章)

第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名=new String("值"); 3.字符串的常用方法 3.1 字符串长度--length() 3.2 判断值是否相等 equals() 3.3 判断字符串对象地址是否相同 == 3.4 忽略 大小写 判断 equalsIgnoreCase() 3.5 大小写转换 toLowerCase(

Java进阶(三十五)java int与integer的区别

Java进阶(三十五)java int与integer的区别 前言 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象. 1.Java 中的数据类型分为基本数据类型和复杂数据类型 int 是前者而integer 是后者(也就是一个类):因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null. 2.初始化时: int i =1; Integer i= new In

《Java并发编程实战》第十五章 原子变量与非阻塞同步机制 读书笔记

一.锁的劣势 锁定后如果未释放,再次请求锁时会造成阻塞,多线程调度通常遇到阻塞会进行上下文切换,造成更多的开销. 在挂起与恢复线程等过程中存在着很大的开销,并且通常存在着较长时间的中断. 锁可能导致优先级反转,即使较高优先级的线程可以抢先执行,但仍然需要等待锁被释放,从而导致它的优先级会降至低优先级线程的级别. 二.硬件对并发的支持 处理器填写了一些特殊指令,例如:比较并交换.关联加载/条件存储. 1 比较并交换 CAS的含义是:"我认为V的值应该为A,如果是,那么将V的值更新为B,否则不需要修

java:第十五章

第十五章 字符串 1.字符串(String)的定义 String str="内容"; String str=new String(); //内容为null String str=new String("内容"); 2.java.lang.* 字符串所在的包是java.lang. 注意:所有在java.lang包下的类,我们使用时,不需要import. 3.常用方法 str.length();//字符串的长度 str.indexOf(str1);//子串str1出现的

JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题

JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://blog.csdn.net/m366917 我们来继续学习多线程 Lock锁的使用 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁,为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock Lock void lock():获取锁 v

Java进阶(二十五)Java连接mysql数据库(底层实现)

Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜索.特将之前使用的方法做一简单的总结.也能够在底层理解一下连接数据库的具体步骤. 实现 首先需要导入相关的jar包,我使用的为:mysql-connector-java-5.1.7-bin.jar. 下面来看一下我所使用的数据库连接方法类: MysqlUtil.java package cn.edu

JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇幅讲 一.文本复制 读写都说了,我们来看下其他的操作,我们首先来看复制 复制原理:其实就是将C盘下的文件数据存储到D盘的一个文件中 实现的步骤: 1.在D盘创建一个文件,用于存储文件中的数据 2.定义读取流和文件关联 3.通过不断的读写完成数据的存储 关闭资源 package com.lgl.hel

Java(第十五章)

第十五章 一.字符串类String 1.String是一个类,位于java.lang包中 2.创建一个字符串对象的2种方式: String 变量名="值"; String 对象名=new String("值"); 3.字符串的常用方法 3.1 字符串长度--length() 3.2 判断值是否相等 equals() 3.3 判断字符串对象地址是否相同 == 3.4 忽略 大小写 判断 equalsIgnoreCase() 3.5 大小写转换 toLowerCase(

Java进阶之欧拉工程 第十五篇【网格路径问题】

网格路径问题,中文翻译如下: 从 22的格子的左上角开始,只允许向右和向下移动,一共有六种路径可以抵达右下角 那么在2020的路径中一共有多少条这样的路径? 原题如下: Starting in the top left corner of a 22 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner. How many such

Java进阶之欧拉工程 第十五篇【2的1000次方各位之和为多少】

题目如下: 215 = 32768 并且其各位之和为 is 3 + 2 + 7 + 6 + 8 = 26. 21000 的各位数之和是多少? 原题如下: 215 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26. What is the sum of the digits of the number 21000? 解题思路:这道题和之前的大数求和的思想有点类似,就是用数组存储大数的每一位数,然后相加,上次写的大数相加的函数稍作