JavaWeb学习知识总结

article/2025/11/7 18:43:13

1.自定义 servlet 的三种方式,及区别?

在这里插入图片描述

  1. 方式一:编写一个类去实现Servlet接口(必须重写Servlet接口里面所有的抽象方法)
  2. 方式二:编写一个类去继承GenericServlet抽象类(重写生命周期的service方法(抽象法))GenericServle抽象类它实现了Servlet接口,还实现了ServletConfig接口(这个接口中提供了一个getServletContext方法)可以在编写一个类中直接调用getServletContext方法就可以获得ServletContext对象。(开发中不常用)
  3. 方式三:编写一个类去继承HttpServlet抽象类(没有抽象方法!根据页面的提交方式决定重写doGet或者doPost方法,也可以重写service方法,因为servlet执行顺序先初始化,执行service方法在执行get或post方法)

2.写出 Servlet 中的三大作用域,并分别说明各自的特点?

  1. rerequest
    解释:它表示一个请求,只要发出一个请求就会创建一个request,
    作用域:仅在当前请求中有效。
    用处:常在同一服务器件同一请求不同页面之间的参数传递,常用于表单控件值传递。
    方法:request.setAttribute()-修改,request.getAttribute()-获取,request.removeAttribute()-删除
  2. session
    解释:服务器会为每个会话创建一个session对象,所以session中的数据可供当前会话中所有servlet共享。
    会话:用户打开浏览器会话开始,直到关闭浏览器会话才会结束,一次会话期间只会创建一个session对象。
    用处:常用于wep开发中登陆验证界面(当用户登陆成功后浏览器分配其一个session键值对。)
    方法:session.setAttribute()-修改,session.getAttribute()-获取,session.removeAttribute()-删除
    获得session对象的方法:
    (1).在servlet中:HttpSession=requset.getSession();
    (2).由于session属于jsp的九大内置对象之一,也可以直接使用,例:<%session.setAttribute(“name”,“admin”)%>
    session销毁:
    (1).session超时
    (2).客户端关闭后,
    (3)调用session.invalidate();
  3. .Application(ServletContext)
    作用范围:所有用户都可以获得此信息,此信息在整个服务器上被保留,Application属性范围值,只要设置一次,则所有网页窗口都可以获得数据。

获取方法:ServletContext app1=this.getServletContext();

https://blog.csdn.net/qq_42527923/article/details/81192478

3.filter 和 servlet 在生命周期上的区别 在这里插入图片描述

Servlet1)Servlet通过调用init()方法进行初始化;该方法只会被调用一次,会在创建Servlet实例时被调用;而Servlet创建于第一次调用该Servlet的URL时,也可以指定为在服务器启动时被加载2)Servlet调用service()方法处理客户端的请求;该方法调用次数由客户端请求次数决定,是在Servlet接收到用户请求时被调用。service()方法根据客户端请求类型(POST、GET、PUT、DELETE)来分别调用doPost()、doGet()、doPut()、doDelete()等方法3)Servlet调用destroy()方法结束;该方法只会被调用一次,是在Servlet生命周期结束时被调用。方法被调用后,该Servlet会被标记为垃圾回收4)Servlet被JVM垃圾回收器回收。Filter:1)调用init()方法初始化该方法只会被调用一次。Web应用程序启动时,创建Filter实例对象,并调用init()方法,读取web.xml配置,完成对象的初始化。2)调用doFilter()方法拦截请求该方法调用次数根据用户请求决定。该方法能够完成实际的过滤操作3)调用destroy()方法销毁当Web应用移除或者服务器停止时,调用destroy()方法进行销毁。

