ssh经典面试题
- 格式:doc
- 大小:88.50 KB
- 文档页数:15
第1篇一、选择题1. 云计算网络的主要特点不包括以下哪项?A. 弹性B. 可扩展性C. 分布式D. 高速答案:D2. 云计算网络架构中,以下哪个组件负责资源分配和管理?A. 虚拟化平台B. 网络设备C. 云平台D. 运维团队答案:A3. 云计算网络中,以下哪个协议用于数据传输的加密?A. SSL/TLSB. HTTPC. FTPD. SMTP答案:A4. 云计算网络中,以下哪个技术可以实现负载均衡?A. 虚拟IP地址B. 网络地址转换C. 多播D. 广播答案:A5. 云计算网络中,以下哪个技术可以实现虚拟私有网络(VPN)?A. IPsecB. VPN客户端C. SSL VPND. PPTP答案:A6. 云计算网络中,以下哪个技术可以实现数据中心的网络虚拟化?A. 虚拟交换机B. 虚拟路由器C. 虚拟防火墙D. 虚拟负载均衡器答案:A7. 云计算网络中,以下哪个技术可以实现数据中心网络的自动化管理?A. 软件定义网络(SDN)B. 硬件定义网络C. 网络功能虚拟化(NFV)D. 云网络服务答案:A8. 云计算网络中,以下哪个技术可以实现跨数据中心的网络互联?A. VPNB. 虚拟专线C. 私有云互联D. 公共云互联答案:B9. 云计算网络中,以下哪个技术可以实现数据中心网络的性能优化?A. 数据包过滤B. 网络流量监控C. 负载均衡D. 数据压缩答案:C10. 云计算网络中,以下哪个技术可以实现数据中心网络的弹性扩展?A. 网络地址转换B. 虚拟化技术C. 网络冗余设计D. 弹性负载均衡答案:D二、判断题1. 云计算网络与传统网络相比,安全性更高。
(√)2. 云计算网络中,虚拟化技术可以降低网络设备的成本。
(√)3. 云计算网络中,负载均衡技术可以提高网络的可靠性。
(√)4. 云计算网络中,SDN技术可以实现网络的自动化管理。
(√)5. 云计算网络中,VPN技术可以实现跨地域的数据传输。
(√)三、简答题1. 简述云计算网络的基本架构。
ssh 面试题SSH 是一种网络协议,用于通过一个安全信道连接到远程服务器。
它由 Secure Shell(安全外壳协议)、Secure File Transfer Protocol(安全文件传输协议)和X11远程连接协议组成。
在面试过程中,关于SSH的问题常常被提出,以下是一些常见的SSH面试题及其答案。
1. 什么是SSH?SSH是一种网络协议,用于通过一个安全信道连接到远程服务器。
它提供了对远程计算机的加密认证和安全访问,使得数据传输过程中不容易受到中间人攻击、密码抓取和IP欺骗等威胁。
2. SSH有哪些主要的优点?- 安全性:SSH使用加密算法来保护数据传输过程中的机密性和完整性。
- 认证:SSH支持多种身份验证方法,如密码、公钥和基于证书的身份验证等。
- 端口转发:SSH可以通过端口转发功能,将本地计算机上的应用程序安全地连接到远程服务器上。
- X11转发:通过SSH,可以在远程计算机上运行图形应用程序,并将界面传输到本地计算机进行显示。
- 无需额外的插件或软件:大多数操作系统都内置了SSH客户端和服务器,无需安装额外的软件。
3. SSH连接和登录的过程是什么样的?在SSH连接和登录的过程中,以下是基本的步骤:- 客户端向服务器发起连接请求。
- 服务器回应并提供自己的身份认证信息,包括公钥。
- 客户端验证服务器的身份,检查公钥是否可信。
- 如果服务器验证通过,客户端生成一个随机的密码,然后使用服务器的公钥对密码进行加密,并将其发送给服务器。
- 服务器使用自己的私钥解密密码,并验证是否正确。
- 如果密码验证通过,服务器将让客户端登录到远程计算机。
4. 如何使用公钥与私钥进行身份验证?使用公钥与私钥进行身份验证可以提供更高的安全性。
以下是基本的身份验证过程:- 客户端生成一对密钥:公钥和私钥。
- 客户端将公钥安装到服务器上的用户帐户目录下的`authorized_keys`文件中。
- 在连接过程中,服务器将使用公钥进行加密的方式向客户端发送一条挑战信息。
第1篇一、基础理论题1. 请简要介绍Linux操作系统的特点及其在运维工作中的应用。
解析:Linux操作系统具有开源、稳定、安全性高、可定制性强等特点。
在运维工作中,Linux操作系统被广泛应用于服务器、存储、网络等领域,如Web服务器、数据库服务器、文件服务器等。
2. 什么是IP地址?请解释IPv4和IPv6地址的区别。
解析:IP地址是互联网中用于标识设备位置的数字标识。
IPv4地址采用32位表示,分为A、B、C、D、E五类,其中A、B、C类地址用于公共网络,D类地址用于多播,E类地址为保留地址。
IPv6地址采用128位表示,采用冒号分隔的十六进制形式,旨在解决IPv4地址耗尽的问题。
3. 请解释TCP/IP协议栈中的TCP和UDP协议的区别。
解析:TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议,适用于传输大量数据、需要保证数据完整性的场景。
UDP(用户数据报协议)是一种无连接的、不可靠的、基于数据报的传输层协议,适用于传输少量数据、对实时性要求较高的场景。
4. 请解释DNS域名解析的过程。
解析:DNS(域名系统)是一种将域名转换为IP地址的系统。
域名解析过程如下:(1)本地DNS缓存查询:首先,DNS服务器会检查本地缓存中是否有对应的域名解析记录。
(2)递归查询:如果本地缓存中没有记录,DNS服务器会向根域名服务器查询顶级域名服务器(如.com、.cn等)的IP地址。
(3)迭代查询:顶级域名服务器返回相应的权威域名服务器的IP地址,DNS服务器再次查询该权威域名服务器。
(4)获取IP地址:权威域名服务器返回对应的IP地址,DNS服务器将IP地址返回给客户端。
5. 请解释HTTP协议的工作原理。
解析:HTTP(超文本传输协议)是一种应用层协议,用于在Web浏览器和服务器之间传输数据。
HTTP协议的工作原理如下:(1)客户端发送请求:客户端(如浏览器)向服务器发送HTTP请求,包括请求方法(如GET、POST)、URL、协议版本、请求头等信息。
Java---SSH(MVC)1.谈谈你mvc的理解MVC是Model—View—Controler的简称。
即模型—视图—控制器。
MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。
MVC中的模型、视图、控制器它们分别担负着不同的任务。
视图: 视图是用户看到并与之交互的界面。
视图向用户显示相关的数据,并接受用户的输入。
视图不进行任何业务逻辑处理。
模型: 模型表示业务数据和业务处理。
相当于JavaBean。
一个模型能为多个视图提供数据。
这提高了应用程序的重用性控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。
然后根据处理的结果调用相应的视图来显示处理的结果。
MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。
控制器调用相应的视图来显示处理的结果。
并通过视图呈现给用户。
Struts1.struts1.2和struts2.0的区别?如何控制两种框架中的单例模式?struts1.2和struts2.0的对比a、Action类:struts1.2要求Action类继承一个基类。
struts2.0 Action要求继承ActionSupport基类b、线程模式struts1.2 Action是单例模式的并且必须是线程安全的,因为仅有一个Action的实例来处理所有的请求。
单例策略限制了Struts1.2 Action能做的事情,并且开发时特别小心。
Action资源必须是线程安全的或同步的。
struts2.0 Action为每一个请求产生一个实例,因此没有线程安全问题。
c、Servlet依赖struts1.2 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execut方法。
struts2.0 Action不依赖于容器,允许Action脱离容器单独测试。
ssh 面试题SSH面试题1. 什么是SSH?SSH(Secure Shell)是一种安全的网络协议,用于通过不安全的网络建立安全的远程连接。
它提供了加密的通信通道,以保护数据在客户端和服务器之间的传输安全。
2. SSH有哪些组成部分?SSH由三个主要组成部分构成:SSH客户端、SSH服务器和SSH协议。
2.1 SSH客户端:用于建立SSH连接的软件/工具。
它通常是用户在本地计算机上运行的程序,用于连接到远程SSH服务器。
2.2 SSH服务器:接受来自SSH客户端的连接请求,并提供远程访问和管理功能。
SSH服务器通常运行在远程计算机上。
2.3 SSH协议:规定了SSH客户端和服务器之间通信的规范。
它定义了加密算法、认证过程和数据传输方式等。
3. SSH的工作原理是什么?SSH使用公开密钥加密技术来确保通信信道的安全。
其工作原理如下:3.1 客户端发起连接请求:SSH客户端向SSH服务器发送连接请求。
3.2 服务器认证:服务器收到连接请求后,会发送一个公钥给客户端进行服务器身份认证。
3.3 用户认证:客户端使用本地的私钥对服务器发送的公钥进行加密,然后发送给服务器进行用户身份认证。
3.4 建立加密通道:身份认证成功后,客户端和服务器使用协商好的加密算法建立加密通道。
这样,所有通过该通道传输的数据都将被加密。
3.5 数据传输:客户端和服务器之间可以通过已建立的加密通道进行数据传输。
传输的数据将在客户端和服务器之间进行加密和解密。
4. SSH的优点有哪些?4.1 安全性:SSH提供了加密通信通道,可以保护数据在传输过程中的安全性,防止被窃听或篡改。
4.2 认证:SSH采用公钥加密认证方式,仅信任具有授权的用户能够访问服务器。
4.3 远程访问:通过SSH,用户可以远程访问服务器,执行命令、上传文件等操作,方便进行远程管理和维护。
4.4 端口转发:SSH支持端口转发功能,可以将本地端口和远程端口进行映射,实现本地和远程网络资源的访问。
SSH复习题选择题1、下面哪一个不是框架(D)。
A.SpringB.StrutC.HibernateD.JSP2、下面是框架的是(D)。
A.定义实体类B.数据的增删改查操作C.业务逻辑的描述D.页面展示和控制转发4、在三层结构中,Hibernate承担的任务是(A)。
A.数据的持久化操作B.实体类的定义C.业务逻辑的描述D.页面的显示与控制转发5、下面信息不在Strut2配置文件中配置的是(B)。
A.FormBean配置信息B.Spring声明式事务C.Action转发路径D.Strut2引用的资源文件6、在trut实现的框架中,(B)类包含了e某cute方法的控制器类,负责调用模型的方法,控制应用程序的流程。
A.Aja某B.ActionC.FormD.Method7、下面关于Hibernate的说法,错误的是(C)。
A.Hibernate是一个“对象-关系映射”的实现B.Hibernate是一种数据持久化技术C.Hibernate是JDBC的替代技术D.使用Hibernate可以简化持久化层的编码8、下列说法中错误的是(C)。
A.使用通配符可以优化action的配置B.约定优于配置。
约定的如果好,可以使action配置非常的简洁C.如果Action中存在多个方法时,只能使用method属性指定调用方法D.在trut2中超级链接通常都采用绝对路径,而不使用相对路径,这样便于链接的实现9、下列说法中错误的是(D)。
A.从值栈中取值用value=“参数名”,参数名是action中的参数B.从actionconte某t中取值用#parameter.参数名,参数名是trut中的参数C.在客户端跳转时一次requet只有一个valueStackD.在客户端跳转时一次requet可以有多个valueStack10、和SQL相比,HQL有哪些优点(C)。
A.HQL能够简单的操作表B.HQL是简单的ql语言组成C.HQL是面向对象的检索语言D.HQL对应的是表和表的字段11、一个某ML文件能被浏览器解析的最小要求是(A)。
(问答题+选择题(在55页))Java工程师(程序员)面题Struts,Spring,Hibernate三大框架1.Hibernate工作原理及为什么要用?原理:1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Session 4.创建事务Transation 5.持久化操作6.提交事务7.关闭Session 8.关闭SesstionFactory为什么要用:1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。
他很大程度的简化DAO层的编码工作3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。
映射的灵活性很出色。
它支持各种关系数据库,从一对一到多对多的各种复杂关系。
2.Hibernate是如何延迟加载?1. Hibernate2延迟加载实现:a)实体对象b)集合(Collection)2. Hibernate3 提供了属性的延迟加载功能当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。
3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)类与类之间的关系主要体现在表与表之间的关系进行操作,它们都是对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many4.Struts1流程:1、客户端浏览器发出HTTP请求。
2、根据web.xml配置,该请求被ActionServlet接收。
3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。
网络管理员面试题及答案大全国家职业资格对网管员的定义是从事计算机网络运行、维护的人员。
今天小编给大家带来的是网络管理员面试题,欢迎大家参考。
网络管理员面试题1.请写出568A的线序T568A线序绿白绿橙白蓝蓝白橙棕白棕T568B线序橙白橙绿白蓝蓝白绿棕白棕2.Windows XP每个分区下都包含一个System Volume Information 名的隐藏目录是做什么的?(用户说自己C磁盘容量丢啦你第一反映就是这个,之后是pagefile.sys)System Volume Information”文件夹,中文名称可以翻译为“系统卷标信息”。
这个文件夹里就存储着系统还原的备份信息3.请写出下列服务使用的默认端口pop3\\smtp,DNS ,windows远程终端,DHCP服务_______POP3/SMTP:110/25; DNS:53; windows远程终端:3389 DHCP:67ftp:21 ssh:22 telnet:23 DHCP:67,68 mail:25 110 143 pop3:110 109smtp:25 DNS:53 http:80 snmp:161 oracle:1521 mysql:3306 sql:1421tomcat:8080 8009 windows远程终端 33894.你在局域网内想获得IP 192.168.1.2 的MAC,在XP系统的命令提示符中如何操作?在CMD命令行输入 nbtstat -a 192.168.1.25.将FAT32转换为NTFS分区的命令是( B )A、Convert D: /fs:FATB、Convert d: /fs:NTFSC、Chang C: /fs:NTFSD、Chang C: /fs:FAT6.网卡MAC地址长度是(D )个二进制位(16进制与2进制的换算关系,只是换种方式问,不用你拿笔去算) A、12 B、6 C、24 D、487.查看编辑本地策略,可以在开始/运行中输入(B )(WIN设置的基础之后是注册表)A、edit.MSC B、gpedit.msc C、regedit32 D、regedit8.手动更新DHCP租约,可使用ipconfig命令,加上参数( B)(我们总用/all,我就想知道你这个人是否有拓展知识的能力,有没有摸索过一个命令的除了你自己知道的外它还能完成什么工作)A、/releaseB、/renewC、/allD、/seTCLassid/release_all 释放全部(或指定)适配器的由 DHCP分配的动态IP 地址/renew_all为全部(或指定)适配器重新分配IP地址9.ICMP 在沟通之中,主要是透过不同的类别(Type)与代码(Code)让机器来识别不同的连线状态,请问 type 8 名称是(D ),代表的意思___回送消息________________________.(同上,整天ping。
计算机运维面试题及答案一、选择题1. 在Linux系统中,以下哪个命令用于查看当前系统负载?A. topB. uptimeC. psD. ls答案:B2. 以下哪个选项是正确的IP地址格式?A. 192.168.1.1B. 256.100.50.25C. 192.168.1.256D. 10.0.0.0.1答案:A3. 在Windows系统中,哪个服务负责域名解析?A. DNSB. DHCPC. FTPD. HTTP答案:A二、填空题1. 在Linux系统中,使用________命令可以查看当前路径下的所有文件和目录。
答案:ls2. 在Windows系统中,________服务用于管理网络配置。
答案:DHCP3. 一个标准的B类IP地址的子网掩码是________。
答案:255.255.0.0三、简答题1. 请简述什么是DNS服务?答案:DNS服务,即域名系统服务,是互联网上的一项服务,它将域名和IP地址相互映射,使人更方便地访问互联网。
用户只需要通过易于记忆的域名访问,而DNS服务会将域名解析为IP地址,从而访问到相应的服务器。
2. 描述一下在Linux系统中如何查看当前系统运行的进程。
答案:在Linux系统中,可以通过执行`ps`命令来查看当前系统运行的进程。
使用`ps aux`可以查看所有进程的详细信息,包括进程ID、用户、CPU和内存使用情况等。
四、论述题1. 论述在计算机运维中,如何确保系统的高可用性?答案:确保系统的高可用性是计算机运维中的关键任务。
这通常涉及以下几个方面:- 定期进行系统维护和更新,以修复已知的安全漏洞和性能问题。
- 实施冗余设计,如使用多台服务器和负载均衡器,以确保在一台服务器发生故障时,其他服务器可以接管其工作。
- 制定和执行灾难恢复计划,以便在发生严重故障时能够迅速恢复服务。
- 监控系统性能和日志,以便及时发现并解决问题。
- 定期进行系统备份,确保数据的安全和可恢复性。
网络工程师面试题及答案1.你是如何设计网络拓扑图的?答:在设计网络拓扑图时,需要考虑网络规模、网络性能、网络可靠性等因素。
首先需要确定网络的层次结构,例如分布式、中心化等。
其次需要考虑网络设备的选择和配置,例如路由器、交换机、防火墙等。
最后需要进行相应的网络规划和地址分配,例如IP地址的规划和子网划分等。
2.如何对网络进行安全性评估?答:对网络进行安全性评估时,需要进行相应的漏洞扫描、渗透测试等安全检测,分析网络设备的漏洞和安全隐患,并进行相应的修补和加固措施,例如安装防火墙、加密通信等,提高网络的安全性。
3.如何优化网络性能?答:优化网络性能需要从多个方面入手,例如增加带宽、优化路由器和交换机配置、使用负载均衡等。
同时,还可以通过网络优化软件和网络管理工具,对网络进行监控和管理,以便快速定位和解决网络问题。
4.如何配置路由器和交换机?答:配置路由器和交换机需要根据网络拓扑和设备要求进行相应的配置。
其中,路由器需要配置IP地址、路由表、NAT等;交换机需要配置VLAN、端口速率、流控等。
在配置过程中,需要遵循安全原则,例如启用密码、关闭不必要的服务等。
5.如何进行网络流量分析?答:网络流量分析需要使用相应的网络分析工具,例如Wireshark等。
通过对网络数据包的捕获和分析,可以了解网络流量的情况,快速定位网络问题,并进行相应的优化和改进。
6.如何保护网络安全?答:保护网络安全需要进行相应的防御措施,例如安装防火墙、启用加密通信、禁用不必要的服务等。
同时还需要加强对网络设备和数据的监控和管理,例如使用入侵检测系统和网络安全管理工具等。
7.如何进行网络备份和恢复?答:进行网络备份和恢复需要选择相应的备份和恢复软件,并对网络设备和数据进行相应的备份和存储。
在备份过程中,需要注意备份的频率和备份的数据内容。
在恢复过程中,需要进行相应的数据恢复和设备配置恢复。
8.如何优化网络安全性能?答:优化网络安全性能需要从多个方面入手,例如加强对网络设备和数据的监控和管理、加强对网络入侵的检测和防御、实现网络数据的加密传输等。
(一)Spring:1.Spring框架的优点都有什么?Spring是分层的架构,你可以选择使用你需要的层而不用管不需要的部分Spring是POJO编程,POJO编程使得可持续构建和可测试能力提高依赖注入和IoC 使得JDBC操作简单化Spring是开源的免费的Spring使得对象管理集中化合简单化2.描述一下Spring中实现DI(Dependency Injection)的几种方式方式一:接口注入,在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。
方式二:Type2 IoC: Setter injection对象创建之后,将被依赖对象通过set方法设置进去方式三:Type3 IoC: Constructor injection对象创建时,被依赖对象以构造方法参数的方式注入Spring的方式3.简述你对IoC(Inversion of Control)的理解一个类需要用到某个接口的方法,我们需要将类A和接口B的实现关联起来,最简单的方法是类A中创建一个对于接口B的实现C的实例,但这种方法显然两者的依赖(Dependency)太大了。
而IoC的方法是只在类A中定义好用于关联接口B的实现的方法,将类A,接口B和接口B的实现C放入IoC的容器(Container)中,通过一定的配置由容器(Container)来实现类A与接口B的实现C的关联。
4.Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法。
在context中定义DataSource,创建SessionFactoy,设置参数;DAO类继承HibernateDaoSupport,实现具体接口,从中获得HibernateTemplate进行具体操作。
在使用中如果遇到OpenSessionInView的问题,可以添加OpenSessionInViewFilter或OpenSessionInViewInterceptor。
5.请介绍一下Spring的事务管理6.如何在Spring的applicationContext.xml里面使用JNDI而不是datasource?可以使用”org.springframework.jndi.JndiObjectFactoryBean”来实现。
示例如下:<bean id=”dataSource”><property name=”jndiName”><value>java:comp/env/jdbc/appfuse</value></property></bean>7.Spring里面如何配置数据库驱动?org.springframework.jdbc.datasource.DriverManagerDataSource”数据源来配置数据库驱动。
示例如下:<bean id=”dataSource”><property name=”driverClassName”><value>org.hsqldb.jdbcDriver</value></property><propert y name=”url”><value>jdbc:hsqldb:db/appfuse</value></property><property name=”username”><value>sa</value></property><property name=”password”><value></value></property></bean>8.Spring里面applicationContext.xml文件能不能改成其他文件名?ContextLoaderListener是一个ServletContextListener, 它在你的web应用启动的时候初始化。
缺省情况下,它会在WEB-INF/applicationContext.xml文件找Spring的配置。
你可以通过定义一个<context-param>元素名字为”contextConfigLocation”来改变Spring配置文件的位置。
示例如下:<listener><listener-class>org.springframework.web.context.ContextLoaderListener <context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/xyz.xml</param-value></context-param></listener-class></listener>9.如何在web应用里面配置spring?<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>10.解释一下Dependency injection(DI,依赖注入)和IOC(Inversion of control,控制反转)?参考答案:依赖注入DI是一个程序设计模式和架构模型,一些时候也称作控制反转,尽管在技术上来讲,依赖注入是一个IOC的特殊实现,依赖注入是指一个对象应用另外一个对象来提供一个特殊的能力,例如:把一个数据库连接已参数的形式传到一个对象的结构方法里面而不是在那个对象内部自行创建一个连接。
控制反转和依赖注入的基本思想就是把类的依赖从类内部转化到外部以减少依赖应用控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象的引用,传递给它。
也可以说,依赖被注入到对象中。
所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。
11.spring中的BeanFactory与ApplicationContext的作用和区别?作用:1. BeanFactory负责读取bean配置文档,管理bean的加载,实例化,维护bean之间的依赖关系,负责bean的声明周期。
2. ApplicationContext除了提供上述BeanFactory所能提供的功能之外,还提供了更完整的框架功能:a. 国际化支持b. 资源访问:Resource rs = ctx. getResource(”classpath:config.properties”), “file:c:/config.properties”c. 事件传递:通过实现ApplicationContextAware接口3. 常用的获取ApplicationContext的方法:FileSystemXmlApplicationContext:从文件系统或者url指定的xml配置文件创建,参数为配置文件名或文件名数组ClassPathXmlApplicationContext:从classpath的xml配置文件创建,可以从jar包中读取配置文件WebApplicationContextUtils:从web应用的根目录读取配置文件,需要先在web.xml中配置,可以配置监听器或者servlet来实现<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener><servlet><servlet-name>context</servlet-name><servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup></servlet>这两种方式都默认配置文件为web-inf/applicationContext.xml,也可使用context-param指定配置文件<context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/myApplicationContext.xml</param-value></context-param>12.如何在web环境中配置applicationContext.xml文件?<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>或:<servlet><servlet-name>context</servlet-name><servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class><load-on-startup>1</load-on-startup></servlet>通过如下方法取出applicationContext实例:ApplicationContextac=WebApplicationContextUtils.getWebApplicationContext(this.getServletContext);13.如何配置spring+struts?在struts-config.xml加入一个插件,通过它加载applicationContext.xml在struts-config.xml修改action-mapping标记,具体action交给了DelegateActionProxy 通过DelegateActionProxy进入一spring的环境。