Web前端基础知识整理

2021-09-19 20:22:22 浏览数 (1)

1、 前端基础知识

文件分类

XML(扩展标记语言)

装载有格式的数据信息,用于各个框架和技术的配置文件描述

特点:

扩展名为.xml

内容区分大小写

标签要成对出现,形成容器,只能有一个

标签按正确的嵌套顺序,只有一个根标签

标签属性的语法:属性名=”值”,写在头上,空格隔开

格式:

<?xml version="1.0" encoding="UTF-8"> - 首行

<class> ... </class> - 标签

<!--注释--> - 注释

<class num="1"> - 标签的属性

java解析xml的方式

1、SAX(Simple APT for XML) - 常用于移动设备Android

基于事件的逐行扫描文档,边扫描边解析,只在读时检查数据,不需要把全数据加载到内存中,对于大型文档解析有优势

2、DOM(Document Object Model) - 文档对象模型

数据全部存到内存中解析,速度快,dom4j组件方式解析常用

HTML(超文本标记语言)

扩展名为.html或.htm

内容不区分大小写

标签建议成对出现

嵌套顺序正确,一个根标签

标签具有固定含义: 可视化和功能性

2、JS(JavaScript)(Java脚本)

一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型

特点:

与html和css结合客户端的技术

能够动态修改html,css中的属性等内容,形成动态效果

解释型语言

区分大小写

弱类型的语言

格式:

window.onload=init; //自定义函数init

function init(){

document.getElementById("btn")

}

document.getElementById("btna").onclick=function () {

//按html元素id查找,将匿名函数与该元素的点击事件捆绑

var arr=new Array(4); //向数组插入数据

arr[0]="刘备"; //调用数组对象的方法

arr.push("张飞","关羽");//动态追加2个数组元素

var x=arr.pop();

console.log("length:" arr.length ",pop:" x); for(i=0;i<arr.length;i ){

console.log(arr[i]);

}

}

3、JSON(JS对象简谱)

JS对象标记,JavaScript Object Notation,可以当做字符串传输,能被java,python等多种语言处理,通用性高

格式:

json对象:

{key:value,key:value,key:value}

json数组:

{{key:value,key:value,key:value},{key:value,key:value,key:value}}

// 可以通过json对象的属性名获得相应的值

s['xage']=26;//修改xage的值为26

console.log(s['xname'] "," s2['tsex']); //打印对应值

for...in:遍历语句

//遍历json数组s[]

for(var i in s){

console.log("i:" i ",type:" typeof(i) "," s[i]);

JSON与字符串直接转换

java向js传输的是json格式的字符串,要转换成json对象才能被js使用

代码:

str=eval(str);//str是传来的字符串,转换后变为json对象

eval()//函数:将字符串按照表达式的形式转换为对应的具体类型

//如果传来的是'1 1'放入eval函数会转换成数值进行计算返回结果

4.、JSP(java server page)(Java服务器界面)

由servlet改编而成,用静态的html去嵌套jsp脚本,完成动态数据的显示

/src/main/webapp下创建.jsp文件

jsp运行的工作原理

编写.jsp文件

编写jsp代码:jsp元素 html/css/javascript

<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>//jsp抬头

在web容器部署运行时,首次运行jsp会将它翻译成类servlet源文件.java并编译.class

第一次jsp运行比较慢是因为要翻译成.java文件

web容器执行.class文件

jsp元素

jsp元素运行级别高于静态元素,如果出现相同属性仅执行jsp元素

jsp指令,指示页面执行动作属性

<%@指令名 属性=“值”…%>

page指令:规定整个页面的属性特征

language=”java” ,规定整个页面的编程语言

contentType=”text/html; charset=UTF-8”,规定当前页面基于html编写

isErrorPage=”true”,规定当前页面主要用于显示错误信息

include

taglib

小脚本

作为web服务器运行的java代码,相当于servlet的service()方法

<% java语句,结构或jsp内置元素 %>

如果想在jsp中写html部分,需要用<% %>将jsp语句隔开

jsp内置元素

全局声明

语法:<%! 全局属性或方法 %>

写在声明中的全局声明会当做类的属性/方法

写的脚本中的局部变量/方法会写入service方法中

jsp表达式

语法:<%=表达式%>

用于显示表达式的值页面

jsp注释

语法:<%–注释内容 --%>

不能在html客户端源码中查看

jsp动作标签

<jsp:标签名称 属性="值"></jsp:标签名称>

<jsp:include>//引入,动态导入

//1 在导入另一个JSP页面前,编译该jsp页面成html后静态导入

<jsp:include page="x1.jsp"></jsp:include>

<%@include%>//引入,静态导入

//2 相当于把另一个文件的全部代码粘贴到当前页面内,代码有上下顺序

<%@include file="x1.jsp" %>

<jsp:forward page="跳转的页面"></jsp:forward>

//3 转发动作,不会执行转发后脚本内的代码,最后默认写了return

5、jsp开发模式

Model分类

ModelI:jsp javaBean

MdoelII:jsp servlet javaBean,mvc

EL(expression language)

用于输出存储范围对象

语法: 表达式常量表达式,{2*5}

获取存储在jsp上下文四个存储范围中的对象,依次查找当前页面和三块存储区,可简化javaBean对象属性的获取

范围关键字${pageScope.x.sage}

pageScope

requestScope

sessionScope

applicationScope

判断空对象,empty,not empty

判断大小,ge,gt,le,lt

6.、jstl(jsp标准标签库语言)

目的是减少jsp上小脚本的数量,作为sun公司推出的jsp辅助技术

分类:

核心库:控制程序流程,存储变量的使用和输出

jstl sql库:直接在页面上使用sql语句

jstl fmt库:按指定形式格式化数值

使用:

maven中添加jstl依赖库

在jsp页面上通过<%@taglib%>指令引入jstl对应类型库

在jsp中使用具体的标签

案例:

输出控制

uri=依赖库,引入的是当前标签库的标识

prefix=前缀,代表在jsp中代码当前引入的标签库的标识

out标签:向页面输出

value:引用EL表达式将存储猚中的对象引出

escapeXml:默认true,表示输出内容有特殊字符也不识别直接打印出来

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>//写在首行

<%

String str="<h1>你好</h1>";

request.setAttribute("xw", str);

%>

${xw}

<hr>

<c:out value="${xw}" escapeXml="false"></c:out>

循环

var,表示当次循环对象的引用

items,使用EL表达式在四个存储范围加载集合对象

<c:forEach var="op" items="${ss }">

<tr>

<td>${pageScope.op.sname}</td>

<td>${op.sage}</td>

<td>${op.hobby}</td>

</tr>

</c:forEach>

以上就是Web前端基础知识整理的详细内容

0 人点赞