javaWeb第一课

前言:

先来说说本来写完了的聊天室的项目,然后后面凡尔赛不小心改错了的然后一个上午才发现的问题,真的很有必要总结一下,气死我了:关于要将这个ArrayList的某个类型要转换为数组,我刚开始这么写的:

Message/*这是数组类型,自己定义的类*/[]mm=(Message[])arrayList/*这是对应的ArrayList类型*/.toArray();
//好像大概就是这么写的
//然后也没报错,就也运行了,但是一直卡在这里,也没有其他的,就真的很难发现,我哭死

至于正确怎么写的网上搜一下到处是,别这样写就行了; 

1.小提示 

javaWeb将网页和数据库联系起来;数据库管理系统管理数据库;MySQL不区分大小写,关键字建议大写,SQL单行注释'-- '(即两个斜杠加一个空格),以分号结束;MySQL特有的以#为注释也可以;下载的的开发工具最好安装在没有中文的路径下,避免引发不必要的麻烦;记住每次打开html的时候都要记得去用ctrl+s保存一下; 这里可以查看官方文档:w3school 在线教程

2.初识前端

三个组成部分:HTML(负责网页的结构,包括页面的元素和内容),CSS(负责网页的表现,界面元素的外观,位置),JavaScript(网页的行为,交互效果);

HTML:

超文本标记语言(超越了文本的限制,除了文字信息还可以定义图片,音频,视频等内容,有预先定义好的标签组成的,最终由浏览器来解读);在HTML里面无论点击多少个空格,在浏览器里面都只会显示一个空格,如果实在要用空格,可以使用空格占位符 

1)小练习:

1.新建文本文件,后缀名改为.html

2.编写HTML结构标签(用记事本打开,仅一次)

3.在<body>中填写内容

标签当中的属性来指定src指定图片,如果通过src已经指定了图片那么后面图片的闭合标签可写可不写(如果不写的话要在后面加一个斜杠让标签自闭合)

展示图:(浏览器内)

<html><head><title>HTML快速入门</title></head><body><h1>Hello HTML</h1><img src="1.jpg"/></body></html>

文件内视图: 

请注意:HTML里面的标签是不区分大小写的,在标签中可以使用双引号也可以使用单引号;

2)简单属性介绍

 图片路径绝对路径和相对路径:

绝对路径

绝对磁盘路径:比如"D:\小练习\img\logo-title.jpg"

绝对网络路径:比如:news_logo.png (137×36) (sinaimg.cn)

相对路径:比如:img/logo-title.jpg

相对目前html所在的文件的位置

图片高度和宽度:

高度和宽度有两个单位:像素:px,百分比:%(占整个界面的多少(分长宽,长占多少,宽占多少));

一般是不同时修改高度和宽度的,如果同时修改的话就容易使图片变形,所以一般只调整一个,另外一个会按比例调整;

 3)小试牛刀

在vsCode里面将之前的文件导入,然后再新建一个HTML文件,开始编辑新建的文件,在vsCode里面就输入一个‘!’(即一个感叹号)然后回车就可以出现这样的框架;

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body></body>
</html>

4)超链接标签

标签名为a,其中有两个属性:一个是href,表示链接打开的url,另一个属性名为target,表示在哪里打开这个链接:有两个选项:_self在当前页面打开,_blank在新的界面打开;

但是注意:超链接文字默认是带有下划线的蓝色字体的,所以要想要修改可以通过color和text-decoration即可

5)视频标签

属性:

6)音频标签

 7)文本处理标签

浏览器解析文本的时候并不会通过编辑器里面的换行达到换行效果,而是一个标签<br>,文本也会经常用到这个段落标签<p>,还有两个文本加粗的标签,一个是<b>一个是<strong>后者具有强调的语义

8)两个标签

 9)表格标签

10)表单标签

<form>

 11)表单项标签

