网站建设昆山网站研发流程
news/
2025/10/1 16:16:08/
文章来源:
网站建设昆山,网站研发流程,外贸客户搜索软件,徐州app开发1.1web基本
session 和 cookie 有什么区别#xff1f;
存储位置不同#xff1a;session 存储在服务器端#xff1b;cookie 存储在浏览器端。
安全性不同#xff1a;cookie 安全性一般#xff0c;在浏览器存储#xff0c;可以被伪造和修改。
容量和个数限制#xff1a;…1.1web基本
session 和 cookie 有什么区别
存储位置不同session 存储在服务器端cookie 存储在浏览器端。
安全性不同cookie 安全性一般在浏览器存储可以被伪造和修改。
容量和个数限制cookie 有容量限制每个站点下的 cookie 也有个数限制。
存储的多样性session 可以存储在 Redis 中、数据库中、应用程序中而 cookie 只能存储在浏览器中。
说一下 session 的工作原理
session 的工作原理是客户端登录完成之后服务器会创建对应的 sessionsession 创建完之后会把 session 的 id 发送给客户端客户端再存储到浏览器中。这样客户端每次访问服务器时都会带着 sessionid服务器拿到 sessionid 之后在内存找到与之对应的 session 这样就可以正常工作了。
如果客户端禁止 cookie 能实现 session 还能用吗
可以用session 只是依赖 cookie 存储 sessionid如果 cookie 被禁用了可以使用 url 中添加 sessionid 的方式保证 session 能正常使用。 如何避免 SQL 注入
使用预处理 PreparedStatement。
使用正则表达式过滤掉字符中的特殊字符。
什么是 XSS 攻击如何避免
XSS 攻击即跨站脚本攻击它是 Web 程序中常见的漏洞。原理是攻击者往 Web 页面里插入恶意的脚本代码css 代码、Javascript 代码等当用户浏览该页面时嵌入其中的脚本代码会被执行从而达到恶意攻击用户的目的如盗取用户 cookie、破坏页面结构、重定向到其他网站等。
预防 XSS 的核心是必须对输入的数据做过滤处理。 2.异常模块
2.1基本
throw 和 throws 的区别
throw是真实抛出一个异常。
throws是声明可能会抛出一个异常。
final、finally、finalize 有什么区别
final是修饰符如果修饰类此类不能被继承如果修饰方法和变量则表示此方法和此变量不能在被改变只能使用。
finally是 try{} catch{} finally{} 最后一部分表示不论发生任何情况都会执行finally 部分可以省略但如果 finally 部分存在则一定会执行 finally 里面的代码。
finalize 是 Object 类的一个方法在垃圾收集器执行的时候会调用被回收对象的此方法。
try-catch-finally 中哪个部分可以省略
try-catch-finally 其中 catch 和 finally 都可以被省略但是不能同时省略也就是说有 try 的时候必须后面跟一个 catch 或者 finally。
try-catch-finally 中如果 catch 中 return 了finally 还会执行吗 finally 一定会执行即使是 catch 中 return 了catch 中的 return 会等 finally 中的代码执行完之后才会执行。 运行时异常和一般异常(受检异常)区别是什么 运行时异常包括 RuntimeException 类及其子类表示 JVM 在运行期间可能出 现的异常。 Java 编译器不会检查运行时异常。 受检异常是Exception 中除 RuntimeException 及其子类之外的异常。 Java 编 译器会检查受检异常。 RuntimeException异常和受检异常之间的区别
是否强制要求调用者必须处 理此异常
如果强制要求调用者必须进行处理那么就使用受检异常
否则就选择非受检异常(RuntimeException)。
一般来讲如果没有特殊的要求我们建 议使用RuntimeException异常。
编译时异常和运行时异常区别_编译时异常和运行时异常的区别_夢想家吖的博客-CSDN博客文章目录1、编译时异常因为什么而得名2、编译时异常和运行时异常区别3、编译时异常还有其他名字4、运行时异常还有其他名字5、所有异常都发生在运行阶段的1、编译时异常因为什么而得名编译时异常和运行时异常都发生在运行阶段。编译阶段异常是不会发生的。编译时异常因为什么而得名因为编译时异常必须在编译编写阶段预先处理如果不处理编译器报错因此得名。所有异常都是运行阶段发生的。因为只有程序运行阶段才可以new对象。因为异常的发生都是new异常对象。2、编译时异常和运行时异常区别编译时异常一般_编译时异常和运行时异常的区别https://blog.csdn.net/qq2632246528/article/details/114086425 常见的异常类有哪些
NullPointerException 空指针异常
ClassNotFoundException 指定类不存在
NumberFormatException 字符串转换为数字异常
IndexOutOfBoundsException 数组下标越界异常
ClassCastException 数据类型转换异常
FileNotFoundException 文件未找到异常
NoSuchMethodException 方法不存在异常
IOException IO 异常
SocketException Socket 异常 3.网络模块
3.1基本
http 响应码 301 和 302 代表的是什么有什么区别
301永久重定向。
302暂时重定向。
它们的区别是301 对搜索引擎优化SEO更加有利302 有被提示为网络拦截的风险。
forward 和 redirect 的区别
forward 是转发 和 redirect 是重定向
地址栏 url 显示foward url 不会发生改变redirect url 会发生改变
数据共享forward 可以共享 request 里的数据redirect 不能共享
效率forward 比 redirect 效率高。
简述 tcp 和 udp的区别
tcp 和 udp 是 OSI 模型中的运输层中的协议。tcp 提供可靠的通信传输而 udp 则常被用于让广播和细节控制交给应用的通信传输。
两者的区别大致如下
tcp 面向连接udp 面向非连接即发送数据前不需要建立链接
tcp 提供可靠的服务数据传输udp 无法保证
tcp 面向字节流udp 面向报文
tcp 数据传输慢udp 数据传输快
tcp 为什么要三次握手两次不行吗为什么
如果采用两次握手那么只要服务器发出确认数据包就会建立连接但由于客户端此时并未响应服务器端的请求那此时服务器端就会一直在等待客户端这样服务器端就白白浪费了一定的资源。若采用三次握手服务器端没有收到来自客户端的再此确认则就会知道客户端并没有要求建立请求就不会浪费服务器的资源。 OSI 的七层模型都有哪些
物理层利用传输介质为数据链路层提供物理连接实现比特流的透明传输。
数据链路层负责建立和管理节点间的链路。
网络层通过路由选择算法为报文或分组通过通信子网选择最适当的路径。
传输层向用户提供可靠的端到端的差错和流量控制保证报文的正确传输。
会话层向两个实体的表示层提供建立和使用连接的方法。
表示层处理用户信息的表示问题如编码、数据格式转换和加密解密等。
应用层直接向用户提供服务完成用户希望在网络上完成的各种工作。
get 和 post 请求有哪些区别
get 请求会被浏览器主动缓存而 post 不会。
get 传递参数有大小限制而 post 没有。
post 参数传输更安全get 的参数会明文限制在 url 上post 不会。 4.设计模式
设计模式概览(23种设计模式六大原则)_ThinkCockpit的博客-CSDN博客设计模式概览23种设计模式、设计模式六大原则https://blog.csdn.net/qq_54140018/article/details/129979211 Java设计模式面试题总结_KangJinXuan的博客-CSDN博客Java设计模式面试题_java设计模式面试题https://blog.csdn.net/KangJinXuan/article/details/126608406 单例模式
懒汉式 和饿汉式
饿汉式 直接创建对象 4.1基础
说一下你熟悉的设计模式
单例模式保证被创建一次节省系统开销。
工厂模式简单工厂、抽象工厂解耦代码。
观察者模式定义了对象之间的一对多的依赖这样一来当一个对象改变时它的所有的依赖者都会收到通知并自动更新。
外观模式提供一个统一的接口用来访问子系统中的一群接口外观定义了一个高层的接口让子系统更容易使用。
模版方法模式定义了一个算法的骨架而将一些步骤延迟到子类中模版方法使得子类可以在不改变算法结构的情况下重新定义算法的步骤。
状态模式允许对象在内部状态改变时改变它的行为对象看起来好像修改了它的类。
简单工厂和抽象工厂有什么区别
简单工厂用来生产同一等级结构中的任意产品对于增加新的产品无能为力。
工厂方法用来生产同一等级结构中的固定产品支持增加任意产品。
抽象工厂用来生产不同产品族的全部产品对于增加新的产品无能为力支持增加产品族。
设计模式是一种常用的解决软件设计问题的方法它们被广泛应用于软件开发中。设计模式被分为三种类型创建型、结构型和行为型。下面是所有23种设计模式的详细解释 1、创建型模式 这些模式用于创建对象或者对对象的创建进行优化。 1.1、工厂模式 (Factory Pattern) 定义了一个创建对象的接口但让子类决定要实例化的类是哪一个。工厂方法使得一个类的实例化延迟到其子类。 1.2、抽象工厂模式 (Abstract Factory Pattern) 提供了一种创建一系列相关或相互依赖对象的接口而无需指定它们具体的类。
1.3、单例模式 (Singleton Pattern) 保证一个类只有一个实例并提供一个全局访问点。
1.4、建造者模式 (Builder Pattern) 允许逐步构建复杂对象。与工厂模式不同的是建造者模式更注重于对象的组装方式。
1.5、原型模式 (Prototype Pattern) 通过复制现有的对象来创建新的对象。
2、结构型模式 结构型模式是一类用于组织类和对象之间的关系的设计模式它们通常解决对象的组合和对象之间的依赖关系的问题。结构型模式被分为7个不同的类型。
2.1、 适配器模式(Adapter Pattern) 将一个类的接口转换成客户端所期望的另一种接口。适配器模式通常用于解决两个现有接口之间不兼容的问题以使它们能够在一起工作。
2.2、桥接模式(Bridge Pattern) 将一个对象的抽象部分与它的实现部分分离开来使它们可以独立地变化。桥接模式通常用于解决多种实现方式的问题。
2.3、组合模式(Composite Pattern) 将对象组合成树形结构以表示“整体-部分”的层次结构。组合模式使得客户端可以将单个对象和组合对象一视同仁从而简化了客户端代码。
2.4、装饰器模式(Decorator Pattern) 允许在运行时动态地给对象添加功能而无需修改它们的代码。装饰器模式是一种灵活而高效的替代继承的方式。
2.5、外观模式(Facade Pattern) 为一个复杂的子系统提供了一个简单的接口。通过使用外观模式客户端可以将子系统的复杂性从它们的代码中分离出来。
3、行为型模式 它们关注对象之间的交互和职责分配。这些模式主要用于处理对象之间的通信以及在不同对象之间分配职责和行为。以下是常见的行为型模式及其详解
3.3、模板方法模式Template Method Pattern 定义了一个算法的骨架将一些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的情况下重新定义算法中某些步骤。 3.6、策略模式Strategy Pattern 定义一系列的算法把它们一个个封装起来并且使它们可相互替换。策略模式使得算法可独立于使用它的客户而变化。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/924009.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!