java web 部分

news2024/10/6 6:04:09
  1. jsp作用域由大到小

  2. 过滤器有哪些作用?

  3. 过滤器的用法?(对客户端的请求统一编码和对客户端进行认证)

  4. JSP和Servlet中的请求转发分别如何实现?

  5. JSP 和 Servlet 有哪些相同点和不同点,他们之间的联系是什么?

  6. 详细描述 MVC。

  7. 做项目中得到经验。

1、http的请求过程?


①:DNS解析域名得到IP地址

②:客户端与服务器建立连接(TCP三次握手)

③:客户端发起请求

④:服务器接收到请求根据端口号.路径等找到对应资源文件,响应源代码给客户端

⑤:客户端拿到请求到的数据(html页面的源代码),开始解析页面以及请求资源

⑥:客户端渲染页面

⑦:web服务器断开连接(四次挥手)

2、http请求的GET与POST方式的区别


Form 中的get和post方法,在数据传输过程中分别对应了http协议的GET和POST方法。二者主要区别如下:

(1)Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据;

(2)Get将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL;

(3)Get是不安全的,因为在传输过程,数据被放到请求的URL中;Post的所有操作对用户来说都是不可见的;

(4)Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post;

(5)Get限制Form表单的数据集必须为ASCII字符,而Post支持整个ISO10646字符集;

(6)Get是form的默认方法。

3、解释一下什么是servlet?


Servlet 是一种独立于平台和协议的服务器端的 Java 技术,可以用来生成动态的 Web 页面。与传统的 CGI(计算机图形接口)和许多其他类似 CGI 技术相比,Servlet 具有更好的可移植性、更强大的功能,更少的投资,更高的效率,更好的安全性等特点。

Servlet 是使用 Java Servlet 应用程序接口(API)及相关类和方法的 Java 程序。Java 语言能够实现的功能,Servlet 基本上都能实现(除了图形界面之外)。Servlet 主要用于处理客户端传来的 Http 请求,并返回一个响应。通常所说的 Servlet 就是指 HttpServlet,用于处理Http 请求,其能够处理的请求有 doGet()、doPost()、service()等方法。在开发 Servlet 时,可以直接继承javax.servlet.http.HttpServlet。Servlet 需要在web.xml 中进行描述,例如:映射执行 Servlet 的名字,配置 Servlet 类、初始化参数,进行安全配置、URL 映射和设置启动的优先权等。Servlet 不仅可以生成 HTML脚本输出,也可以生成二进制表单输出。

Servlet 应用范围很广泛,我们现在用的很多流行的框架技术,其最基本的代码离不开

Servelt 的支持。比如我所熟悉的 SSH 框架,Spring 容器启动时,要在 web.xml 中装载 Spring容器的 ActionContext 类来初始化 Spring 的一些参数,如进行依赖注入、数据库表的映射、初始化系统的安全配置设置 read 等属性等一些相关操作。

4、说一说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()方法。

5、Servlet的基本架构


package test;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

public class ServletName extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

}

public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

}

}

6、servlet API 中forward()与redirect()的区别?


前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其他服务器上的资源,则必须使用sendRedirect()方法。

7、Request对象的常用方法


setAttribute(String name,Object):设置名字为 name 的 request 的参数值

getAttribute(String name):返回由 name

getCookies():返回客户端的所有 Cookie 对象,结果是一个 Cookie 数组

getCharacterEncoding():返回请求中的字符编码方式

getParameter(String name):获得客户端传送给服务器端的有 name 指定的参数

getRequestURI():获取发出请求字符串的客户端地址

getRemoteAddr():获取客户端的 IP 地址

getRemoteHost():获取客户端的名字

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(String name):删除请求中的一个属性

8、简述HttpSession的作用、使用方法,可用代码说明


HttpSession中可以跟踪并存储用户信息,把值设置到属性中,有2个方法:setAttribute()、getAttribute();

例如:在一个方法中用session.setAttribute(“student”,student);在一个session中设置一个属性名为student,值为一个名为student的对象。而后可在同一session范围内用getAttribute(“student”)取出该属性,得到student对象。

9、jsp有哪些内置对象?作用分别是什么?分别有什么方法?


jsp共有以下9个内置对象:

request 用户端请求,此请求会包含来自GET/POST请求的参数

response 网页传回用户端的回应

pageContext 网页的属性是在这里管理

session 与请求有关的会话期

application servlet正在执行的内容

out 用来传送回应的输出

config servlet 的构架部件

page JSP网页本身

exception 针对错误网页,未捕捉的例外

request:表示 HttpServletRequest 对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取 cookie, header, 和 session 数据的有用的方法。

response:表示 HttpServletResponse 对象,并提供了几个用于设置送回 浏览器的响应的方法(如 cookies,头信息等)

