JavaWeb

JavaWeb,第1张

Javaweb

WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。
Internet上供外界访问的Web资源分为:

1. 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
2. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

静态web资源开发技术:Html
常用动态web资源开发技术:JSP/Servlet、ASP、PHP等
在Java中,动态web资源开发技术统称为Javaweb。

以下图为b站尚硅谷学习javaweb截屏,侵权必删!


html HTML是什么?

HTML,全称“Hyper Text Markup Language(超文本标记语言)”,简单来说,网页就是用HTML语言制作的。HTML是一门描述性语言,是一门非常容易入门的语言。

从web1.0到web2.0,网页制作已经变为前端开发了。现在对于前端开发,你要学的不是什么“网页三剑客”,而是“HTML+CSS+JavaScript”;

2、前端技术核心元素的是HTML、CSS和JavaScript,但是我们还要学习一些Ajax、SEO知识;

3、前端技术只能开发静态网页,而进一步学习了后端技术,你能开发一个用户交互性更好、功能更加强大的网站;

常用标签

在学习html最开始的时候,最先学习的就是各种标签,然后结合起来做一个简单的表单。

form标签是表单标签

  • action属性设置提交的服务器地址

  • method属性设置提交的方式四get(默认) or post

表单提交的时候,数据没有发送给服务器的三种情况:

  • 1、表单项没有name属性

  • 2、单选,复选(下拉列表中的option标签)都需要添加value属性,以便发给服务器

  • 3、表单项不在提交的form标签中

ifrname标签

ifrname标签可以在页面上开辟一个小区域显示一个独立的页面

	

table标签(表格标签在开发中经常用到,增删改查就是在一个表格的基础上进行的)

    <table width="400" border="1">
    <caption>表格的标题caption>
    <col align="left"/>
    
    <thead>			表格头
    <tr>            tr 	行标签
    <th>表头th>    th	是表头标签
    tr>
    thead>
        
    <tbody>        表格体
    <tr>
    <td>内容td>   td 	是单元格标签
    tr>
    tbody>
        
    <tfoot>        表尾
    <tr>
    <td>脚注td>
    tr>
    tfoot>
    
    table>

border设置表格标签 width设置表格宽度,height设置表格高度,align设置表格相对于页面的对齐方式。

a 表示超链接标签

img是图片标签 (用来显示图片) src属性可以设置图片的路径

alt属性表示当指定路径找不到图片时,用来代替显示的文本内容

get和post请求

get请求的特点:

  • 浏览器地址栏中的地址:action属性【+?+请求参数】
  • 请求参数的格式:name=value&name=value
  • 不安全,并且由于数据长度的限制

post请求的特点:

  • 浏览器地址栏中只要action属性值
  • 相对于get请求更安全
  • 理论上没有数据长度的限制
相对路径和绝对路径

在JavaSE中路径也分为相对路径和绝对路径

相对路径:从工程名开始算

绝对路径:盘符:/目录/文件名

在web中路径也分为相对和绝对两种

相对路径:

. 表示当前文件所在的目录

… 表示当前文件所在的上一级目录

文件名 表示当前文件所在的目录的文件,相当于 ./文件名 ./可以省略

绝对路径:

		正确的格式:http://ip:port/工程名/资源路径

		错误格式:盘符:/目录/文件名
css

选择器:浏览器根据“选择器”决定css样式影响的html元素(标签)

属性(property)是你要改变的样式名,并且每一个属性都有一个值,属性和值被冒号分开,并由花括号包围,这样就组成了一个完整的样式声明(declaration),例如:p {color:blue}

多个声明:如果要定义不止一个声明,则需要用分号将每一个声明分开,虽然最后一条声明的最后不可有加分号(但是尽量在每条声明的末尾都加上分号)

html注释不可以放到css里面 css注释用/**/


上面这个图片将css代码写在html页面的缺点:

1、只能在同一页面内复用代码,不能在多个页面复用css代码

2、维护起来不方便,实际的项目中会有成千上万的页面,要到每一个页面中修改很难受。

一般在开发中将css样式写成一个单独的css文件,在通过link标签引入即可复用。

<link rel="stylesheet" type="text/css" href="./styles.css" />  

css常用样式

JavaScript

1、JavaScript语言主要是完成页面的数据验证,因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码,Js是弱类型,Java是强类型,js的语法不够严格。

特点:

1、交互性(它可以做的就是信息的动态交互)

2、安全性(不允许直接访问本地硬盘)

