JavaWeb知识点

文章目录

JavaWeb

web前端注意点

1. HTML是什么意思?

答案:超文本标记语言

2. 什么是HTML5?

答案:

  1. HTML5是最新的HTML标准
  2. HTML5文档定义为:
  3. 新增多媒体标签:video,audio
  4. 新标签:canvas,header,nav,footer等
3. 前端页面由哪三层构成,分别是什么?制作是什么?

答案:

  1. 结构层html用于定义网页布局和显示内容
  2. 表示层css对html进行美化和修饰
  3. 行为层js对html和css动态交互和控制
4. CSS引入的方式有哪些?

答案:外部,内部,内联

5. ‘$(this)’ 和 ‘this’ 关键字在jQuery中有何不同?

答案:

  1. '$(this)'返回值为当前jQuery对象,可以利用这个特点,实现连续的调用方法。
  2. this’ 代表当前元素,它是JavaScript关键词中的一个,表示上下文中的执行方法的当前对象,this不能调用jQuery
6. jQuery中append() 和 appendTo() 方法的区别是什么?

答案:

  1. 都被用来向元素内部追加内容
  2. append() : 向每个匹配的元素内部追加内容
  3. appendTo() : 把所有匹配的元素追加到另一个指定的元素集合中
7. 请描述’KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲p")' , '(".p")’ , ‘(“p”)’ 分别选择到什么对象集合?

答案:

  1. ‘$("#p")’ --------- #id id选择器,选择 ‘id’ 为 ‘p’ 唯一的元素
  2. ‘$(".p")’ ---------- .class 类选择器,选择 ‘class’ 包含 ‘p’ 的一组元素
  3. ‘(“p”)’ ---------- element 元素选择器,选择全部的 ‘p’ 元素
8. JavaScript window.onload 事件和 jQuery ready 函数有何不同?

答案:

  1. ‘window.onload’ 要等待 DOM被创建,还要等到包括大型图片、音频、视频在内的所有外部资源都完全加载。
  2. jQuery ‘$(document).ready()’ 函数只需对DOM树的等待,而无需对图像或对外部资源加载的等待,从而执行起来更快。
  3. 使用 jQuery ‘$(document).ready()’ 的另一个优势是你可以在网页里多次使用它,浏览器会按它们在HTML页面里出现的顺序执行它们。
9. jQuery里的 each() 是什么函数?你是如何使用它的?

答案:

  1. each() 函数就像是Java里的一个 Iterator,它允许你遍历一个元素集合。
  2. 可以通过遍历数组或者一组jQuery选择的DOM对象。

Servlet:

1. Servlet生命周期

(Web容器)服务器启动并加载Servlet后,Servlet生命周期开始,容器运行init方法,请求到达时运行其service方法,请求到达,service方法自动派遣运行与请求对应的doGet或doPost方法,当服务器决定将实力销毁的时候调用其destroy方法。

2. Servlet接口中有哪些方法

Servlet接口定义了5个方法,其中前三个方法与Servlet生命周期相关

  1. void int(ServletConfig config) throws ServletException
  2. void service(ServletRequest req, ServletResponse resp) throws ServletException, java.io.IOException
  3. void destroy()
  4. java.lang.String getServletInfo()
  5. ServletConfig getServletConfig()
3. 什么时候调用doGet?什么时候调用doPost?

JSP页面中的form标签里的method属性为get时,调用doGet() ,为post时,调用doPost()方法

4. 页面间对象传递的方法
  1. Request
  2. Session
  3. Application
  4. 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个部分:

  1. 协议部分:包括HTTP协议,stop协议,ftp协议,https协议等
  2. 主机地址:?连接,参数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的区别?
  1. 存储位置:Cookie存储在浏览器,Session存储在服务器
  2. 安全角度:cookie不安全,session安全
  3. 数据量:cookie不可以存大数据,session可以存大数据,重要数据等
16. Session在服务器的存储器的存储时间是多少?

是30分钟

17. HTTP中get和post的区别

在客户端:Get方式在通过URL提交数据,数据在URL可以看到;Post方式,数据放置在HTML HEADER内提交

Get方式提交的数据最多只有1024字节,post则没有限制

Get不安全,Post安全

18. JSP有哪些内置对象?
  1. Resquest response out: 输入输出对象

  2. Session application pageContext: 作用域通信对象

  3. Page config: Servlet对象

  4. Exception: 异常对象

19. JSP内置对象的四个作用域?

Application:在所有应用程序中有效

Session:在当前会话中有效