out:对象是 javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext:表示一个 javax.servlet.jsp.PageContext 对象。它是用于方便存取各种范围的名字空间、servlet 相关的对象的 API,并且包装了通用的 servlet 相关功能的方法。

session:表示一个请求的 javax.servlet.http.HttpSession 对象。Session 可以存贮用户的状态信息

applicaton :表示一个 javax.servle.ServletContext 对象。这有助于查找有关 servlet 引擎和servlet 环境的信息

config:表示一个 javax.servlet.ServletConfig 对象。该对象用于存取 servlet 实例的初始化参数。

page:表示从该页面产生的一个 servlet 实例

10、介绍在JSP中如何使用JavaBean?


在 JSP 中使用 JavaBean 常用的动作有:

<jsp:useBean />:用来创建和查找 bean 对象;

<jsp:setProperty />:用来设置 bean 的属性,即调用其 setXxx()方法;

<jsp:getProperty />:用来获得 bean 的属性,即调用其 getXxx()方法

11、JSP的常用指令


isErrorPage(是否能使用Exception对象),isELIgnored(是否忽略表达式)

12、jsp的四种范围?


常用的JavaScript设计模式

  • 单体模式

  • 工厂模式

  • 例模式

函数

  • 函数的定义

  • 局部变量和全局变量

  • 返回值

  • 匿名函数

  • 自运行函数

  • 闭包

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

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

相关文章

昇思25天学习打卡营第4天|yulang

今天主要了解了数据集 Dataset&#xff0c;主要包含了&#xff1a;数据集加载、数据集迭代、数据集常用操作、 可随机访问数据集、可迭代数据集、生成器。对于生成器很好理解&#xff0c;用代码来造数据&#xff0c;可以动态地生成数据。主要作用数据集通常被用于训练模型

亚马逊云服务器的价格真的那么贵吗?一年要花多少钱?

亚马逊Web服务&#xff08;AWS&#xff09;作为全球领先的云计算平台&#xff0c;其定价策略常常引起用户的关注。很多人可能会问&#xff1a;"AWS真的那么贵吗&#xff1f;"实际上&#xff0c;这个问题的答案并不是简单的"是"或"否"&#xff0c…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【通用密钥库基础概念】

通用密钥库基础概念 在使用通用密钥库完成应用开发前&#xff0c;开发者需要了解以下相关概念&#xff0c;以下概念将贯穿整个开发过程。 可信执行环境&#xff08;TEE&#xff09; 可信执行环境&#xff08;Trusted Execution Environment&#xff09;&#xff0c;简称TEE&…

单机安装基于LNMP结构的WordPress网站 web与数据库服务分离

网站的类型&#xff1a; Jave:LNMT PHP:LNMP Python: LNMU 项目部署&#xff1a; 1.项目的类型&#xff08;项目的开发语言&#xff09; 2.项目运营平台的技术选择 3.尽快让项目运行起来 all in one部署 4. 架构的优化 配置ansible管理环境 配置nginx 配置数据库服务…

Python酷库之旅-第三方库Pandas(001)

目录 一、Pandas库的由来 1、背景与起源 1-1、开发背景 1-2、起源时间 2、名称由来 3、发展历程 4、功能与特点 4-1、数据结构 4-2、数据处理能力 5、影响与地位 5-1、数据分析“三剑客”之一 5-2、社区支持 二、Pandas库的应用场景 1、数据分析 2、数据清洗 3…

failed to lazily initialize a collection of role,解决Hibernate查询报错

Hibernate报错&#xff1a; org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.jiuqi.gov.common.attatchment.entity.AttachmentEntity.properties, could not initialize proxy - no Session at org.hibernate.co…

JVM 堆内存结构 年轻代 老年代

堆内存 内存划分 对于大多数应用&#xff0c;Java 堆是 Java 虚拟机管理的内存中最大的一块&#xff0c;被所有线程共享。此内存区域的唯一目的就是存放对象实例&#xff0c;几乎所有的对象实例以及数据都在这里分配内存。 为了进行高效的垃圾回收&#xff0c;虚拟机把堆内存…

针对SVN、GIT版本管理工具进行源代码加密保护

针对SVN、GIT版本管理工具进行源代码加密保护 在软件开发过程中&#xff0c;版本管理工具如SVN和GIT是不可或缺的组成部分&#xff0c;它们帮助团队管理源代码的变更和版本。然而&#xff0c;这些工具也面临着源代码泄露的安全风险。如果不针对数据进行加密保护&#xff0c;很…

UB9A0全系统全频高精度板卡性能指标

