JavaWeb学习笔记

news2024/12/22 20:19:55

文章目录

  • 一. HTML
  • 二. CSS
  • 三. JavaScript
    • 1. 引入
    • 2.语法/输出语句
    • 3. 变量/数据类型
    • 4. 运算符
    • 5. 流程控制语句
    • 6. 函数
    • 7. 对象
    • 8. 事件监听
  • 四. Servlet
    • 1.执行流程
    • 2. 生命周期
    • 3. 常用方法
    • 4. 体系结构
    • 5. 配置Servlet
  • 五. JSP
    • 1. 简介
    • 2. JSP原理
    • 3.脚本
    • 4.JSP缺点
    • 5. EL表达式
    • 6. JSTL标签
    • 7.MVC模式
  • 六. AJAX
  • 七. Axios
  • 八. 常见八股文
    • 1. 说一说Servlet的生命周期?
    • 2. Servlet API中forward()与redirect()的区别?
    • 3.request.getAttribute()和 request.getParameter()有何区别?
    • 4. jsp静态包含和动态包含的区别?
    • 5. MVC的各个部分都有那些技术来实现? 如何实现?
    • 6. jsp有哪些内置对象?作用分别是什么?
    • 7. jsp 和 servlet 有什么区别?
    • 8. tomcat容器是如何创建servlet类实例?用到了什么原理?
    • 9. AJAX应用和传统Web应用有什么不同?
    • 10. Ajax的实现流程是怎样的?
    • 11.HTTP中重定向和请求转发的区别

在这里插入图片描述

一. HTML

在这里插入图片描述

  • 标签
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述action="#"表示提交当前页面
    在这里插入图片描述

二. CSS

在这里插入图片描述
css如何结合html使用
在这里插入图片描述

三. JavaScript

1. 引入

在这里插入图片描述
在这里插入图片描述

2.语法/输出语句

在这里插入图片描述
在这里插入图片描述

3. 变量/数据类型

在这里插入图片描述
在这里插入图片描述

4. 运算符

在这里插入图片描述

5. 流程控制语句

在这里插入图片描述

6. 函数

在这里插入图片描述
在这里插入图片描述

7. 对象

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
BOM浏览器对象模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
DOM文档对象模型
在这里插入图片描述
在这里插入图片描述

8. 事件监听

在这里插入图片描述
在这里插入图片描述

四. Servlet

在这里插入图片描述

1.执行流程

在这里插入图片描述

2. 生命周期

在这里插入图片描述

3. 常用方法

在这里插入图片描述
重点掌握 init service destroy

4. 体系结构

在这里插入图片描述

5. 配置Servlet

在这里插入图片描述
在这里插入图片描述

五. JSP

1. 简介

在这里插入图片描述
在这里插入图片描述

2. JSP原理

在这里插入图片描述

3.脚本

在这里插入图片描述

4.JSP缺点

在这里插入图片描述

5. EL表达式

在这里插入图片描述

6. JSTL标签

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.MVC模式

在这里插入图片描述
在这里插入图片描述

六. AJAX

在这里插入图片描述

实现前后端分离
搜索联想,比如在百度输入框输入 奥运,会自动联想到 奥运会

在这里插入图片描述

七. Axios

在这里插入图片描述
在这里插入图片描述

八. 常见八股文

1. 说一说Servlet的生命周期?

Servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init(),service()和destroy方法表达。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do()方法。结束服务,web容器调用servlet的destroy()方法。

2. Servlet API中forward()与redirect()的区别?

- 从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码**,告诉浏览器重新去请求那个地址**.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。
- 从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
redirect不仅可以重定向到当前应用程序的其他资源,还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源.
forward方法只能在同一个Web应用程序内的资源之间转发请求.forward 是服务器内部的一种操作.
redirect 是服务器通知客户端,让客户端重新发起请求.
所以,你可以说 redirect 是一种间接的请求, 但是你不能说”一个请求是属于forward还是redirect “
- 从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
- 从效率来说
forward:高.
redirect:低.

3.request.getAttribute()和 request.getParameter()有何区别?

  • request.getParameter()取得是通过容器的实现来取得通过类似post,get等方式传入的数据。request.setAttribute()和getAttribute()只是在web容器内部流转,仅仅是请求处理阶段。
  • getAttribute是返回对象,getParameter返回字符串
  • getAttribute()一向是和setAttribute()一起使用的,只有先用setAttribute()设置之后,才能够通过getAttribute()来获得值,它们传递的是Object类型的数据。而且必须在同一个request对象中使用才有效。,而getParameter()是接收表单的get或者post提交过来的参数

