文章目录
- JavaWeb
- web前端注意点
- 1. HTML是什么意思?
- 2. 什么是HTML5?
- 3. 前端页面由哪三层构成,分别是什么?制作是什么?
- 4. CSS引入的方式有哪些?
- 5. '$(this)' 和 'this' 关键字在jQuery中有何不同?
- 6. jQuery中append() 和 appendTo() 方法的区别是什么?
- 7. 请描述'KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲p")' , '(".p")' , '("p")' 分别选择到什么对象集合?
- 8. JavaScript window.onload 事件和 jQuery ready 函数有何不同?
- 9. jQuery里的 each() 是什么函数?你是如何使用它的?
- Servlet:
- 1. Servlet生命周期
- 2. Servlet接口中有哪些方法
- 3. 什么时候调用doGet?什么时候调用doPost?
- 4. 页面间对象传递的方法
- 5. 什么是Servlet
- 6. 什么是HTTP协议
- 7. Web三要素
- 8. MVC各个部分都由哪些技术来实现?
- 9. B/S和C/S的区别?
- 10. URL是什么?
- 11. 什么是Servlet容器?
- 12. Servlet如何获得表单的参数?
- 13. JSP和Servlet异同?它们之间的联系是什么?
- 14. Servlet中的转发(Forward)和重定向(Redirect)有什么区别?
- 15. Cookie和Session的区别?
- 16. Session在服务器的存储器的存储时间是多少?
- 17. HTTP中get和post的区别
- 18. JSP有哪些内置对象?
- 19. JSP内置对象的四个作用域?
- 20. 如果要用JSP来开发一个聊天程序,不用数据库来存储聊天记录,请问聊天记录最好存在哪里?
- 21. JSP乱码如何解决?
- 22. Session和application的区别?
- 23. 什么是application对象?
- 24. 什么是JSP页面?
- 25. JSP技术优缺点?
- 26. 如何实现JSP或Servelet的单线程模式?
- 27. 过滤器有哪些作用和用法?
- 28. 监听器有哪些作用和用法?
- 29. web.xml文件中可以配置哪些内容?
- 30. 使用过的JSTL标签
- 31. 使用标签库有什么好处?如何自定JSP标签?
- 32. EL表达式的写法?作用?表达式语言(EL)支持哪些运算符?
- 33. JSP中的静态包含和动态包含有什么区别?
- jQuery部分
JavaWeb
web前端注意点
1. HTML是什么意思?
答案:超文本标记语言
2. 什么是HTML5?
答案:
- HTML5是最新的HTML标准
- HTML5文档定义为:
- 新增多媒体标签:video,audio
- 新标签:canvas,header,nav,footer等
3. 前端页面由哪三层构成,分别是什么?制作是什么?
答案:
- 结构层html用于定义网页布局和显示内容
- 表示层css对html进行美化和修饰
- 行为层js对html和css动态交互和控制
4. CSS引入的方式有哪些?
答案:外部,内部,内联
5. ‘$(this)’ 和 ‘this’ 关键字在jQuery中有何不同?
答案:
- '$(this)'返回值为当前jQuery对象,可以利用这个特点,实现连续的调用方法。
- this’ 代表当前元素,它是JavaScript关键词中的一个,表示上下文中的执行方法的当前对象,this不能调用jQuery
6. jQuery中append() 和 appendTo() 方法的区别是什么?
答案:
- 都被用来向元素内部追加内容
- append() : 向每个匹配的元素内部追加内容
- appendTo() : 把所有匹配的元素追加到另一个指定的元素集合中
7. 请描述’KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲p")' , '(".p")’ , ‘(“p”)’ 分别选择到什么对象集合?
答案:
- ‘$("#p")’ --------- #id id选择器,选择 ‘id’ 为 ‘p’ 唯一的元素
- ‘$(".p")’ ---------- .class 类选择器,选择 ‘class’ 包含 ‘p’ 的一组元素
- ‘(“p”)’ ---------- element 元素选择器,选择全部的 ‘p’ 元素
8. JavaScript window.onload 事件和 jQuery ready 函数有何不同?
答案:
- ‘window.onload’ 要等待 DOM被创建,还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。
- jQuery ‘$(document).ready()’ 函数只需对DOM树的等待,而无需对图像或对外部资源加载的等待,从而执行起来更快。
- 使用 jQuery ‘$(document).ready()’ 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在HTML页面里出现的顺序执行它们。
9. jQuery里的 each() 是什么函数?你是如何使用它的?
答案:
- each() 函数就像是Java里的一个 Iterator,它允许你遍历一个元素集合。
- 可以通过遍历数组或者一组jQuery选择的DOM对象。
Servlet:
1. Servlet生命周期
(Web容器)服务器启动并加载Servlet后,Servlet生命周期开始,容器运行init方法,请求到达时运行其service方法,请求到达,service方法自动派遣运行与请求对应的doGet或doPost方法,当服务器决定将实力销毁的时候调用其destroy方法。
2. Servlet接口中有哪些方法
Servlet接口定义了5个方法,其中前三个方法与Servlet生命周期相关
- void int(ServletConfig config) throws ServletException
- void service(ServletRequest req, ServletResponse resp) throws ServletException, java.io.IOException
- void destroy()
- java.lang.String getServletInfo()
- ServletConfig getServletConfig()
3. 什么时候调用doGet?什么时候调用doPost?
JSP页面中的form标签里的method属性为get时,调用doGet() ,为post时,调用doPost()方法
4. 页面间对象传递的方法
- Request
- Session
- Application
- Cookie
5. 什么是Servlet
Servlet就是处理服务器与客户端交互的一个组件,主要用于响应HTTP请求,一般在MVC中的C(controller)控制层
6. 什么是HTTP协议
是一种规范,规定了浏览器与服务器如何通信,已经通信的数据格式
7. Web三要素
浏览器,服务器,HTTP协议
8. MVC各个部分都由哪些技术来实现?
M是model简写,也就是业务逻辑层(通过JavaBean,EJB组件实现)
V是view简写,也就是应用的表面层(由jsp页面产生)
C是controller简写,也就是提供业务的处理流程控制(一般是一个Servlet)
通过这种设计模式把应用逻辑,处理过程,和显示逻辑分成不同的组件,这些组件交互和重用
9. B/S和C/S的区别?
B/S是浏览器与服务器,不安全,维护成本低,一般用于广域网
C/S是客户端与服务器,安全,维护成本高,一般用于局域网
10. URL是什么?
URL(uniform Resource Locator)统一资源定位符
唯一能识别Internet上具体的计算机,目标或文件夹的位置命名约定
组成4个部分:
- 协议部分:包括HTTP协议,stop协议,ftp协议,https协议等
- 主机地址:?连接,参数1 = 值&参数名2 = 值2
11. 什么是Servlet容器?
用来管理Servlet生命周期的应用程序(比如tomcat)
12. Servlet如何获得表单的参数?
通过request.getParamenter();
13. JSP和Servlet异同?它们之间的联系是什么?
JSP本质上就是Servlet技术的拓展,也就是简易版的Servlet
JSP更加强调应用的外表表达,侧重于视图,Servlet更加注重于控制逻辑
JSP编译后是类Servlet
JSP是Java和HTML组合成的一个拓展名 .jsp 的文件
14. Servlet中的转发(Forward)和重定向(Redirect)有什么区别?
转发是一个请求的延续(1个请求),可以共享request的数据
重定向是开始一个新的请求(2个请求),不可以一共享request数据
地址栏:转发地址栏不发生变化,重定向地址栏是会变化的
15. Cookie和Session的区别?
- 存储位置:Cookie存储在浏览器,Session存储在服务器
- 安全角度:cookie不安全,session安全
- 数据量:cookie不可以存大数据,session可以存大数据,重要数据等
16. Session在服务器的存储器的存储时间是多少?
是30分钟
17. HTTP中get和post的区别
在客户端:Get方式在通过URL提交数据,数据在URL可以看到;Post方式,数据放置在HTML HEADER内提交
Get方式提交的数据最多只有1024字节,post则没有限制
Get不安全,Post安全
18. JSP有哪些内置对象?
-
Resquest response out: 输入输出对象
-
Session application pageContext: 作用域通信对象
-
Page config: Servlet对象
-
Exception: 异常对象
19. JSP内置对象的四个作用域?
Application:在所有应用程序中有效
Session:在当前会话中有效
Request:在当前请求中有效
Page:仅限于用户请求的当前页面
20. 如果要用JSP来开发一个聊天程序,不用数据库来存储聊天记录,请问聊天记录最好存在哪里?
存在Application
21. JSP乱码如何解决?
3种方法:
- <%@page contextType=“text/html;charset=utf-8”%>
- 表单提交中文时出现的乱码:request.setCharacterEncoding(“utf-8”);
- 数据库连接出现乱码:useUnicode=true&charCharacterEncoding = utf-8;
22. Session和application的区别?
作用范围不同:session是用户级,application是应用程序级。一个用户一个session对象,每个用户的session对象不同,在用户所访问的网站多个页面之间共享一个session对象;一个Web应用程序一个application对象,每个web应用程序application对象不同,但一个web应用程序的多个用户之间共享一个application对象。
生命周期不同:session对象的生命周期,用户首次访问网站创建,用户离开网站(不一定要关闭浏览器)消亡;application对象的生命周期:启动web服务器创建,关闭web服务器销毁。
23. 什么是application对象?
当Web服务器启动时,Web服务器会自动创建一个application对象,application对象一旦创建,它将一直存在,直到Web服务器关闭。
24. 什么是JSP页面?
是Servlet的扩展,强调web页面表达,编译后是一个类servlet
25. JSP技术优缺点?
优点:
- jsp跨平台
- jsp组件跨平台
- 支持多种网页格式
- JSP标签可扩充性
缺点:
- jsp技术极大的增加了产品的复杂性
- jsp程序调试很困难
26. 如何实现JSP或Servelet的单线程模式?
<%@page isThreadSafe = “false” %>
27. 过滤器有哪些作用和用法?
对用户请求进行统一认证、对用户的访问请求进行记录和审核、对用户发送的数据进行过滤和替换、轮换图像格式、对响应内容进行压缩以减少传输量、对请求或响应进行加密处理、触发资源访问事件、对XML的输出应用XSLT等
和过滤器相关的接口主要有:Filter、FilterConfig和FilterChain
28. 监听器有哪些作用和用法?
Java Web开发中的监听器(listener)就是application、session、request的三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的组件功能,如下所示:
- ServletContexListener: 对Servlet上下文的创建和销毁进行监听
- ServletContextAttributeListener: 监听Servlet上下文属性的添加、删除和替换
- HttpSessionListener: 对Session的创建和销毁进行监听
- HttpSessionAttributeListener: 对Session对象中属性的添加、删除和替换进行监听
- ServletRequestListener: 对请求对象的初始化和销毁进行监听
- ServletRequestAttributeListener: 对请求对象属性的添加、删除和替换进行监听
29. web.xml文件中可以配置哪些内容?
web.xml用于配置Web应用的相关信息,如:监听器(Listener)、过滤器(filter)、Servlet相关参数、会话超时时间、安全验证方式、错误页面等
30. 使用过的JSTL标签
URL: http://java.sun.com 前缀:c 使用方式<c:tagname…>
核心标签库包括:out , set , remove , catch , if , choose , when 和 URL 等
表达式操作标签: 包括:out , set , remove , catch
31. 使用标签库有什么好处?如何自定JSP标签?
好处4点:
- 分离JSP页面的内容和逻辑,简化了Web开发
- 开发者可以创建自定义标签来封装业务逻辑和显示逻辑
- 标签具有很好的可移植性、可维护性和可重用性
- 避免了对Scriptlet(小脚本)的使用(很多公司的项目开发都不允许在JSP中书写小脚本)
自定义JSP标签包括以下几个步骤:
- 编写一个Java类实现Tag/BodyTag/IterationTag接口
- 重写doStartTag()、doEndTag()方法,定义标签要完成的功能
- 编写扩展名为tld的标签描述文件对自定义标签进心部署,tld文件通常放在WEB-INf文件夹下或其子目录中 在JSP页面中使用taglib指令引用该标签库
32. EL表达式的写法?作用?表达式语言(EL)支持哪些运算符?
写法:${ }
作用:用于给JSP标签的属性赋值,也可以直接用来输出或脱离标签单独输出
支持5种运算符号:
- 算数运算符:+、-、*、/或div、%或mod
- 关系运算符:==或eq、!= 或ne、> 或 gt、>= 或ge、< 或 lt、<= 或 le
- 逻辑运算符:&&或and、||或or、!或not
- 条件运算符:${statement ? A : B}(跟Java的条件运算符类似)
- empty运算符:检查一个值是否为null或者空(数组长度为0或集合中没有元素也返回true)
33. JSP中的静态包含和动态包含有什么区别?
静态包含是编译时包含,如果包含的页面不存在则会产生编译错误,而且两个页面的"contentType"属性应该保持一致,因为两个页面会合二为一,只产生一个class文件,因此被包含页面发生的变动在包含它的页面更新前不会更新。
动态包含是运行时包含,可以向被包含的页面传递参数,包含页面和被包含页面是独立的,会编译出两个class文件,如果被包含的页面不存在,不会产生编译错误,也不影响页面其他部分的执行。
jQuery部分
1. 谈谈对jQuery的理解?
jQuery是一个轻量级的js框架,具有跨浏览器的特性,兼容性好,并非封装了很多工具类,方便使用。
常用操作有:选择器、dom操作、Ajax、特效、工具类。
2. jQuery在开发中能做些什么?
获取元素的元素;修改页面的内容;响应用户的页面操作;为页面添加动态效果;无需刷新页面,即可从服务器获取信息,简化常见的JavaScript任务
3. jQuery中的选择器有什么优势
- 简单写法:$(‘ID’)就可以替代document.getElementByID();
- 支持CSS选择器
- 完善的处理机制,就算写错了id也不会报错
4. 如何使用jQuery中的Ajax的?
常规的Ajax:就是用load() , $.get() , $.post ,一般使用 $.post() 方法
如果需要设定beforeSend(提交前回调数据库),error(失败后处理),success(成功后处理)及complete(请求完成后处理)回调函数等,这个时候我会使用$.ajax()
5. jQuery中的 . g e t ( ) 提 交 和 .get() 提交和 .get()提交和.post() 提交有什么区别吗?
$.get()方法使用get方法来进行异步请求
$.post() 方法使用post方法来进行异步请求
get方式请求的数据会被浏览器缓存起来,因此有安全问题
get方式传输的数据大小不能超过2kb而post则要大得多
6. jQuery的load方法一般是怎么用的?
Load方法一般在载入HTML代码并且插入到DOM中的时候使用,通常用来从web服务器上获取静态的数据文件。
7. jQuery中如何去操作样式的
addClass(): 追加样式 removeClass(): 删除样式 toggle: 切换样式
8. 在jQuery中使用过哪些插入节点的方法?
Append() , appendTo() , prepare() , prependTo() , after() , insertAfter() , before() , insertBefore()
大致可以分为内追加,外追加,append() 表示向每个元素内部追加内容,appendTo() 表示即将所有的元素追加到指定的元素中
9. jQuery中如何获取或者设置属性?
attr(): 获取和设置元素的属性 removeAttr(): 删除元素的属性
10. 如何设置和获取HTML和文本的值?
html() 方法:类似于innerHTML属性,可以读取或者设置某个元素中的HTML内容
text() 方法:类似innerText属性,可以用来读取或者设置某个元素中文本内容
val() 方法:可以用来设置和获取某个元素的值(也就是value)
11. 选择器中id和class有什么区别?
网页中每个id名称只能使用一次,class可以允许重复使用
(看的一些资料,自己整合排版敲了一遍分享一下)