UB9A0 板卡是基于和芯星通自主研发的新一代射频基带及高精度算法一体化 GNSS SoC 芯片—Nebulas Ⅳ开发的全系统全频点高精 OEM 板卡 &#xff0c;支持 BDS&#xff0c;GPS&#xff0c; GLONASS&#xff0c;Galileo&#xff0c;QZSS&#xff0c;NavIC&#xff0c;SBAS&#xff…

android应用的持续构建CI(一)-- 总体设计

一、背景 接下里我希望通过一系列的文章&#xff0c;把android应用的构建梳理一遍&#xff0c;从总体设计到逐个环节的实现。 总体设计jenkins集成手动签名依赖环境应用管理 二、构建流程图 三、技术组件 jenkinsjdkgradle360加固 既然是android应用的持续构建&#xff0c…

使用 Amazon Bedrock Converse API 简化大语言模型交互

本文将介绍如何使用 Amazon Bedrock 最新推出的 Converse API&#xff0c;来简化与各种大型语言模型的交互。该 API 提供了一致的接口&#xff0c;可以无缝调用各种大型模型&#xff0c;从而消除了需要自己编写复杂辅助功能函数的重复性工作。文中示例将展示它相比于以前针对每…

LabVIEW新能源汽车电池性能测试系统

新能源汽车的核心部件之一是电池&#xff0c;其性能直接关系到整车的续航里程、安全性和寿命。为了确保电池的性能和可靠性&#xff0c;测试是必不可少的环节。本文介绍了一种基于LabVIEW的新能源汽车电池性能测试系统&#xff0c;通过LabVIEW与数据采集设备的无缝集成&#xf…

nginx的LNMP构建+discuz论坛

一、LNMP&#xff1a; L&#xff1a;linux 操作系统 N&#xff1a;nginx前端页面的web服务 P&#xff1a;PHP&#xff0c;是一种开发动态页面的编程语言&#xff0c;解析动态页面&#xff0c;起到中间件的作用&#xff08;在nginx和数据库的中间&#xff09;&#xff0c;在中…

modelscope可控细节的长文档摘要

modelscope可控细节的长文档摘要尝试 本文的想法来自今年OpenAI cookbook的一篇实践&#xff1a;summarizing_long_documents&#xff0c;目标是演示如何以可控的细节程度总结大型文档。 如果我们想让大语言模型总结一份长文档&#xff08;例如 10k 或更多tokens&#xff09;&…

WIN32核心编程 - 进程操作(一) 进程基础 - 创建进程 - 进程句柄

公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 进程基础 进程的定义与概念 进程的组成 创建进程 可执行文件 CreateProces 执行流程 GetStartupInfo 进程终止 进程句柄 创建进程 打开进程 进程提权 内核模拟 回溯对象 自身进…

iOS App 测试环境升级,遇到的问题以及解决方法

iOS App 测试环境升级&#xff0c;遇到的问题以及解决方法 Mac 实体机升级到 Sonima 14.5 Xcode 升级到 15.3 问题1&#xff1a; Xcode 编译 WebDriverAgent 失败 尝试下载 最新版本的WDA 源码编译&#xff0c;可以编译成功。 问题2&#xff1a;具体坐标直接点击的代码都会报错…

简洁纯文字类的Typecho主题wenso

主题介绍 文章说说类博客网站源码&#xff0c;页面清新简洁。适合文章说说美文博客网站建站使用&#xff0c;响应式手机版本。 本来是dedecms的模板&#xff0c;也比较简单&#xff0c;适合用来搭建一个文学类的&#xff0c;纯文字的网站&#xff0c;简单的改成了typecho&…

nccl 04 nvidia 官方小程序

1&#xff0c;代码重新编辑 为了地毯式地检查结果的正确性&#xff0c;这里修改了代码 主要步骤为 step1: data_p指向的空间中&#xff0c;分别生成随机数&#xff1b; step2: 分别拷贝到gpu的sendbuff的显存中&#xff1b; step3: 通过nccl_all_reduce sum&#xff1b;…

职场办公受欢迎的电脑桌面便签,手机电脑同步的备忘录

在快节奏的职场生活中&#xff0c;有效的时间管理和信息记录变得尤为重要。为了帮助大家更好地应对工作挑战&#xff0c;好用的电脑桌面便签和手机电脑同步的备忘录&#xff0c;好用便签应运而生&#xff0c;成为了当前职场办公中的得力助手。 好用便签是一款备受青睐的电脑桌…

香橙派AIpro实测:YOLOv8便捷检测,算法速度与运行速度结合

香橙派AIpro实测&#xff1a;YOLOv8便捷检测&#xff0c;算法速度与运行速度结合 文章目录 香橙派AIpro实测&#xff1a;YOLOv8便捷检测&#xff0c;算法速度与运行速度结合一、引言二、香橙派AIpro简介三、YOLOv8检测效果3.1 目标检测算法介绍3.1.1 YOLO家族3.1.2 YOLOv8算法理…