4. jsp静态包含和动态包含的区别?

  • 为jsp中的编译指令,其文件的包含是发生在jsp向servlet转换的时期,而是jsp中的动作指令,其文件的包含是发生在编译时期,也就是将java文件编译为class文件的时期
  • 使用静态包含只会产生一个class文件,而使用动态包含会产生多个class文件
  • 使用静态包含,包含页面和被包含页面的request对象为同一对象,因为静态包含只是将被包含的页面的内容复制到包含的页面中去;而动态包含包含页面和被包含页面不是同一个页面,被包含的页面的request对象可以取到的参数范围要相对大些,不仅可以取到传递到包含页面的参数,同样也能取得在包含页面向下传递的参数

5. MVC的各个部分都有那些技术来实现? 如何实现?

MVC是Model-View-Controller的简写。Model代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),View是应用的表示面(由JSP页面产生),Controller是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

6. jsp有哪些内置对象?作用分别是什么?

request:封装客户端的请求,其中包含来自GET或POST请求的参数;
response:封装服务器对客户端的响应;
pageContext:通过该对象可以获取其他对象;
session:封装用户会话的对象;
application:封装服务器运行环境的对象;
out:输出服务器响应的输出流对象;
config:Web应用的配置对象;
page:JSP页面本身(相当于Java程序中的this);
exception:封装页面抛出异常的对象

7. jsp 和 servlet 有什么区别?

  • jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代码,Web容器将JSP的代码编译成JVM能够识别的java类)
  • jsp更擅长表现于页面显示,servlet更擅长于逻辑控制。
  • Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,HttpServletResponse对象以及HttpServlet对象得到。
  • Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

8. tomcat容器是如何创建servlet类实例?用到了什么原理?

当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化。(有时候也是在第一次请求时实例化)
在servlet注册时加上1如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化。

9. AJAX应用和传统Web应用有什么不同?

在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML form然后GET或者POST数据到服务器端。用户需要点击”Submit”按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载

因为服务器每次都会返回一个新的页面, 所以传统的web应用有可能很而且用户交互不友好

使用AJAX技术, 就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互。

通过HTTP Request, 一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是同一个页面,用户感觉页面刷新,也看不到到Javascript后台进行的发送请求和接受响应,体验非常好

10. Ajax的实现流程是怎样的?

(1)创建XMLHttpRequest对象,也就是创建一个异步调用对象.
(2)创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)设置响应HTTP请求状态变化的函数.
(4)发送HTTP请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现局部刷新.

11.HTTP中重定向和请求转发的区别

  • 本质区别:
    转发是服务器行为
    重定向是客户端行为
  • 重定向特点:两次请求,浏览器地址发生变化,可以访问自己 web 之外的资源,传输的数据会丢失。
  • **请求转发特点:**一次强求,浏览器地址不变,访问的是自己本身的 web 资源,传输的数据不会丢失。
    个人理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/464468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI+HPC?人工智能高性能计算方向就业新路子

刚刚过去的3月,GPT-4刷屏了。吃瓜群众一边津津乐道,一边瑟瑟发抖。随后国产大模型紧随其后,百度的“文心一言”、阿里的“通义千问”、复旦大学的“MOSS”、商汤的“商量”竞赛般的亮家伙,有点全民练模型,人人GPT的味道…

【最新】Jetson Agx Xavier烧录环境到TensorRT加速(高集成,快速简单有效)

一.下载烧录好的基础镜像 1. 基础环境 当前镜像包是ubuntu18.08,镜像。镜像包已安装jetpack 4.6,python3.6 ,torch1.7, opencv, tensorrt等,运行模型的基本环境都已搭建。jetpack 是4.6 对应L4T是32.6.1。如下图: (1).下载当前文件包&…

OSCP-Escape(gif绕过)

目录 扫描 WEB 扫描 sudo nmap 192.168.233.113 -p- -sS -sVPORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) 80/tcp open http Apache httpd 2.4.29 ((Ubuntu)) 8080/tcp open http Apache…

Golang中的一些关键字(defer、:=、go func())

作者:非妃是公主 专栏:《Golang》 博客主页:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 defervar与 : 的区别var:二者区别 go func de…

antDesignPro6项目:供应链系统—实战问题解决汇总

系统使用的技术:antDesignPro6 Umi4 antDesign antDesignProComponents 其他技术 1、如何设置ModalForm组件,销毁时,自动重置表单? modalProps{{ destroyOnClose: true }} // 重置表单 答:给ModalForm组件添加mo…

智加科技+舍弗勒,首发量产正向开发的智能重卡冗余转向

对于自动驾驶赛道来说,感知、规划和控制,除了计算平台、算法等核心上层软硬件支持,底盘控制系统同样是关键一环。事实上,从Demo到规模化量产,更好的车身控制能力以及冗余备份,也是自动驾驶公司迈入2.0阶段的…

