JavaWeb总结(常见笔面试题)
Http
1.网络编程要解决的两个主要问题
(1)如何准确的定位网络上的一台或者多台主机
(2)找到主机后如何可靠的进行有效的数据传输
2.IP负责网络主机的定位
TCP提供可靠的或是非可靠的数据传输机制
3.OSI七层模型
物理层-数据链路层-网络层-传输层-会话层-表示层-应用层
TCP/IP模型
网络接口层-网络层-传输层-应用层
4.OSI各层使用的协议
(1)应用层:HTTP-超文本传输协议
(2)传输层:TCP、UDP协议
TCP:面向连接的可靠的协议,比UDP多了一个建立连接的时间
UDP:无连接不可靠协议,有大小限制,64KB以内,传输效率高
5.端口号用来识别计算机上的应用程序,http使用的80端口
6.Http是一个基于请求/响应模式的,无状态的协议
7.Http请求由三部分组成:请求头,消息报头,请求正文
8.Http请求方法:GET、POST
9.Http响应:状态行,消息报头,响应正文
10.状态码
1XX:指示信息-表示请求已经接收,继续处理
2XX:成功-表示请求已经被成功接收,理解
3XX:重定向-要完成必须进行进一步操作
4XX:客户端错误-请求无法实现或请求语句错误
5XX:服务端错误-服务器未能实现合法请求
200:OK-客户端请求成功
301:资源(网页等)被永久转移到其它URL
302:临时移动,(重定向)
400:客户端请求有语法错误,不能被服务器所理解
401:请求未经授权
403:接收到请求但是拒绝服务
404:请求资源不存在
500:服务器发生了不可预期的错误
503:服务器当前不能处理客户端请求,一段时间之后可能恢复正常
补充
1.Http的长连接和短连接
Http1.1默认保持长连接,数据完成传输后TCP连接不断开
Http1.0默认保持短连接,每进行一次Http操作,就建立一次操作
2.Http1.0和Http1.1的区别
(1)Http1.1支持长连接
(2)Http1.1增加了host字段
(3)HTTP/1.1 加入了一个新的状态码 100(Continue)
3.get和post的区别
(1)get请求的数据会附在URL之后,即HTTP协议头中,以?分割URL和传输数据,参数之间以&相连post把提交的数据放在Http包的包体中
(2)get方式请求有大小限制(1024),post没有
(3)post的安全性比get高
4.Http中重定向和请求转发的区别
(1)重定向是客户端行为,请求转发是服务端行为
(2)重定向:两次请求两次响应,浏览器地址发生变化,可以访问自己web之外的资源,传输的数据会丢失
请求转发:一次请求一次响应,浏览器地址不会发生变化,访问的是自己本身的web资源,传输数据不会丢失
Servlet
1.Servlet的框架的核心是javax.servlet.Servlet的接口
2.Servlet接口的五个方法
(1)init()方法:初始化servlet对象
(2)service()方法:用于响应客户的请求
(3)destroy()方法:当servlet对象退出生命周期时,负责释放占用的资源
3.如何编写一个Servlet
(1)编写一个普通类,实现servlet接口,或者继承HttpServlet
(2)编写web.xml文件
4.ServletRequest接口
封装了客户请求信息,HttpServletRequest是ServletRequest的实现类
5.ServletResponse接口
该接口为Servlet提供了返回响应结果的方法
6.Servlet的生命周期
三个阶段:初始化阶段、响应客户阶段、终止阶段
对应的三个方法:init()(只会调用一次)、service(),destroy()
7.ServletContext
当Servlet容器启动Web应用时,并为每个Web应用创建唯一一个ServletContext对象,可以将其理解为一个Web应用服务器端组件的共享内存
setAttribute(String name,Object object)把一个对象和一个属性名绑定,存储在ServletContext中
8.Servlet多线程问题
最佳的解决办法是:去除实例变量,使用局部变量
Jsp
1.Jsp(Java service page)是用于开发动态web资源的技术
2. Jsp执行过程
用户-请求-查找对应的Jsp-是否存在-是-是否第一次调用或者修改过jsp-是-调用jsp解析引擎-将jsp编译为.class文件
否-字节码文件-执行字节码文件
3.Jsp语法:
(1)编译器指令
(2)脚本语法
(3)动作语法
4.脚本语法
<!--注释(非开发人员可见)-->
<%--注释(非开发人员不可见)--%>
5.Jsp内置了9个对象
(1)request
(2)response
(3)out
(4)pageContext
(5)session
(6)Application
(7)config
(8)page
(9)exception
6.用户登录信息,需要保存在session中
7.Servlet为session创建标识符,称为SessionID,Servlet容器把Session作为Cookie保存在客户浏览器中
8.Cookie是用户访问Web服务器时,服务器在硬盘上存放的信息。服务器可以根据Cookie来跟踪用户,用来获取用户之前的访问状态,一个cookie包含键值对的方式
9.Servlet过滤器负责过滤的Web组件可以是Servlet、jsp或者Html文件
10.所有的Servlet过滤器都必须实现javax.servlet.Filter接口,含有三个必须实现的的方法:init()-初始化、doFilter()-完成实际过滤操作、destroy()-释放占用资源
11.Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作
12.El表达式-替换掉Jsp页面中大量的Java代码
13.El提供“.”和“[]”来获取数据
${sessionScope.user.name} ${sessionScope.user[“name”]}
14.EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。
15.获得当前Web应用的名字
${pageContext.request.contextPath}
16.JSTL是Jsp的标准标签库
<c:out> value defult<c:set> value var scope<c:if> text scope<c:choose>,<c:when>(text),<c:otherwise><c:foreach> var item="${str}"
补充
1.Cookie和session的区别
(1)cookie是用户访问Web浏览器时,服务器在硬盘上存放的信息, session是存放在web服务器端的一块信息
(2)无论客户端怎样设置,session都可以正常工作,当客户端禁用cookie时无法使用cookie
(3)session可以存储任意java对象,cookie只能存储String类型的对象
2.Jsp和Servlet的区别
(1)jsp是html页面中内嵌Java代码,侧重于页面展示
(2)Servlet是html和Java代码分离,侧重于逻辑控制
HTML
1.HTML超文本标记语言
2.一个HTML页面包含四部分:<html>元素、<head>头部元素、<body>主体元素、<title>标 题元素
3.常用标签
(1)自闭合 <br/><hr/>(水平分割线)
(2)有开始有结束
<p></p> 段落
<a><a>超链接 <a href="javascript:void(0);"οnclick="alert('我是超链接')">取消默认的事件</a>
CSS
4.CSS样式表类别-主要是用来为网页中的元素进行格式设置以及进行网页排版和风格设计
内嵌样式表、内部样式表、外部样式表
5.CSS选择器:HTML选择器、类选择器、ID选择器
JavaScript
1.Java和JavaScript的区别
(1)Js是基于对象的,Java是面向对象的
(2)Js是动态语言,Java不是动态语言
(3)Js是解释性语言,Java是编译性语言
2.声明变量用var
3.Js中数据类型分为原始数据类型和对象类型
原始数据类型包括数字,字符串,boolear,和null、undefined(任何未被赋值的变量都是这个类型。)
4.javascript 消息框
(1)警告框 alert("文本")
(2)确认框 confirm("文本")
(3)提示框 prompt("文本")
5.数组和字符串的长度都是使用length属性
6.事件
(1)onbulr 失去焦点
(2)onchange 值域发生改变触发事件
(3)onclick 鼠标点击事件
(4)onfocus 获得焦点事件
(5)onkeydown 键盘按下事件
7.什么是javaScript
是客户端和服务器的脚本语言,是基于对象的解释性语言
8.XML的用途
(1)存储数据 (2)分离数据 (3)交换数据 (4)共享数据
9.DTD和scheme:定义语法规则
10.DOM的四个基本接口:Document、Node、NodeList、NamedNodeMap
11.什么是xml,使用xml的优缺点,xml的解析器有哪几种,分别有什么区别?
Xml是一种可拓展标记语言,支持自定义标签,使用DTD和Scheme标准化Xml的结构
优点:用于配置文件,格式统一,复合标准
缺点:数据传输需要流量
解析器有两种:DOM和SAX,其中,使用DOM解析,xml文档以DOM树形结构载入内存,而SAX采用的是事件模型
AJAX
1.异步的JavaScript和Xml的缩写
2.MIME是描述消息内容类型的因特网标准
3.Document对象:每个载入浏览器的HTML都会成为Document对象
4.AJAX的核心是JavaScript和XMLHttpRequest
5.Ajax 的最大特点:
可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度
JQuery
1.js中的onload事件是等页面结构即:dom元素对象加载完后,还有其他的图片、音频信息等二次请求信息加载完成后进行触发,而jQuery中的ready()方法是在页面结构加载完成后,即dom元素加载完成后就进行触发。
JavaWeb总结(常见笔面试题)相关推荐
- Python常见笔/面试题
文章目录 迭代器和生成器的区别 如何提高python 的运行效率 python 如何进行内存管理 Python语言的特点 python数据类型 python字符串格式化方法 type 和isinsta ...
- 大厂常见笔试题 滑动窗口内数的和
大厂常见笔试题,我以为出一个很难的题,结果出了一个基础题, 给你一个大小为n的整型数组和一个大小为k的滑动窗口,将滑动窗口从头移到尾,输出从开始到结束每一个时刻滑动窗口内的数的和. 样例 对于数组 [ ...
- java字符串笔试题_五道Java常见笔试题及答案汇总
1.String和StringBuffer的区别? 答:Java平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数 ...
- mysql @ $_mysql常见笔试题
一.Mysql常见笔试题 1.Mysql 中有哪几种锁? (1)表级锁:开销小,加锁快.不会出现死锁,锁定粒度大,发生锁冲突的概率高,并发度低. (2)行级锁:开销大,加锁慢.会出现死锁,锁定粒度小, ...
- 嵌入式linux工程师 考试,嵌入式Linux工程师常见笔试题.doc
嵌入式Linux工程师常见笔试题.doc 这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的. 从 ...
- C语言一般考点笔试,c语言常见笔试题及答案
c语言常见笔试题及答案 c语言常见笔试题总结c语言笔试题(九) 2006-09-06 Tag: C语言 1. #include "stdio.h" int main() {int ...
- 【Mysql笔试】-常见笔试题汇总
Mysql常见笔试题汇总 基础知识 排序的规则? 函数的分类?经常使用的函数? 分组查询注意条件? limit使用方法? 创建表时有什么约束条件? mysql常见数据类型? 增加删除修改表结构 常见约 ...
- c语言中void f1(),c语言常见笔试题f1ryiedy.doc
c语言常见笔试题f1ryiedy c语言常见笔试题总结 [1 使用宏] 1.1 #ifdef NDEBUG #define TRACE(S) S #else #define TRACE(S) prin ...
- 常见笔试题:根据值对字典进行排列。
常见笔试题:根据值对字典进行排列. 网上的写法是使用lambda表达式: date = {'a':1,'b':3,'c':4,'d':2,'e':5}date = sorted(date.items( ...
最新文章
- docker对aufs触发的bug
- PHP高级应用视频教程大全学习
- 好文推荐 | 缓存与数据库一致性问题深度剖析 (修订)
- 解决Ubuntu14.04在外接显示器不能指定问题的最佳分辨率
- sfs2x 连接 mongodb
- java接收并存储文件_客户端读取本地文件的数据,发送到服务器,服务器接收并存储到文件中...
- windows azure mysql data disk_调整Azure中虚拟机数据磁盘大小实践
- Eclipse JaveEE版本
- 零基础小白入行3D建模,首先!你要了解什么叫建模!
- 【解决】jsPDF之长图片生成PDF(分页,失真)
- Python调用百度API实现语音识别
- 《网格交易法数学+传统智慧战胜华尔街》内容介绍及PDF下载
- 禁止浏览器对页面进行缩放
- nbu客户端卸载_卸载NETBACKUP FOR LINUX
- 前端程序媛浅总结的工作中能用到“软技能”
- 笔试题-搜狐手机网Python开发工程师
- 计算机专业大二寒假还没入门,关于考研的入门问题我是一个大二的
- BCG Application Management
- 免费OA办公系统如何获得企业的信赖?
- 电商的转折——真正的垂直电商
热门文章
- 分布式之什么是CAP定理
- win10计算机系统慢,win10系统电脑运行速度慢的解决方法
- AE中文版 AE2021中文版下载 AfterEffects2021中文版ACR14.0最新下载和安装
- LeetCode刷题 多线程编程九则 | 1188. 设计有限阻塞队列 1242. 多线程网页爬虫 1279. 红绿灯路口
- 盛世达医疗奥林巴斯OLYMPUS 内镜主流型号
- mysql数据库数据录入报错问题
- 向数据库写入数据被自动截取的问题
- riscv-gnu-toolchain工具链下载安装(unbentu)
- SIGIR 2021 Self-supervised Graph Learning for Recommendation文献笔记
- 计算机硕士全国联考英语考试,在职攻读硕士学位全国联考英语考试大纲有这五大内容需要注意...