Request:在当前请求中有效

Page:仅限于用户请求的当前页面

20. 如果要用JSP来开发一个聊天程序,不用数据库来存储聊天记录,请问聊天记录最好存在哪里?

存在Application

21. JSP乱码如何解决?

3种方法:

  1. <%@page contextType=“text/html;charset=utf-8”%>
  2. 表单提交中文时出现的乱码:request.setCharacterEncoding(“utf-8”);
  3. 数据库连接出现乱码: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技术优缺点?

优点:

  1. jsp跨平台
  2. jsp组件跨平台
  3. 支持多种网页格式
  4. JSP标签可扩充性

缺点:

  1. jsp技术极大的增加了产品的复杂性
  2. jsp程序调试很困难
26. 如何实现JSP或Servelet的单线程模式?

<%@page isThreadSafe = “false” %>

27. 过滤器有哪些作用和用法?

对用户请求进行统一认证、对用户的访问请求进行记录和审核、对用户发送的数据进行过滤和替换、轮换图像格式、对响应内容进行压缩以减少传输量、对请求或响应进行加密处理、触发资源访问事件、对XML的输出应用XSLT等

和过滤器相关的接口主要有:Filter、FilterConfig和FilterChain

28. 监听器有哪些作用和用法?

Java Web开发中的监听器(listener)就是application、session、request的三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的组件功能,如下所示:

  1. ServletContexListener: 对Servlet上下文的创建和销毁进行监听
  2. ServletContextAttributeListener: 监听Servlet上下文属性的添加、删除和替换
  3. HttpSessionListener: 对Session的创建和销毁进行监听
  4. HttpSessionAttributeListener: 对Session对象中属性的添加、删除和替换进行监听
  5. ServletRequestListener: 对请求对象的初始化和销毁进行监听
  6. 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点:

  1. 分离JSP页面的内容和逻辑,简化了Web开发
  2. 开发者可以创建自定义标签来封装业务逻辑和显示逻辑
  3. 标签具有很好的可移植性、可维护性和可重用性
  4. 避免了对Scriptlet(小脚本)的使用(很多公司的项目开发都不允许在JSP中书写小脚本)

自定义JSP标签包括以下几个步骤:

  1. 编写一个Java类实现Tag/BodyTag/IterationTag接口
  2. 重写doStartTag()、doEndTag()方法,定义标签要完成的功能
  3. 编写扩展名为tld的标签描述文件对自定义标签进心部署,tld文件通常放在WEB-INf文件夹下或其子目录中 在JSP页面中使用taglib指令引用该标签库
32. EL表达式的写法?作用?表达式语言(EL)支持哪些运算符?

写法:${ }

作用:用于给JSP标签的属性赋值,也可以直接用来输出或脱离标签单独输出

支持5种运算符号:

  1. 算数运算符:+、-、*、/或div、%或mod
  2. 关系运算符:==或eq、!= 或ne、> 或 gt、>= 或ge、< 或 lt、<= 或 le
  3. 逻辑运算符:&&或and、||或or、!或not
  4. 条件运算符:${statement ? A : B}(跟Java的条件运算符类似)
  5. empty运算符:检查一个值是否为null或者空(数组长度为0或集合中没有元素也返回true)
33. JSP中的静态包含和动态包含有什么区别?

静态包含是编译时包含,如果包含的页面不存在则会产生编译错误,而且两个页面的"contentType"属性应该保持一致,因为两个页面会合二为一,只产生一个class文件,因此被包含页面发生的变动在包含它的页面更新前不会更新。

动态包含是运行时包含,可以向被包含的页面传递参数,包含页面和被包含页面是独立的,会编译出两个class文件,如果被包含的页面不存在,不会产生编译错误,也不影响页面其他部分的执行。


jQuery部分

1. 谈谈对jQuery的理解?

jQuery是一个轻量级的js框架,具有跨浏览器的特性,兼容性好,并非封装了很多工具类,方便使用。

常用操作有:选择器、dom操作、Ajax、特效、工具类。

2. jQuery在开发中能做些什么?

获取元素的元素;修改页面的内容;响应用户的页面操作;为页面添加动态效果;无需刷新页面,即可从服务器获取信息,简化常见的JavaScript任务

3. jQuery中的选择器有什么优势
  1. 简单写法:$(‘ID’)就可以替代document.getElementByID();
  2. 支持CSS选择器
  3. 完善的处理机制,就算写错了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可以允许重复使用


(看的一些资料,自己整合排版敲了一遍分享一下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值