中介作用分析流程

中介作用分析流程 一、案例背景 家庭氛围对于学生成长具有重要的意义。好的家庭氛围能够增强学生的家庭幸福感,促进学生良好性格的形成。在这个过程中,父子沟通与母子沟通对于家庭氛围和家庭幸福感都具有显著影响作用。现在有一项研究想要探究父子沟通和…

企业级信息系统开发讲课笔记3.2 基于Java配置类整合SSM框架实现用户登录

文章目录 零、本节学习目标一、采用MVC架构二、用户登录运行效果三、基于Java配置类整合SSM框架实现用户登录(一)创建数据库与表1、创建数据库2、创建用户表3、在用户表里插入记录 (二)创建Maven项目(三)添…

带你打开GCC的大门

START hi,大家好! 今天带大家了解一下GCC。 首先说一句:大写的GCC和小写的gcc不是一个东西呦,下面我们慢慢道来... 1. GCC是什么? GNU Compiler Collection (GCC)是GNU项目开发的编译工具集,支持各种编…

abaqus和ansys做仿真哪个更好

当你要模拟仿真一个机械模型时,通常会听到ABAQUS或ANSYS,最常见的问题是哪个更好?无论是工程设计师还是初学者,通常会问这个问题或类似的问题。在本文中介绍了 Abaqus 与 Ansys,您将了解这些问题的答案。 1-ANSYS&…

数据库8之嵌套查询

上一篇文章讲到连接查询,连接查询就是一个一个去查找相匹配的行,再返回给用户看。当我们数据量少的时候我们用连接查询没有太大问题,可是,当数据量大的时候,连接查询效率显然不高。这个时候我们可以用嵌套查询&#xf…

Oracle跨服务器取数——DBlink 初级使用

前言 一句话解释DBlink是干啥用的 实现跨库访问的可能性. 通过DBlink我们可以在A数据库访问到B数据库中的所有信息,例如我们在加工FDS层表时需要访问ODS层的表,这是就需要跨库访问 一、DBlink的分类 private:用户级别,只有创建该dblink的用户才可以使…

Maven 下载及配置详细步骤

1、Maven 下载 Maven 官网地址:https://maven.apache.org/download.cgi(opens new window) 进入 Maven 官网,点击 archives 下载版本 3.6.2 找到下载的压缩包并解压

传统协议大比拼之IP协议

文章目录 一、引言二、IP协议的基本特点2.1 IP协议的作用和基本功能2.2 地址管理手动分配IP动态主机配置协议(DHCP)网络地址转换(NAT)IPv6 2.2 路由选择RIP(距离向量型的协议)OSPF(链路状态类型协议)BGP(边界网关协议) 2.3 IP协议的特点: 三、IP地址的组成3.1 IP地址…

kong(6):身份认证

1 Basic Auth身份认证配置 Basic Auth插件 # 在服务上配置插件 curl -X POST http://127.0.0.1:8001/services/{service}/plugins --data "namebasic-auth" --data "config.hide_credentialstrue"#在路由上配置插件 curl -X POST http://127.0.0.1:8001/…

上海亚商投顾:沪指全天震荡微跌 新能源赛道股集体反弹

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 大小指数今日走势分化,沪指探底回升小幅下跌,创业板指盘中涨超2%,午后涨幅有所…

基于centos7:Harbor-2.7.2部署和安装教程

基于centos7:Harbor-2.7.2部署和安装教程 1、软件资源介绍 Harbor是VMware公司开源的企业级DockerRegistry项目,项目地址为https://github.com/vmware/harbor。其目标是帮助用户迅速搭建一个企业级的Dockerregistry服务。它以Docker公司开源的registry…

数据结构3:栈和队列

目录 1.栈 1.1栈的概念及结构 ​1.2栈的实现 2.队列 2.1队列的概念及结构 2.2队列的实现 2.3循环队列 ​3.栈和队列的面试题 4.概念选择题 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据…

深入探讨Linux驱动开发:驱动介绍与hello驱动实例

文章目录 前言一、Linux驱动介绍1.用户态和内核态2.内核功能介绍3.驱动程序介绍 二、驱动程序分类与注意事项1.驱动程序分类2.内核驱动开发注意事项 三、hello驱动开发1.驱动模块2.模块加载和卸载函数3.编写hello模块4.Makefile 四、运行测试总结 前言 通过之前对于IGKBoard开…

Python操作PostgreSQL数据库

个人简介:一个从会计转行数据分析师的三旬老汉 擅长领域:数据分析、数据仓库、大数据 博客内容:平时会将自己工作中遇到的问题进行归纳总结,分享给各位小伙伴,意在帮助大家少加班、不掉发,让我们相互学习&a…