4.表单提交的 2 种方式?及区别?

  1. GET请求:请求的数据会附加在URL之后,以?分割URL和传输数据,多个参数用&连接。URL的编码格式采用的 是ASCII编码,而不是uniclde,即是说所有的非ASCII字符都要编码之后再传输。 POST请求:POST请求会把请求的数据放置在HTTP请求包的包体中。上面的item=bandsaw就是实际的传输数 据。因此,GET请求的数据会暴露在地址栏中,而POST请求则不会。
  2. 传输数据的大小 在HTTP规范中,没有对URL的长度和传输的数据大小进行限制。但是在实际开发过程中,对于GET,特定的浏览器 和服务器对URL的长度有限制。因此,在使用GET请求时,传输数据会受到URL长度的限制。对于POST,由于不是URL传值,理论上是不会受限制的,但是实际上各个服务器会规定对POST提交数据大小进行 限制,Apache、IIS都有各自的配置。

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

  1. request对象:request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。
  2. response对象:response 代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。所属类型:HttpServletResponse
  3. session对象:session 对象是由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信息,跟踪用户的操作状态。session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。 session对象的value可以使复杂的对象类型,而不仅仅局限于字符串类型。类型为HttpSession
  4. application对象:application 对象可将信息保存在服务器中,直到服务器关闭,否则application对象中保存的信息会在整个应用中都有效。与session对象相比,application对象生命周期更长,类似于系统的“全局变量” ServletContext 区别: request:单次请求 session:浏览器访问期间(会话期间) application:服务器启动期间,所存的数据可以跨浏览器
  5. out 对象:用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时, 可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要 及时关闭输出流。
  6. pageContext对象:作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、 session、application 等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。
  7. config对象:的主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取 一个config对象。当一个Servlet 初始化时,容器把某些信息通过config对象传递给这个 Servlet。 开发者可以在 web.xml 文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。
  8. page对象:代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变 量,类似于Java编程中的 this 指针。
  9. exception对象:作用是显示异常信息,只有在包含 isErrorPage=“true” 的页面中才可以被使用,在一般的 JSP页面中使用该对象将无法编译JSP文件。
    在Java程序中,可以使用try/catch关键字来处理异常情况; 如果在JSP 页面中出现没有捕获到的异常,就会生成 exception 对象,并把 exception 对象传送到在page指令中设定的错误 页面中,然后在错误页面中处理相应的 exception 对象。
    (1)先在可能发生错误的页面中添加errorPage属性:
    (2) 在error.jsp页面中设置isErrorPage=“true” 的属性 (使用exception对象之前,需要先将当前页面设置成错误页面)
    jsp的作用域: pageContext -> request -> session -> application
    当前页面 单次请求有效 当前会话期间 服务器运行期间有效

6.谈谈你对 MVC 的理解

Web MVC中的M(模型)-V(视图)-C(控制器)概念和标准MVC概念一样,我们再看一下Web MVC标准架构,如下图所 示:
在这里插入图片描述
在Web MVC模式下,模型无法主动推数据给视图,如果用户想要视图更新,需要再发送一次请求(即请求-响应模 型)。
M:(Model) 模型 : 应用程序的核心功能,管理这个模块中用的数据和值(bean,dao);

JavaBeans :
是Java中一种特殊的类(换言之:JavaBean就是一个Java类). 一个Java类满足以下要求,则可称为一个JavaBean
a. public修饰的类,提供public 无参构造方法
b. 所有属性 都是private
C. 提供getter和setter方法 从使用层面来看,
JavaBean分为2大类:
a.封装业务逻辑的JavaBean(eg:LoginDao.java 封装了登录逻辑)
b.封装数据的JavaBean(实体类:eg:Student.java Vadio.java 。往往对应于数据库中的一张表,即数据库
中有个Student表,项目中就有个Student.java类)通常:表名=类名,列名=属性名
JavaBean是一个可以重复使用的组件,通过编写一个组件来实现某种通用功能,“一次编写、任何地方执行、任何地方重 用”。

V(View )视图: 视图提供模型的展示,管理模型如何显示给用户,它是应用程序的外观;(jsp/html)
C(Controller)控制器: 对用户的输入做出反应,管理用户和视图的交互,是连接模型和视图的枢纽。 (servlet/service) MVC用于将web(UI)层进行职责解耦

7.表单的 action 属性,method 属性,name 属性值有什么作 用?

  1. action:用来提交表单要提交到的页面或者路径
  2. method:用来设置表单的提交方式是get、post
  3. name:可以在跳转到的页面或者servlet中通过name值来获取表单中的内容

8.同步与异步的区别

在Javaweb中,同步是指用户每发送一次请求都需要刷新整个页面,而通过ajax实现异步之后,不用刷新整个页面,之后在局部进行更新,比如微博点赞,点赞后点赞数加一,但是并没有进行刷新页面

9.JSP 请求是如何被处理的