3、跨平台(只要是可以解释JS的浏览器都可以执行,和平台无关)

4、变量,JavaScript的变量类型:

数值类型:number

字符串类型:string

对象类型:object

布尔类型:boolean

函数类型:function

JavaScript里特殊的值:

undefined 未定义,所有js变量未赋予初始值的时候,默认值都是undefined

NAN 全称是:not a number 非数字,非数值。

js的定义变量格式:

var 变量名; var 变量名 = 值

js里用的函数

函数的定义方式:

var 函数名 = function(形参列表){ 函数体 }


js中的事件**

什么是事件?事件就是电脑输入设备与页面进行交互的响应,我们称之为事件。

常用的事件:

onload 加载完成事件 页面加载完成之后,常用语做页面js代码初始化 *** 作

onclick 单击事件 常用于按钮的点击响应 *** 作

onblur 失去焦点事件 常用于输入框失去焦点后验证其输入内容是否合法

onsubmit 表单提交事件 常用于表单提交,验证所有表单项是否合法

事件的注册又分为静态注册和动态注册两种:

什么是事件的注册(绑定)?

其实就是告诉浏览器,当事件响应后要执行那些 *** 作代码,叫事件注册和事件绑定

静态注册事件:通过html标签的事件直接赋予事件响应后的代码,这种方式我们叫静态注册

动态注册事件:是指通过js代码得到标签的dom对象,然后再通过dom对象.事件名 = function() { } 这种形式赋予事件响应后的代码,叫动态注册。

动态注册的基本步骤:

1、获取标签对象

2、标签对象.事件名 = function() { }


JavaScript事件对象

事件对象,是封装有触发的事件信息的一个JavaScript对象。

我们重点关心的是怎么拿到这个JavaScript的事件对象,以及使用。

如何获取JavaScript事件的对象?

在给元素绑定事件的时候,在事件的function( event) 参数列表中添加一个参数,这个参数名,我们习惯取名为event,这event就是javaScript传递事件处理函数的事件对象。

Document对象

documment 对象的理解
第一点:Document它管理了所有的html文档的内容。
第二点:document它是一种树结构的文档,有层级关系。
第三点:它让我们把所有的标签都 对象化。
第四点: 我们可以通过document访问所有的标签对象。

Document对象中的方法介绍***

document.getElementById(elementId)

通过标签的id属性查找标签dom对象,elementId是标签的id属性值

document.getElementByName(elementName)

通过标签的name属性查找标签的dom对象,elementName标签的name属性值

document.creatElement( tagName)

通过标签名查找标签dom对象,tagname是标签名

document.creatElement( tagName)

方法,通过给定的标签名,创建一个标签对象,tagName是要创建的标签名。

document对象有三个查询的方法,如果有id属性,优先使用getElement方法进行查询

如果没有id属性,则优先使用getElementsByName方法来进行查询

如果id属性和name属性都没有最后再按照标签名查getElementByTagName

以上三个方法,一定要在页面加载完成之后执行,才能查询到标签对象。

jQuery

引入jquery

常见问题?

1、使用jQuery一定要引入jQuery库吗?一定要

2、jQuery中的$到底是什么? 他是一个函数

3、怎么为按钮添加点击响应函数的?

使用jQuery查询到标签对象

使用标签对象.dick( function() { } )


如上图:

传入参数为:[html 字符串]时:

会对我们创建这个html标签对象

传入参数为:[选择器字符串]时:

${"#id属性值"}	id选择器,根据id查询标签对象

${"标签名"}        标签名选择器,根据指定的标签名查询标签对象

${".class"}			类型选择器,可以根据class属性查询标签对象
jQuery对象 dom对象

一、啥是jQuery对象?什么是dom对象?

Dom对象

1、通过getElementById()查询出来的标签对象是Dom对象

2、通过getElementByName()查询出来的标签对象是dom对象

3、通过getElementByTagName() 查询出来的标签对象是dom对象

4、通过creatElement() 方法创建的对象,是dom对象

jQuery对象

5、通过jQuery提供的API创建的对象,是jQuery对象

6、通过jQuery包装的Dom对象,也是jQuery对象

7、通过jQuery提供的API查询到的对象,是jQuery对象

二、jQuery对象的本质是什么?

jQuery对象是dom对象的数组 + jQuery提供的一系列功能函数。

jQuery对象和dom对象可以相互转换。

jQuery基本选择器

(类似前面css学过的选择器)

ID 选择器:根据id查找标签对象

.class 选择器:根据class查找标签对象

