百度
360搜索
搜狗搜索

struts2框架面试题,关于struts2,hibernate2,spring3,面试时让我说下这三大框架的工作原理,东西太多了,应该侧重说哪些东西详细介绍

本文目录一览: struts1和struts2的区别,面试题!!!!!!!!

struts1是Apache Jakarta项目 ,但是它的性能不怎么样,当时WebWork技术很好,但是由于它推出的晚,并且没有APACHE的名气大。所以还有一大部分人用。那时APACHE就想,我这么下去也不是办法,迟早被WEBWORK干掉。于是想了想,就把WEBWORK收购了。在 struts 和WebWork的技术基础上进行了合并,就是全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。因为Struts 2和Struts 1有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化
只讲区别:
1,struts2是在webwork2的基础上发展而来的
2,struts2的耦合度很小 ,不依赖servletAPI 属于无侵入式设计

用Struts2开发和用jsp、servlet开发有什么区别?(面试题,求详细答案,谢谢)

xbwenku1 说的很对
其实在开发上没什么区别就是struts2将MVC已经分好层了,而jsp+servlet还需要自己去维护MVC
具体来说 没什么区别,Struts2 只是实现了 MVC的开发模式,实现了相当的功能为我们开发中省去了不少麻烦,而 jsp,servlet 就需要我们自己去维护MVC的结构,开发麻烦
分层更清晰,更明确,更易编写和维护
你好:
1. Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts
2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet
API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts
2有着太大的变化,但是相对于WebWork,Struts 2只有很小的变化。

Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。
希望可以帮助到你

关于struts2,hibernate2,spring3,面试时让我说下这三大框架的工作原理,东西太多了,应该侧重说哪些东西

struts2 是控制业务逻辑
hibernate 做持久化的
spring 3 面向切面,依赖注入和ioc
先总体说说它们3个代表MVC开发模式中的哪一层..
struts2代表控制层,hibernate数据持久层,spring相当于容器,可以整合struts2,hibernate。
并且spring的aop可以在service层实现事物控制.
然后分别细说
先说struts2
struts2提供了众多拦截器,页面提交的参数会经过默认的18个拦截器的过滤...最终能把页面提交的参数自动转换成需要的类型.
能自定义拦截器,实现aop编程,实现如权限拦截等功能,
数据校验,能对指定方法校验,支持xml校验.
能实现国际化.
支持多种表现层技术,如:JSP、freeMarker、Velocity等
支持ajax,
模型驱动,能把参数封装到模型驱动里,模型驱动会把对象放置到栈顶,在页面通过ognl表达式,能够回显数据.
如果你对值栈了解很透彻的话...这里可以继续吹下去..比如OgnlValueStack 类包含两个重要的属性 一个root和一个context。
root实际上是一个ArrayList,root保存着调用Action的实例,
context是一个Map,context中又有一个默认顶层对象_root,它是属性root的复制,在页面访问它是不需要加#号的...后面可以继续..我懒得打了..
其它的比如Token令牌啊,怎么防止表单重复提交.....争取吹个半小时..如果面试官还没让你听的话
Ok
继续hibernate
hibernate是ORM框架,它对jdbc进行了封装,在分层结构中处于持久化层,
它能建立面向对象的域模型和关系数据模型之间的映射.
它大大简化了dao层的编码工作
然后就说说session中的缓存和快照表
也可以说说get和load获得方法有什么区别
在说说二级缓存...它是SessionFactory级别的缓存.是进程范围的..他有内置和外置..二级缓存就是指外置的....分别有4个...集合缓存,时间戳缓存..查询缓存..类级别的缓存....一般用于很少被修改的数据..允许偶尔的并发问题
...在其它的吹了那么几下.....什么?还没让你停?
ok
继续sping
这里先说说什么是IOC..DI..可以xml实现..也能注解...我一般都是用注解.
然后就重点说说aop就行了....什么切面.连接点...切入点.目标对象..通知...织入啊...拿个自己了解的吹吧..
在说说用aop怎么实现事物控制...
还没让你停?
就说说ssh整合吧.
.....打了...半个多小时...楼主你懂的....