如果没有对method属性进行规定的话,那么就是将它们直接提交到html后面加一个?再加数据;也就是get参数,所以说由于网框有限制,所以说这个参数方法是有限制的,但是,如果是 post参数的话,那么表单数据是在请求体或者消息体中传递的;参数大小无限制;注意:表单项必须有name属性,否则是没办法提交的

CSS:层叠样式表

引入方式:

行内样式:直接在标签中通过style属性来指定样式(<h1 style="color: red;">焦点访谈:中国底气 新思想夯实大国粮仓</h1>)

内嵌样式:编写style标签,通过选择器对某个组件都有效;可以写在页面内任何位置,但通常约定写在head标签中;

h1{color: red;}

外联样式:写在一个单独的.css文件中(需要通过link标签在网页中引入) <link rel="stylesheet" href="./css/news.css">    href这个指的是引入的css的urlye'jiu'sh

颜色小tips:

用颜色的话除了用纯色还可以用rgb3配色,还可以用十六进制,但是两个的表达方式不一样:

rgb:

 color:rgb(219, 239, 250);

十六进制:

color: #DBEFFA;

没有语义的标签:

span标签:可以在一行同一类型的字包裹起来,可以在一行使用多个标签

CSS选择器:

元素选择器:根据标签的名字来选择标签的样式;

