2021.0827 快手摸底(四)web

1,MySQl三层结构?存储结构?

  • MySQL三层结构
    <1>连接层:为请求做连接处理,授权认证、安全。
    <2>SQL层:大多数MySQL的核心功能都在这一层,包括查询解析、分析、优化、缓存、内置函数,所有跨域存储引擎的功能都在这一层实现。
    <3>存储层:负责MySQL中数据的存储和提取。

2,三层架构和MVC?

  • 三层架构
    <1>表示层(web):用户看到的界面,用户可以界面上的组件和服务器进行交互。
    <2>业务逻辑层Service):处理业务逻辑,比如在调用、访问数据库之前,先处理、判断数据。
    <3>数据访问层(Dao):直接操作数据库,如针对数据的增删改查等。

  • MVC
    <1>Model:模型,负责各个功能的实现。
    <2>View:负责页面的显示,和用户交互。
    <3>Controller:调度功能。接收请求,将请求发送给模型进行处理;模型处理完成后,又将结果返回给视图中的请求处。

  • 三层架构和MVC的区别
    <1>三层架构是为了解决整个应用程序操作过程的代码封装问题,将数据和业务分开,使得开发人员专注于某阶段的业务逻辑。
    MVC 是在应用程序视图层划分出来的不同功能的模块,把展示界面的HTML页面尽可能与业务代码分离
    在这里插入图片描述

  • MVC的优点
    使用javascript来实现视图,servelt来实现controller,java类来实现model,将代码进行分离,方便扩展。

  • MVC的缺点
    ① 对于简单的系统,严格遵循MVC,使视图、控制器、模型分离,会增加结构复杂性和代码量。
    ② 视图与控制器是相互分离但是联系紧密,视图没有控制器的存在,其功能有限,反之亦然。因为视图要通过控制器去访问模型中的数据,没有控制器,视图无法访问模型。

  • 从多态的角度分析MVC:模型并不关心处理数据是如何访问处理的,只是按照条件分发请求,就像父类引用可以指向各种子类对象,在编译期间并不知道具体类型是哪一种,运行期间才确定。

3,Ajax是什么?

  • 定义
    Asychronous Javascrip And XML-----异步Javascrip和XML,并不是一种新的编程语言,仅仅组合了浏览器内建的XMLHttpRequest对象(从web服务器请求数据)+Javascrip+HTML
    异步:向服务器发送请求的时候,我们不必等待结果,而是可以同时做其他事情,等有结果之后再处理。
  • 作用
    在浏览器和后台直接异步传输数据局部刷新界面。这意味着可以更新网页的部分,而不用重新加载整个界面。
    在这里插入图片描述

4,POST和GET方法有什么区别?

<1>参数的传输渠道不同:GET参数直接暴露在URL上,不安全;POST放在Request body中,也可以使用URL类请求,但参数不会暴露出来。
<2>传输的数据量不同:GET方法由于收到URL长度的限制,传输数据长度有限;POST传输的数据量大些。
<3>GET方法在http头部传输,POST方法作为http请求的内容。

15,Apache和Tomcat的区别?

<1>Apache是web服务器(静态解析,如HTML); Tomcat是java服务器(动态解析,如jsp),只是一个servlet容器,是Apache的扩展。首选web服务器是Apache,但Apache解析不了的jsp、servlet才用Tomcat。
<2>Apache是C语言编写,Tomcat是java语言编写。
<3>Apache 可以单向与Tomcat连接,也就是说可以通过Apache访问Tomcat资源,反之不然。
<4>使用Apache+Tomcat,Apache直接处理静态请求而不用经过Tomcat;对于动态请求,Apache只是作为一个转发,对JSP的处理是经过Tomcat来处理的,Apache回传解析好的静态代码,这样整合可以减少Tomcat的服务开销。

6,JSP和JS的区别?

  • JSP—JavaServer Pages Java服务器界面
    <1>组成: 在html文件中嵌入java脚本代码,JSP=html+java脚本+JSP标签。
    <2>功能:由服务器中的引擎来编译和执行嵌入的java脚本代码,.jsp—>.java—>.class,然后生成的页面信息返回给客户端,为用户提供动态数据。
    <3>和servlet的关系: servlet把一些业务功能剥离开交给了或者说形成了JSP,在项目编译的时候,把JSP翻译成立servlet,通俗地来说,JSP就是servlet
<!--表头-->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! int i = 10; %> <!-- 声明成员变量 -->
<%! public void show(){} %> <!-- 声明成员方法 -->
<% int i = 100; %><!--输出表达式-->
<%= "hello" %><!--程序代码-->
</body>
</html>
  • JS—JavaScrip
    <1> 定义:具有函数优先的轻量级的、解释型或者即时编译型的脚本语言,可以使静态HTML内容成为动态。
    <2> 功能:对浏览器事件做出响应。JS通常运行在前台,即运行于用户浏览器,通常步需要后台服务器的指出(AJAX除外),混合在HTML语言中的JS脚本程序直接被浏览器解释执行,以提高界面的美观性和UI操作响应速度为基本目标。
    <!--利用js提交请求-->
	<script type="text/javascript">
		function myRequest(id){
			console.log("myRequest调用成功");//测试函数是否调用成功
			//拿到输入框中的文章标题、内容
			var title = document.getElementById("title").value;
			var content = document.getElementById("content").value;
			var action = document.getElementById(id).getAttribute("value");
			if("返回"==action){
				window.location.href="http://localhost:8080/ArticleManage/login.html";
			}            
			console.log(title+content+action);//测试标题和内容是否拿到
			
			//1,构建一个XMLHttpRequest对象
			var xmlhr = new XMLHttpRequest();
			
			//2,构建一个请求   指定此请求的方法、url、是否异步(true Ajax异步请求)
			xmlhr.open("POST","http://localhost:8080/ArticleManage/Servlet?title="+title +"&content="+content+"&action="+action,true);
			//console.log("发送前");
			//3,发送请求
			xmlhr.send();
			//console.log("发送后");
			//4,请求成功  每调用一次myRequest函数都构建一个请求 调用一次此函数 
			//在输出框显示查找到的文章标题及内容  
			xmlhr.onreadystatechange = function(){
				if(xmlhr.readyState==4 && xmlhr.status==200){
					console.log("接收到了后台消息");
					var text = xmlhr.responseText;
					//console.log(text);
					document.getElementById("output").innerText=text;
				}
				else{
					document.getElementById("output").innerText=xmlhr.readyState+xmlhr.status;
				}
				
			}
			
		}
		
	</script>
  • JSP和JS不同点
    <1>运行位置不同:JSP是在服务端执行的,需要服务器上部署支持servlet的服务器程序;JS是在客户端执行的,需要浏览器支持JavaScript。
    <2>安全性:JSP(包括翻译后的servlet)是对外不可见的;JS可以download得到,对外可见。
    <3>JSP运行在后台服务器上,混合在HTML中的java程序用来控制HTML的动态生成,并且通常负责调用后台数据库中的数据,形成能够根据使用情况变化而变化的、具有丰富数据交互效果的页面。JS虽然可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,如访问数据库和图像处理。

7,Servlet是什么?

在JSP推出之前,用java语言编写的运行在服务器上的程序,主要功能是和浏览器交互,生成页面展示。
客户端发送请求到服务器端—>服务器将请求发送给servlet—>servlet生成响应并将其传给服务器—>服务器将响应传回给客户端。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值