面试官问我Spring在MVC中起的是什么作用 Struts2起的是什么作用

SPRING MVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。编辑本段Spring MVC 框架Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。编辑本段Spring MVC 优点:  Lifecycle for overriding binding, validation, etc.;易于同其它View框架(Titles等)无缝集成,采用IOC便于测试。   
它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比 struts所没有的优势。而且框架本身有代码,而且看起来也不费劲比较简单可以理解。
struts2
作为web层框架应该大体实现以下功能:1.获取表单内容,并组织生成参数对象2.根据请求的参数转发请求给适当的控制器3.在控制器中调用业务接口4.将业务接口返回的结果包装起来发送给指定的视图,并由视图完成处理结果的展现5.做一些简单的校验或是国际化工作
Spring在MVC中主要是管理Model类的依赖注入。struts2起的是C控制器和V视图转向。
问你个问题 你做过一些小项目么用ssh
建议你做一个小小的增删改查然后你就明白了。他们之间是怎么回事的 spring在mvc中是整合struts和hibernate的 struts2分离了model和view层使代码更加清晰易读。关于struts2我想你要是把小项目理解了回答起来会更加得心应手。
我这俩天也在面试呢,我也是个新人,我看了看觉得Spring的核心技术不是依赖注入(ioc)和面向切面编成么。你答答这俩个应该就可以了,这俩个具体是什么你网上查查。Struts2的话主要是控制转发页面和检验参数数据吧,我答的也不好,希望能帮到你
你在网上搜完之后自己理解一下就可以了。
1、首先spring是什么,spring是一个集成了许多第三方框架的大杂烩,其核心技术是IOC(控制反转,也称依赖注入)和AOP(面向切面编程);然后深入说,AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 (比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。 Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。这样就差不多了。
2、依旧struts2是什么,Struts 2框架本身大致可以分为3个部分:核心控制器FilterDispatcher、业务控制器Action和用户实现的企业业务逻辑组件。核心控制器FilterDispatcher是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件是需要用户来自己实现的。用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器FilterDispatcher来使用。简要介绍流程:客户端浏览器发出HTTP请求。根据web.xml配置,该请求被FilterDispatcher接收。根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton。Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。返回HTTP响应到客户端浏览器。

J2EE经典面试题及答案

J2EE经典面试题及答案
  J2EE,使用Java技术开发企业级应用的一种事实上的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物。下面为各位考生分享的是J2EE经典面试题及答案,希望对大家有所帮助!

  1.MVC的各个部分都有那些技术来实现?如何实现?
  答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。
  2.J2EE是什么?
  答:Je22是Sun公司提出的多层(multi-diered),分布式(distributed),基于组件(component-base)的企业级应用模型(enterpriese application model).在这样的一个应用系统中,可按照功能划分为不同的组件,这些组件又可在不同计算机上,并且处于相应的层次(tier)中。所属层次包括客户层(clietn tier)组件,web层和组件,Business层和组件,企业信息系统(EIS)层。
  3.J2EE是技术还是平台还是框架?
  答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。
  J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
  4.STRUTS的应用(如STRUTS架构)
  答:Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。 采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。 Struts有如下的主要功能:
  一.包含一个controller servlet,能将用户的请求发送到相应的Action对象。
  二.JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。
  三.提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息。
  5.WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。
  答:Web ServiceWeb Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
  JAXP(Java API for XML Parsing) 定义了在Java中使用DOM, SAX, XSLT的通用的接口。这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。
  JAXM(Java API for XML Messaging) 是为SOAP通信提供访问方法和传输机制的API。
  WSDL是一种 XML 格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。相关的具体端点即组合成为抽象端点(服务)。
  SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。
  UDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。
  6.C/S 与 B/S 区别:
  答:有如下八个方面的不同:
  (1)硬件环境不同:
  C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务.
  B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备. 信息自己管理. 有比C/S更强的适应范围, 一般只要有操作系统和浏览器就行
  (2)对安全要求不同
  C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用C/S 结构适宜. 可以通过B/S发布部分可公开信息.
  B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
  (3)对程序架构不同
  C/S 程序可以更加注重流程, 可以对权限多层次校验, 对系统运行速度可以较少考虑.
  B/S 对安全以及访问速度的多重的考虑, 建立在需要更加优化的基础之上. 比C/S有更高的要求 B/S结构的程序架构是发展的趋势, 从MS的.Net系列的BizTalk 2000 Exchange 2000等, 全面支持网络的构件搭建的系统. SUN 和IBM推的JavaBean 构件技术等,使 B/S更加成熟.
  (4)软件重用不同
  C/S 程序可以不可避免的整体性考虑, 构件的重用性不如在B/S要求下的构件的重用性好.
  B/S 对的多重结构,要求构件相对独立的功能. 能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
  (5)系统维护不同
  C/S 程序由于整体性, 必须整体考察, 处理出现的问题以及系统升级. 升级难. 可能是再做一个全新的系统
  B/S 构件组成,方面构件个别的更换,实现系统的无缝升级. 系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
  (6)处理问题不同
  C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统
  B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是C/S无法作到的. 与操作系统平台关系最小.
  (7)用户接口不同
  C/S 多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
  B/S 建立在浏览器上, 有更加丰富和生动的表现方式与用户交流. 并且大部分难度减低,减低开发成本.
  (8)信息流不同
  C/S 程序一般是典型的中央集权的机械式处理, 交互性相对低
  B/S 信息流向可变化, B-B B-C B-G等信息、流向的变化, 更像交易中心。
  7.什么是JNDI

阅读更多 >>>  struts标签库,使用struts做一个用户登陆项目,但是为什么jsp页面不能辨认html标签,提示unknown tag(html:...)?

MVC面试题:有了stuts的mvc为什么还要spring的mvc

不管怎么说 你是去面试的 这样不太好吗 除非你自己想 out 了
springMVC是一项技术,struts的MVC是一种思想,springMVC更加简洁和方便
不知道从哪方面进行回答,因为没接触过spring mvc
你可以反问它,你每天都要拉屎,为什么还要吃饭?
1:spring3 mvc开发效率高于struts mvc
2:spring3 mvc可以认为已经100%零配置
3:strutsmvc是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现restful url
而struts mvc的架构实现起来要费劲
因为struts2 action的一个方法可以对应一个url
而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了
4:spring3mvc的方法之间基本上独立的,独享request response数据
请求数据通过参数获取,处理结果通过ModelMap交回给框架
方法之间不共享变量
而strutsmvc搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的
这不会影响程序运行,却给我们编码 读程序时带来麻烦
5:由于Struts2需要针对每个Request进行封装,把Request,Session等Servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全。所以在原则上,是比较耗费内存的。
有了struts mvc可以不用spring mvc 反之一样,spring mvc不爽的地方就是不如struts 接前台传来的参数方便,struts可以直接定义多个成员变量通过set方法来接参数,多个方法可以共享变量,但spring每个方法只能定义一个对象来接受前台参数而且仅仅是局部变量。

用Struts2开发和用jsp、servlet开发有什么区别?(面试题,求详细答案,谢谢)

struts是mvc框架,是servlet的整合形式。用起来更方便。
Struts2 是MVC 框架,它的基础还是:jsp、servlet
使用纯jsp页面属于modal1开发模式也就是jsp+javabean,使用servlet就是modal2开发模式也就是jsp+servlet+javabean,struts2就是mvc2,struts充当控制器,开发速度更快,更易于维护。

风情java面试题架构的原理

1、java中MVC架构的原理2、ssh三大框架的作用及其好处3、forward和redirect的区别1.java中MVC架构的原理在MVC设计模式中:M代表Model,负责整个解决方案的业务逻辑实现,底层的数据库也由Model访问和操作;V代表View,负责系统向用户的展示,主要由HTML及JSP等完成;C代表Controller,负责用户界面和业务逻辑层的通信控制,一方面解释来自用户界面的输入,识别用户动作(如点击按钮等),调用相应Model中的方法,另一方面处理来自Model的事件和返回的执行结果,调用适当的View显示给用户。2.ssh三大框架的作用及其好处1》Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。2》Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(messageresources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。3》Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用4》JAVA三大框架用来做WEN应用。struts主要负责表示层的显示spring利用它的IOC和AOP来处理控制业务(负责对数据库的操作)hibernate主要是数据的持久化到数据库3.forward和redirect的区别Forward和Redirect代表了两种请求转发方式:直接转发和间接转发(重定向)。对应到代码里,分别是RequestDispatcher类的forward()方法和HttpServletRequest类的sendRedirect()方法。对于间接方式(重定向),服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。它本质上是两次HTTP请求,对应两个request对象。对于直接方式,客户端浏览器只发出一次请求,Servlet把请求转发给Servlet、HTML、JSP或其它信息资源,由第2个信息资源响应该请求,两个信息资源共享同一个request对象。

想面试Java开发岗位,请问过来人要准备的专业面试题都有哪些

首先确认,你是java行业的新手。
面试题。
java基础部分(常见的):
1、java有几种基本数据类型。
2、冒泡排序,(笔试常出现)
3、解释什么是类的成员变量,局部变量,实例成员变量,类成员变量?
4、最狠得就是——什么是面向对象,这个只能自己组织语言,按自己的理解来回答,根本找不到具体答案。
5、抽象类与接口的区别。
6、线程有几种实现方式,分别是什么?
7、如何使线程同步?
8、什么是GC?
9、构造方法是否能被重写?为什么?
10、java关键字是否区分大小写?
11、for循环里的三个表达式的执行顺序是什么?
12、简述什么是关系型数据库?
13、arrayList与linkedList的区别?
14、String与StringBuffer的区别?
数据库部分(常见):
1、组函数,2、having和where的区别,3、伪列,4、怎么实现数据分页?5、表链接6、事务(ACID)7、数据安全8、序列9、索引10、你所参与过的项目用了几个表?
JDBC部分(常见):
1、JDBC的六个步骤。
2、JDBC分页。
Servlet(常见):
1、客户端发送请求的几种方式。
2、servlet的生命周期的几个阶段。
3、forward跳转与redirect跳转的区别。
4、cookie与session的区别。
5、三大作用域。
6、连接池。
JSP(常见):
1、jsp的九大内置对象。
2、EL表达式。
3、JSTL标签库。
javaScript(很少会问,了解即可):
1、DOM:对象,文档,模型
2、鼠标点击事件:
AJAX(了解):
1、ajax请求与传统请求的区别。
框架相关:
1、Struts2数据处理机制。
2、OGNL表达式。
3、了解下值栈。
4、MVC开发模式的好处。
5、Hibernate与MyBatis的区别。
6、连接池
7、struts2与SpringMVC的区别。
8、IOC,DI。
9、AOP。
10、运用框架的好处。
11、用到过的开发模式有哪些?
注:以上内容只要会一大部分,面试基本都会通过,如果全部会的话,就可以挑offer了,会一半就有很大的可能了(手都敲麻了.。。。)。

网站数据信息

"struts2框架面试题,关于struts2,hibernate2,spring3,面试时让我说下这三大框架的工作原理,东西太多了,应该侧重说哪些东西"浏览人数已经达到18次,如你需要查询该站的相关权重信息,可以点击进入"Chinaz数据" 查询。更多网站价值评估因素如:struts2框架面试题,关于struts2,hibernate2,spring3,面试时让我说下这三大框架的工作原理,东西太多了,应该侧重说哪些东西的访问速度、搜索引擎收录以及索引量、用户体验等。 要评估一个站的价值,最主要还是需要根据您自身的需求,如网站IP、PV、跳出率等!