<style>h1{color: #007ACC;}</style>

id选择器:为标签使用id属性,通过id来选择要哦,id在页面当中不能重复;

#mark{color: #007ACC;}

类选择器:为标签设置class属性,class属性是可以重复的

但是如果这几个同时存在的时候,优先级只是这样的:行内样式>id选择器>类选择器>标签(元素)选择器;

style的属性:

color:设置文字颜色

font-size:设置文字大小;

 color: #007ACC;
font-size: 13px;

text-decoration:修改文本修饰,包括下划线等

text-decoration: none;

text-indent:段落首行缩进值

line-height:设置行高

text-align:指定文本的对齐方式

盒子模型:

外边距指定上右下左四个值,但是也可以指定两个值,第一个表示上下,第二个表示左右;然后还有一个属性是auto表示计算机自动计算外边距;但是如果只需要设置一个方向的话就可以在要设置的属性后面加上一个-方位,比如要设置左边的外边距,就这样写margin-left 

JavaScript:

跨平台,面向对象的脚本语言;可以直接经过浏览器解释就可以运行了(注意,js每行分号结尾的注释可有可无)

引入方式:

内部脚本:

<script>alert('hello JS');</script>
外部脚本:

 <script src="./js/demo.js"></script>

基础语法:

输出语句:

变量:

 注意:var定义的变量作用域比较大,属于全局变量,可以重复定义,但是let不能重复定义

  数据类型:

 

 但是如果使用typeof来测试运算符,测得的null不是null类型,这是早期沿用的错误,现在被认为null是对象的占位符;

运算符:

==会进行类型转换,===不会进行类型转换

 类型转化:

 

 注意:在自动类型转换成数字的时候,碰到不是数字的就停止转换,如果刚开始就不是数字,那么转换为NaN;

函数:

JS里面的函数通过function关键字来定义(注意,JS函数声明没用参数类型和返回值类型,可以传递任意个数的参数,哪怕没有对应到生命的参数类型个数):两种定义方法:

 l

 基础对象:

Array:

数组的定义:

 注意:JS中的数组是变长的,可以储存任意类型的数据;

 数组的方法:

 

 简化后:

 删除元素:

 String:

声明:

 方法:

 JSON:

是通过对象标记法书写的文本;语法简单,层次鲜明,多用于作为数据载体,在网络中进行数据传输。

JS自定义对象:

注意,一定要将定义的变量类型明确,不然就会导致JS不报错,但是不会有结果,如上图的male如果没有双引号,就不会有正确的结果;如果在对象内定义的函数,function是可以从省略的,可以简化成这样:

 JSON定义:

方法: 

 var jsonstr='{"name":"Tom","age":18,"addr":["北极","南极"]}';
//对象化var obj=JSON.parse(jsonstr);alert(obj.name);
//JSON格式化alert(JSON.stringify(obj));

浏览器对象模型:

主要介绍两个对象:

Window:

 简单介绍一下:

confirm方法:一个参数,里面装的是确定取消消息的文本框的内容;

 var flag=confirm("你确定删除该记录吗");

setInterval方法:有两个参数,一个是执行的方法,另一个是隔多少时间(毫秒)执行一次:

var i=0;
setInterval(function()
{
console.log("你好呀+i");
i++;
},2000);

setTimeout方法:有两个参数,和上面不一样的是,这个只是执行一次,相当于这个就是执行到这段代码后延迟多久执行这里面的函数代码;而上面的则是重复周期式的去执行; 这个参数和上面是一样的;

location:

地址栏对象

文档对象模型:

基本概念了解:

 实战操作:

要求:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>JS对象-DOM-案例</title>
</head>
<body><img id ="h1" src="img/1.png"><br><br><div class="cls">小饺子</div><br><div class="cls">小麻子</div> <br><input type="checkbox" name="hobby">电影<input type="checkbox" name="hobby">旅游<input type="checkbox" name="hobby">游戏
</body>
<script>//点亮灯泡var img=document.getElementById('h1');alert("haha");img.src="./img/2.png";//将所有的div标签的后面内容加上红色字体的very goodvar divs=document.getElementsByTagName('div');for (let i = 0; i < divs.length; i++) {const element = divs[i];element.innerHTML+="<font color='red'>very good</font>";}//是所有的复选框都呈现出选中状态var ins=document.getElementsByName('hobby');for (let i = 0; i < ins.length; i++) {const element = ins [i];element.checked=true;}
</script>
</html>

 总结:JS的代码如果后面错了可能会导致前面也运行不了,所以要注意;刚刚我在这段代码里面写了一个这个语句:

 element.innerHTML+="<font color='red'>very good</font>";

但是最外面没有写双引号,以至于一整个JS代码都没有生效QAQ;

事件监听:

事件监听的两种方式:

常见事件:
实战操作-事件监听 :

总结:写这个的时候虽然var是全局变量,但是这个里面我这样写是不对的:

<script>function on(){var img=document.getElementById("light");img.src="img/2.png";}function off(){img.src="img/1.png";}
</script>

要这么写熄灯才会正常运行:

<script>function on(){var img=document.getElementById("light");img.src="img/2.png";}function off(){var img=document.getElementById("light");img.src="img/1.png";}
</script>

最后完成的代码是这样的:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>事件监听-小灯泡升级</title>
</head>
<body><img src="img/1.png" id="light" ><br><input type="button" value="点亮" onclick="on()"><input type="button" value="熄灭" onclick="off()"><br><br><input type="text" id="name" value="ITCAST" onfocus="lower()" onblur="upper()"><br><br><input type="checkbox" name="hobby">电影<input type="checkbox" name="hobby">游戏<input type="checkbox" name="hobby">旅游<br><input type="button" value="全选" onclick="checkAll()"><input type="button" value="反选" onclick="reverse()">
</body>
<script>function on(){var img=document.getElementById("light");img.src="img/2.png";}function off(){var img=document.getElementById("light");img.src="img/1.png";}function lower(){var input=document.getElementById("name");input.value= input.value.toLowerCase();}function upper(){ var input=document.getElementById("name");input.value= input.value.toUpperCase();}function checkAll(){var hobbies=document.getElementsByName("hobby");for (let i = 0; i < hobbies.length; i++) {const element = hobbies[i];element.checked=true;}}function reverse(){var hobbies=document.getElementsByName("hobby");for (let i = 0; i < hobbies.length; i++) {const element = hobbies[i];element.checked=false;}}
</script>
</html>

好久都没敲代码的,在家和快要放假这段时间几乎没学,哎,要上点心灵鸡汤了:

我始终相信 ,走过平湖烟雨岁月山河 ,那些历尽劫数尝遍人间百味的人 ,会更加生动而干净

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/103561.html

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

相关文章

leetcode 118.杨辉三角

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;https://leetcode.cn/problems/pascals-triangle/description/ 代码&#xff1a; class Solution { public:vector<vector<int>> generate(int numRows) {// 先开空间vector<vector<int>> v;v.…

【数据结构】C语言实现栈(详细解读)

前言: &#x1f4a5;&#x1f388;个人主页:​​​​​​Dream_Chaser&#xff5e; &#x1f388;&#x1f4a5; ✨✨专栏:http://t.csdn.cn/oXkBa ⛳⛳本篇内容:c语言数据结构--C语言实现栈 目录 什么是栈 栈的概念及结构 实现栈的方式 链表的优缺点: 顺序表的优缺点: 栈…

AI创作助手:介绍 TensorFlow 的基本概念和使用场景

目录 背景 环境测试 入门示例 背景 TensorFlow 是一个强大的开源框架&#xff0c;用于实现深度学习和人工智能模型。它最初由 Google 开发&#xff0c;现在已经成为广泛使用的机器学习框架之一。 TensorFlow 简单来说就是一个用于创建和运行机器学习模型的库。它的核心概念…

2023年骨传导耳机推荐,一文读懂骨传导运动耳机哪个牌子好!

这几年&#xff0c;耳机圈开始流行起骨传导耳机&#xff0c;这种耳机通过贴合耳道附近的颌骨通过振动传递声音到听觉神经&#xff0c;相比较入耳式耳机来说&#xff0c;更有利于耳道卫生&#xff0c;而且在听歌同时可保持对环境声的感知&#xff0c;深受不少运动达人的喜爱。我…

LVS之keepalived

1、keepalived 概述 总结&#xff1a;Keepalived 软件就是通过VRRP协议来实现高可用功能。 应用场景&#xff1a;企业应用中&#xff0c;单台服务器承担应用存在单点故障的危险 单点故障一旦发生&#xff0c;企业服务将发生中断&#xff0c;造成极大的危害 VRRP通信原理&…

【Rust】Rust学习 第十六章无畏并发

安全且高效的处理并发编程是 Rust 的另一个主要目标。并发编程&#xff08;Concurrent programming&#xff09;&#xff0c;代表程序的不同部分相互独立的执行&#xff0c;而 并行编程&#xff08;parallel programming&#xff09;代表程序不同部分于同时执行&#xff0c;这两…

iOS逆向初探:揭开iOS App的神秘面纱

逆向是一种分析和还原应用程序的过程&#xff0c;它能够揭示应用程序内部的工作原理和代码结构。接下来我们将全面介绍iOS上的逆向&#xff0c;包括其概念、常用工具和具体实例。 1. 什么是iOS逆向&#xff1f; iOS平台逆向是将应用程序的二进制代码&#xff08;通常是经过编…

使用PyMuPDF添加PDF水印

使用Python添加PDF水印的博客文章。 C:\pythoncode\new\pdfwatermark.py 使用Python在PDF中添加水印 在日常工作中&#xff0c;我们经常需要对PDF文件进行处理。其中一项常见的需求是向PDF文件添加水印&#xff0c;以保护文件的版权或标识文件的来源。本文将介绍如何使用Py…

反向传播求变量导数

反向传播求变量导数 1. 相关习题2. 推导流程2.1 相关公式2.3 变量导数求解 3. 代码实现3.1 参数对应3.2 代码实现 以前只知道反向传播通过链式法则实现今天看书发现图片上求出来的值自己算不出来所以自己算了一下&#xff0c;记录一下&#xff0c;并运行了书中的代码相关书籍&a…

第一讲使用IDEA创建Java工程——HelloWorld

一、前言导读 为了能够让初学者更快上手Java,不会像其他书籍或者视频一样,介绍一大堆历史背景,默认大家已经知道Java这么编程语言了。本专栏只会讲解干货,直接从HelloWord入手,慢慢由浅入深,讲个各个知识点,这些知识点也是目前工作中项目使用的,而不是讲一些老的知识点…

java学习004

常用数据结构对应 php中常用的数据结构是Array数组&#xff0c;相对的在java开发中常用的数据结构是ArrayList和HashMap&#xff0c;它们可以看成是array的拆分&#xff0c;一种简单的对应关系为 PHPJAVAArray: array(1,2,3)ArrayListlArray: array(“name” > “jack”,“…

OpenEuler华为欧拉系统安装

OpenEuler华为欧拉系统安装 一、OpenEuler简介1、OpenEuler概述2、OpenEuler特性 二、OpenEuler部署安装1、安装前配置2、安装引导3、选择语言4、安装信息摘要 三、欧拉系统安装图形化界面1、需要在超级管理员&#xff0c;在root权限下操作2、启动图形化界面 四、手动安装VMwar…

系统报错mfc100u.dll丢失的解决方法(完美解决dll问题)

系统文件mfc100u.dll丢失和出错&#xff0c;极有可能是盗号木马、流氓软件等恶意程序所导致&#xff0c;其感染相关文件并加载起来&#xff0c;一旦杀毒软件删除被感染的文件&#xff0c;就会导致相关组件缺失&#xff0c;游戏等常用软件运行不起来&#xff0c;且提示“无法启动…

验证码识别DLL ,滑块识别SDK,OCR图片转文字,机器视觉找物品

验证码识别DLL ,滑块识别SDK 你们用过哪些OCR提取文字&#xff0c;识图DLL&#xff0c;比如Opencv,Labview机器视觉找物品之类&#xff1f;

共创无线物联网数字化新模式|协创数据×企企通采购与供应链管理平台项目成功上线

近日&#xff0c;全球无线物联网领先者『协创数据技术股份有限公司』&#xff08;以下简称“协创数据”&#xff09;SRM采购与供应链项目全面上线&#xff0c;并于近日与企企通召开成功召开项目上线总结会。 基于双方资源和优势&#xff0c;共同打造了物联网特色的数字化采购供…

连接pgsql数据库 sslmode sslrootcert sslkey sslcert 参数的作用

sslmode 参数的作用 sslmode 参数用于指定数据库连接时使用的 SSL 加密模式。SSL&#xff08;Secure Sockets Layer&#xff09;是一种加密协议&#xff0c;用于保护数据在客户端和服务器之间的传输过程&#xff0c;以增加数据传输的安全性。sslmode 参数可以设置不同的值&…

leetcode刷题之283:移动零

问题 实现思路 首先, 将dest指向-1 位置, cur指向下标为0 的位置, 在cur遍历的过程中: 1) 遇到非零元素则与下标dest1 位置的元素交换, 2) 若遇到零元素则只继续cur遍历. 下标为1 的位置上是 非零元素 执行1) 交换得到右图结果 随后cur 得到下图结果 下标为2 的位置上是零…

工程师使用IT服务台软件可以解决哪些问题?

现如今企业数字化建设已初具规模&#xff0c;业务系统基本已告一段落&#xff0c;而下一步关注的重点则从技术转向管理&#xff0c;如何能让这些系统更好运行起来&#xff0c;如何提高管理效率已是重中之重。在此向您推荐一款高效的IT服务管理工具——ServiceDesk Plus&#xf…

GEEMAP 基本操作(一)如何拉伸图像

图像拉伸是最基础的图像增强显示处理方法&#xff0c;主要用来改善图像显示的对比度&#xff0c;地物提取流程中往往首先要对图像进行拉伸处理。图像拉伸主要有三种方式&#xff1a;线性拉伸、直方图均衡化拉伸和直方图归一化拉伸。 GEE 中使用 .sldStyle() 的方法来进行图像的…

Docker容器学习:部署安装Docker基础使用

目录 1、安装Docker-CE 1&#xff09;参考阿里云的yum安装 2&#xff09;二进制安装docker&#xff08;推荐、生产环境使用较多&#xff09; 3&#xff09;配置Docker镜像加速 2、下载系统镜像&#xff08;Ubuntu、 centos&#xff09; 1&#xff09;先查看我们所需的镜像…