当浏览器访问jsp文件时,服务器发现后缀为.jsp,它会根据路径找到index.jsp文 件,会将index.jsp翻译成index_jsp.java文件,对这个java文件进行编译,产生一个index_jsp.class文件,将class 文件加载运行。将JSP翻译成java文件,它是将JSP中的所有的HTML代码通过流进行输出,也就是说最终翻译成 class,被虚拟机加载,它本质是servlet,它就会往回响应,响应回去就是把JSP中的HTML代码以流的方式写回浏 览器。所以在JSP中展示出了HTML代码

10.说说你对 Cookie 与 Session 技术的理解?

(1) Cookie数据保存在客户端,Session数据保存在服务器端。
(2) Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的 SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。
而SessionID这一数据则是保存到客户 端,用Cookie保存的,用户提交页面时,会将这一SessionID提交到服务器端,来存取Session数据。这一过程,是 不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效
(3) Cookies是属于Session对象的一种。但有不同,Cookies不会占服务器资源,是存在客服端内存或者一个 Cookie的文本文件中;而Session则会占用服务器资源。所以,尽量不要使用Session,而使用Cookies。但是我们 一般认为Cookie是不可靠的,Cookies是保存在本机上的,但是其信息的完全可见性且易于本地编辑性,往往可以 引起很多的安全问题Session是可靠地。但是目前很多著名的站点也都用Cookie。


http://chatgpt.dhexx.cn/article/V9EIof6T.shtml

相关文章

JavaWeb学习路线(总结自尚硅谷雷神SSM|极其详细|思路清晰|适合入门/总复习)

文章目录 JavaWeb前言说明前端技术html&#xff08;掌握&#xff09;1.标签 css&#xff08;了解&#xff09;1.简介2.常用样式定义 JavaScript&#xff08;掌握&#xff09;1.简介2.基本语法2.1声明变量2.2声明对象2.3声明方法 3.事件 JQuery&#xff08;精通&#xff09;1.简…

https证书安装部署 https证书怎么安装

http和https是我们上网的时候经常见到的网络协议&#xff0c;当我们进入一个网站的时候&#xff0c;网站的域名有时候是http开头的&#xff0c;有时候又是https开头的&#xff0c;可能你们会好奇&#xff0c;这两者究竟有什么区别呢&#xff1f;https证书又是什么呢&#xff1f…

申请SSL证书,并给域名配置SSL证书,并部署服务器;SSL证书的下载和安装

注&#xff1a;本文相关操作皆由黄色荧光笔标注 申请SSL 我这里以阿里云服务器为例&#xff0c;SSL证书是从阿里云申请的一年免费的证书&#xff0c;付费的也可以参考。 先是登录阿里云控制台&#xff0c;进入&#xff1a;SSL证书&#xff08;数字证书管理服务&#xff09;。…

SSL证书安装部署

微信小程序时刻监控产品的信息&#xff0c;夜里突然没了数据。阿里云服务器故障&#xff1f; 登录云管理&#xff0c;查看一切正常&#xff0c;e-mail有一封邮件显示ssl证书到期&#xff0c;需重新部署。 申请证书 创建证书 在Apache服务器上安装SSL证书 - 数字证书管理服务 -…

如何给网站安装SSL证书?

视频教程&#xff1a;ssl证书安装视频教程&#xff08;b站&#xff09;https://www.bilibili.com/video/BV1P3411h7je 每个站长都有必要为网站安装SSL证书。 首先&#xff0c;我们需要获得一个SSL证书&#xff0c;也称为HTTPS证书。 筛选SSL证书类别需要的思考不亚于流行的垃…

Https证书怎么安装

第一步&#xff1a;首先我们去阿里云申请证书&#xff0c;证书审核完成下载进行部署。至于部署什么类型的&#xff0c;需要跟服务器商确认。 第二步&#xff1a;去服务器端找到SSL部署的配置。 下载申请下来的密钥。填入对应的账户&#xff0c; 完成&#xff01;提示已部署

ssl证书下载与安装 – 如何下载ssl证书

证书是审核完毕后您将会收到&#xff1a; 1. 服务器证书 2. 服务器中级 CA 证书 1、 配置 Apache 打开 apache 安装目录下 /etc/httpd/conf/httpd.conf 文件&#xff0c;找到 #LoadModule ssl_module modules/mod_ssl.so 删除行首的配置语句注释符号“ #” 保存退出。 …

华为云ssl证书申请和安装

华为云ssl证书申请和安装 1.打开网站&#xff0c;点击领取免费证书&#xff0c;点击立即购买。 2.打开华为云控制台&#xff0c;找到云证书管理服务。确认付款后自动跳转&#xff0c;点击申请证书。 填写自己的域名。 填写授权人信息&#xff0c;姓名、电话、邮箱。 3.验证域名…