element 选择器:根据标签名查找标签对象

※ 选择器:表示任意,所有元素(body)

selector1,selector2 组合选择器:合并选择器1,选择器2的结果并返回

1、属性过滤器:

2、内容过滤器

Tomcat



servlet 1、什么是servlet?

1、servlet是Javaee规范之一,规范就是接口

2、servlet是JavaWeb三大组件之一,三大组件分别是:servlet程序,Filter过滤器,Listener监听器。

3、serlvet是运行在服务器上的一个java小程序,它可以接受客户发送过来的请求,并响应数据给客户端。

原理剖析:

浏览器发送一个Http请求,Http请求用web容器分配给特定的servlet进行处理,servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理Http请求,常见的就是dopost(),doget()方法,web容器包含了多个servlet,特定的http请求用哪个servlet来处理呢? 由web容器中web.xml来决定的。

实际开发中,使用继承HttpServlet类的方法实现servlet这个类,根据业务重写dopost(),doget()方法,然后写一大堆servlet,未来可以用springMVC来优化的。

web服务器习惯处理静态页面,所以需要一个程序来帮助处理动态请求,web服务器会将动态请求回传给帮助程序,返回处理后的静态结果给web服务器程序。

避免了web服务器处理动态页面,servlet本质是帮助程序,JSP的本质也就是servlet,web服务器把每一个访问的jsp文件先翻译成的对应的Servlet,在进行编译运行。

2,请求响应



servletContext类

1、servletContext是一个接口,它表示servlet上下文对象。

2、一个web工程,只有一个servletContext对象实例。

3、servletContext对象是一个域对象。

什么是域对象?

域对象,是可以像map一样存取数据的对象。

这里的域指的是存取数据的 *** 作范围。

Map put()存数据 get()取数据 remove() 删除数据

域对象 setAttibute() getAttribute() removeAttribute()

3,POST,GRT请求



4,请求重定向

JDBC

Java中的数据存储技术

JDBC直接访问数据库

JDO(Java Data Object)技术

第三方O/R工具,mybatis Hibernate等

Jdbc是java访问数据库的基石,mybatis Hibernate等只是更好的封装了Jdbc

druid数据库连接池

这个技术具体可以看这篇文章

druid数据库连接池

JSP

(百度百科)JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它 是由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准。

JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。

用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他 *** 作系统上运行。

jsp现在不怎么用了,了解即可

2、jsp的九大内置对象

request 请求对象

response 响应对象

pageContext jsp的上下文对象

session 会话对象

application servletContext对象

config servletConfig对象

out jsp输出流对象

page 指向当前的jsp对象

exception 异常对象

3、jsp的四大作用域

四个域分别是:

pageContext(PageContextImpl类) 当前jsp页面范围内有效

request(httpServletRequest) 一次请求内有效

session(httpSession类) 一个会话范围内有效(打开浏览器访问服务器,到关闭浏览器)

application(ServletContext) 整个web工程范围内都有效(只要web工程不停,数据都在)

域对象是可以像map一样存取数据的对象,四个域对象功能一样,不同的是它们对数据的存取范围。

虽然四个域对象可以存取数据,在使用上他们是有优先顺序的。

从小到大的范围:pageContext request session applcation

由于jsp翻译之后,底层源代码都是使用out进行输出,所以在一般情况上,我们在jsp页面统一使用out来进行输出,避免打乱页面输出的内容顺序。

out.write() 输出字符串没问题

out.print() 输出任意数据都没有问题。(都转换成为字符串后调用的write输出)


cookie

web中的三大概念:cookie session application

cookie的工作原理

客户端,当我们访问某个服务器网站时,服务器就会根据浏览器的编号生成一个cookie返回给客户端,客户端下次访问的时候回将自己的本地的cookie加上url访问地址来给服务器,服务器以此来辨别用户的状态。

进而实现免用户登录的功能

session

(HttpSesion)

session回话中用来保存用户登录的信息

Session是存放在服务器端,当浏览器第一次请求时,服务器自动生成一个session和一个sessionID来唯一标识这个session,并将前一个服务器响应中sessionID防在请求中一并发送到服务器中

服务器从请求中提取sessionID并与保存的作对比,进而来实现用户的免登录功能

session的客户端实现形式

使用cookie来保存

使用url+附加信息

页面表单里+隐藏域

Http是无状态的协议

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/796559.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-06
下一篇 2022-05-06

发表评论

登录后才能评论

评论列表(0条)

保存