charles SSL证书安装

charles抓取https协议报文需要配置SSL通用证书&#xff0c;否则会导致乱码&#xff0c;本文介绍Charles 的 CA 证书安装方法。 1. 电脑安装SSL证书 选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate” 2. 浏览器安装SwitchyOmega插件 插件下…

怎么在服务器上安装SSL证书?服务器证书安装配置指南

现如今&#xff0c;网上安全传输协议HTTPS应用是越来越广泛了&#xff0c;再加上使用SSL证书的站点也越来越多。很多网站在应用SSL证书的时候&#xff0c;通常是不知道怎么给服务器安装SSL证书的&#xff0c;下面就让摩杜云来跟大家讲解一下怎么在服务器上安装SSL证书。 给服务…

如何安装ssl证书?

今日蔚可云网编先协助大伙儿解读一下完全免费ssl证书安装和如何安装证书&#xff0c;期望根据网编的解读能协助到应用电子计算机的情况下碰到这种难题的小伙伴们。 一、完全免费ssl证书安装 网编先带大家一起来解析一下完全免费ssl证书安装&#xff0c;最先应当进到官方申请机…

windows ------ 证书导入(安装)

https://blog.51cto.com/u_15127513/3862855 1、选中证书&#xff0c;右击点击安装证书 2、点击下一步 3、选择受信任的根证书颁发机构 点击下一步 4、点击完成 提示安全警告点击是&#xff0c;因为是自己知道的证书 ​​​​​​​

如何安装HTTPS证书

HTTPS证书安装 各种WEB服务器的HTTPS证书安装步骤如下&#xff1a; Nginx/TengineApacheTomcatIIS 6IIS 7/8 Nginx/Tengine 安装证书 文件说明&#xff1a; 证书文件214852718690540.pem&#xff0c;包含两段内容&#xff0c;请不要删除任何一段内容。如果是证书系统创建的…

SSL证书安装教程

Nginx配置SSL证书 最基本的配置 ssl_certificate "path\fullchain.crt" ssl_certificate_key "path\private.crt" server {listen 80;listen 443 ssl http2;ssl_certificate path\fullchain.crt;ssl_certificate_key path\private.crt;ssl_session_tim…

SSL证书安装配置

我们将简单的介绍如何安装配置SSL证书。最近有网友反映教程不全&#xff0c;特此提供一个万能教程链接&#xff0c;如果不会也可以请Gworg进行收费技术支持。另外在里面也可以搜索教程&#xff0c;常见都会有&#xff0c;包括虚拟主机、自助建站控制面板。 SSL证书所有服务器环…

https免费证书(终身)申请和安装教程

目前来说&#xff0c;网站安装https是大势所趋&#xff0c;几乎每一个网站在建站之初&#xff0c;就会安装好https。 一、https是什么 “https&#xff08;全称&#xff1a;Hyper Text Transfer Protocol over Secure Socket Layer&#xff0c;超文本传输安全协议&#xff0…

Charles安装证书

1、下载地址&#xff1a;https://www.charlesproxy.com/latest-release/download.do 2、破解方法&#xff1a;Charles(2)&#xff1a;Charles工具的破解 - 淡-然 - 博客园 3、移动端配置代理&#xff0c;可以通过Charles端提示进行设置&#xff0c;查看路径&#xff1a; 如上…

证书安装流程

第一步&#xff1a;点击安装证书。 第二步&#xff1a;点击本地计算机 第三步&#xff1a;选择将证书都放在下列存储&#xff0c;点击浏览&#xff0c;选择受信任的根证书颁发机构。点确定完成即可

Windows安装证书

键盘上同时按"winR"打开运行&#xff0c;输入命令"mmc"&#xff0c;回车确定 在出现的界面&#xff0c;选择"文件的选项"&#xff0c;在弹出的列表点击"添加/删除管理单元" 在弹出界面的"可用的管理单元"的列表中找到证书&a…

charles证书安装,一次性说明白

一、软件安装证书&#xff08;以windows为例&#xff09; windows上安装好charles后&#xff0c;需要给软件安装证书。 1、点击help -> SSL proxying&#xff0c;选择第二个install Charles Root Certificate证书安装 2、如果以前安装过证书&#xff0c;但是过期了&#xf…