《SSH框架整合详解》项目实践试卷

合集下载

ssh框架期末试题及答案

ssh框架期末试题及答案

ssh框架期末试题及答案以下是基于题目给出的要求的文章正文:SSH框架期末试题及答案一、概述SSH框架是指由Struts、Spring和Hibernate三个开源框架组合而成的一种企业级Java应用开发架构。

它能够有效地整合Web层、业务层和持久层,提供了一种全面且高效的开发方式。

本文将为您呈现SSH框架期末试题及答案,帮助您复习和巩固对该框架的理解。

二、试题部分1. 简述SSH框架的组成和作用。

答:SSH框架由Struts、Spring和Hibernate三个开源框架组合而成。

Struts负责处理Web请求和页面跳转,Spring负责管理对象的创建和依赖注入,Hibernate负责数据库持久化操作。

SSH框架能够有效地整合这三个框架,提供了一种分层架构的开发方式,使得开发人员能够更加专注于业务逻辑的实现,提高了开发效率和代码的可维护性。

2. 请说明Struts、Spring和Hibernate框架各自的优势和适用场景。

答:Struts框架主要用于处理Web层的请求和页面跳转,其优势在于对MVC设计模式的良好支持和强大的页面标签库,适用于开发需要页面交互和跳转的Web应用。

Spring框架是一个轻量级的Java开发框架,可以方便地集成各种第三方框架和库。

它的优势在于依赖注入和面向切面编程的支持,简化了开发流程,提高了代码的可测试性和可维护性。

Spring框架适用于各种类型的Java应用开发。

Hibernate框架是一个强大而成熟的对象关系映射框架,提供了方便的CRUD操作和数据库事务管理。

它的优势在于使用面向对象的方式操作数据库,屏蔽了底层SQL语句的细节。

Hibernate框架适用于需要操作数据库的应用程序。

3. 请简述SSH框架的工作原理。

答:SSH框架的工作原理可以分为以下几个步骤:- 客户端发起HTTP请求,请求到达前端控制器(通常是Struts的ActionServlet)。

- 前端控制器根据请求URL的映射规则,将请求转发给具体的Action处理。

ssh整合题

ssh整合题

其实spring,hibernate,struts面试的话一般不会问什么太深的问题一般只是看你用过没有做过什么什么项目有个面试官就问我ssh集成要配置多少个xml文件哇哈哈很简单的就答出来了不过有些同学也问得挺难的下面是些常问的问题1.MVC,分析一下struts是如何实现MVC的m:JavaBean 或结合EJB 组件或者pojo构成c:Action 来实现v:一组JSP 文件及其标签构成。

2.struts中的几个关键对象的作用Action:控制器类,ActionForm:表单对象,DynaValidatorForm:动态form,ActonMapping:配置文件中action节点的信息..3.Hibernate有哪几种查询数据的方式hql查询,sql查询,条件查询4.load()和get()的区别hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,load默认支持延迟加载,在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,只能抛异常ObjectNotFoundEcception;所说的load方法抛异常是指在使用该对象的数据时,数据库中不存在该数据时抛异常,而不是在创建这个对象时。

由于session 中的缓存对于hibernate来说是个相当廉价的资源,所以在load时会先查一下session缓存看看该id对应的对象是否存在,不存在则创建代理(load时候之查询一级缓存,不存在则创建代理)。

get()现在一级缓存找,没有就去二级缓存找,没有就去数据库找,没有就返回null ;而对于get方法,hibernate一定要获取到真实的数据,否则返回null。

5.spring的事务有几种方式?谈谈spring事务的隔离级别和传播行为。

声明事务和编程事务隔离级别:- DEFAULT使用数据库默认的隔离级别- READ_UNCOMMITTED会出现脏读,不可重复读和幻影读问题- READ_COMMITTED会出现重复读和幻影读- REPEATABLE_READ会出现幻影读- SERIALIZABLE最安全,但是代价最大,性能影响极其严重和传播行:- REQUIRED存在事务就融入该事务,不存在就创建事务- SUPPORTS存在事务就融入事务,不存在则不创建事务- MANDATORY存在事务则融入该事务,不存在,抛异常- REQUIRES_NEW总是创建新事务- NOT_SUPPORTED存在事务则挂起,一直执行非事务操作- NEVER总是执行非事务,如果当前存在事务则抛异常- NESTED嵌入式事务6.Spring对多种ORM框架提供了很好的支持,简单描述在Spring中使用Hibernate的方法,并结合事务管理。

ssh框架技术考试题

ssh框架技术考试题

黄淮学院信息工程学院2012-2013学年度第二学期期末考试《可视化编程技术》A卷注意事项:本试卷适用于2010 级计算机科学与技术、软件工程(本科)专业学生使用。

一、单项选择题(在下列每题的四个选项中,只有一个选项是符合试题要求的。

请把答案填入答题框中相应的题号下。

每小题2分,共30分)1.下面哪个选项不属于MVC三个核心模块(C)A.模型 B.视图 C.数据库连接 D.控制器2.在struts 实现的MVC框架中(A)类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程A.Action B.ajax C.actionservlet D.JSP3.下列说法中错误的是(C)A.使用通配符可以优化action的配置。

B.约定优于配置。

约定的如果好,可以使action配置非常的简洁。

C.如果Action中存在多个方法时,只能使用method属性指定调用方法。

D.在struts2中超级链接通常都采用绝对路径,而不使用相对路径,这样便于链接的实现。

4. 下列说法中错误的是(D)。

A.从值栈中取值value=“参数名”,参数名是action中的参数。

B.从actioncontext中取值#parameters.参数名,参数名是struts 中的参数。

C.在客户端跳转时一次request只有一个valueStack。

D.在客户端跳转时一次request可以有多个valueStack。

5. Struts2标签中,( B)标签用于迭代输出集合中的元素,包括List、Set和数组。

A.bean B.iterator C.param D.i18n6.如果需要在页面中输出某变量的值,则在Struts中采用( D)标签输出改变量的值。

A.param B.if C.bean D.property7. Struts2的Action类中有多个方法时,可以使用<action>标签的(C)属性来指定需要调用的方法。

ssh框架考试试题

ssh框架考试试题

Java 考试笔试试卷1) 1)下列关于package元素中说法正确的是()。

(选择一项)a) a)name 属性为必需的并且是唯一的,用来指定包得名称<.package name=””>属性为必须的并且是唯一的,用来指定包的名称b) b)extends属于是一个可选属性,定义了包的命名空间c) c)namespace是指要扩展的命名空间d) d)package元素中只能包含一个Action配置2) Hibernate 中实体类对象的状态不包括()。

(选择一项)a) 瞬时状态b) 持久状态c) 查询状态d) 游离状态3) 关于Web服务遵循的标准技术,下面错误的是()。

(选择一项)a) XMLb) SOAPc) WSDLd) HTML4) 在Oracle 数据库中在使用序列时,需要使用到序列的哪些伪列()。

(选择二项)a) nextvalb) nextvaluec) currvald) currvalue5) 以下关于Struts2的配置内容应该在哪个配置文件中编写()。

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAdnExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</utl-pattern></filter-mapping>(选择一项)a) struts-defalut.xmlb) struts.xmlc) web.xmld) filter.xml6) 在Hibernate的ORM映射文件中包含:<class name=”er” table=”user”>,这一句中table属性的作用是().(选择一项)a) 指定表名b) 指定类名c) 指定数据库名d) 指定ORM映射文件名7) 以下选项中,关于依赖注入的描述正确的是()。

SSH复习题

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)。

SSH框架面试题(自己+别人的试题)

SSH框架面试题(自己+别人的试题)

(问答题+选择题(在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 进行处理。

SSH考试题

SSH考试题

SSH考试题一.单项选择题及填空题(每题2分共30分)1.SSH中,依次处理的哪一层的实现?A.Struts –业务逻辑层;Hibernate-表现层;Spring-持久层B.Struts-表现层;Hibernate-业务逻辑层;Spring-持久层C.Struts-持久层;Hibernate-表现层;Spring-业务逻辑层D.Struts-表现层;Hibernate-持久层;Spring-业务逻辑层2.对于Struts2中动态方法调用的方式,下列哪项使用不正确?a.<action name=”testRegister”class=”com.icss.oa.action.RegisterAction”method=”addUser”>b. <s:form action=”login2!login.action”>login2对应action的name,后面的login对应action里的方法名c.<action name=”*Login” class=”com.icss.oa.actin.Login2Action” method=“{1}“>d.<s:form action=”login2!login.action>login2对应action的方法名,后面的login对应action里的name3.Struts2中,通过下列哪种方式获取不到servletApi?A.ActionContext b ServletContext c ServletActionContext d。

接口ServletContextAware,ServletRequestAware,ServletResponseAware访问Servlet对象4.和SQL相比,HQL有哪些优点?A.HQL能够简单的操作表b。

HQL是简单的sql语言组成c。

HQL是面向对象的检索语言D。

SSH整合练习

SSH整合练习

开发Struts2、Hibernate、Spring集成程序Myeclipse10.7下struts2.1 spring3.1 hibernate4.1整合图解ssh整合遇到的问题很多,这里只对我自己遇到的问题进行一个详细的说明:一、create a web project ,输入项目名称,选择java 6.0 ,finish。

二、选择新建的项目名,右键myeclipse ,选择add struts capabilities选择struts2.1,并选择filter name 默认只struts2,url pattren为/*,点击next.为新建的项目选择struts2 libraries,如图所示至此添加struts2 完成项目目录如下图三、搭建spring右键选择工程名,选择myeclipse,然后add spring capabilities选择spring3.1 ,并添加三个包,spring core libraries,spring persistence libraries和spring web libraries,JAR Library Installation里选择Copy到lib目录(避免发布到Tomcat时出问题)。

生成applicationContext.xml文件,Folder中选择WebRoot/WEB-INF,然后点击Finish。

至此搭建spring完成四、搭建hibernate选择项目工程名,右键myeclipse,add hibernate capabilities选择hibernate 4.1 ,并选择两个包,拷贝到lib文件夹下面选择使用spring管理hibernate选择使用spring 配置文件这里进行数据库链接配置,我的数据库连接已经完成,所以就直接选择不创建SessionFactory至此ssh环境就搭建完成了六、启动tomcat,进行测试环境是否成功在web.xml中添加配置<listener><listener-class>org.springframework.web.context.ContextLoaderListener</ listener-class></listener><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value></context-param>在浏览器中测试结果八、在此基础上进一步搭建扩展,开发一个简单的用户登陆程序首先编辑index.jsp,如图所示再分别新建error.jsp和welcome.jsperror.jspwelcome.jsp添加反向工程打开myeclipse的hibernate explorer perspective,打开mysql数据库连接,选中用户user 表,生成与数据库对应的java对象和映像文件点击next,选择id的生成方式nativeNext->Finish。

Y2-SSH框架技术

Y2-SSH框架技术

Y2-SSH框架技术2、关于MyEclipse的Struts工具,下面说法正确的是(a)。

A、使用MyEclipse的Struts工具自动在Struts配置文件中添加Action和AcrionForm的配置B、使用MyEclipse的Struts工具可以指定ACtionServlet的UrlPattern为“*.jspa”C、使用MyEclipse的Struts工具可以不用写代码完成应用程序的开发D、使用MyEclipse的Struts工具可以生成JSP页面E、3、某系统中有如下代码片段。

执行下面代码可能导致执行的SQL语句不包括(D)。

<set name=”items”inverse=”true”><key column=”wi_wage_id”/><one-to-many class=”WageItem”/></set>wage wage=(wage) session.get(Wage.class,1L);wage item=(WageItem)session.get(WageItem.class,1L);wage.getItems().remove(item);session.update(wage);A、select i0_.wi_id,i0_.wi_.wi_amount,i0_.wi_wage_id form fin_wage_item i0_where i0_.wi_id=?B、C和DC、select w0_.id,w0_.emp_name,w0_.month form fin_wage w0_where w0_.id=?D、delete form fin_wage_item where wi_id=?E、update fin_wage_item set wi_wage_id=null where wi_id=?4、在<html:optionsCollection>标签中,用()个属性,其中:()属性表示哪个用作候选项的字面显示,(b )属性表示哪个用作候选项的值。

Java Web之三大框架试题(SSH)

Java Web之三大框架试题(SSH)

Java 三大框架期末复习试题大学准备期末复习以及准备职业面试之用本资料有齐全的选择题,简单题,编程题;绝对实用;Hibernate部分一、单选题(共50题,每题2分)1.下面不属于持久化的是(a)。

A.把对象转换为字符串的形式通过网络传输,在另一端接收到这个字符串后能把对象还原出来B.把程序数据从数据库中读出来C.从XML配置文件中读取程序的配置信息D.把程序数据保存为文件2.下面(a )不属于关系—对象映射的映射信息。

A.程序包名到数据库库名的映射B.程序类名到数据库表名的映射C.实体属性名到数据库表字段的映射D.实体属性类型到数据库表字段类型的映射3.下面(ab)不是Hibernate 映射文件中包含的内容。

(选两项)A.数据库连接信息B.Hibernate 属性参数C.主键生成策略D.属性数据类型4.下面的程序执行后没有报错,但数据总保存不到数据库,最可能的原因是(d )。

public static void main(String[] args) {SessionFactory sf =new Configuration().configure().buildSessionFactory();Session session = sf.openSession();Medal medal = new Medal();medal.setOwner("Shen Baozhi");medal.setSport("Table Tennis-Women's Singles");medal.setType("Gold Medal");session.save(user);session.close();}A.配置文件配置有误B.没有在配置文件中包含对映射文件的声明C.映射文件配置有误D.没有开启事务5.下列属于多对一关系的是(bd )。

SSH框架测试试卷

SSH框架测试试卷

三、单项选择(每小题 分,共 分). ✞设计模式的目的是( )✌:使程序结构更清晰:使程序更好维护:保证视图和模型的隔离:在逻辑上将视图、模型和控制器分开.以下关于 ☟框架说法正确的是( )✌: ♦❒◆♦♦属于 ♏♌层,负责处理业务逻辑:☟♓♌♏❒⏹♋♦♏属于 业务层,可以对数据库进行操作: ☐❒♓⏹♑属于持久层,是对 ✞设计模式的实现:以上说法都不对.以下选项,不在 ♦❒◆♦♦的配置文件中配置的是( )✌:☞☐❒❍ ♏♋⏹配置信息:✌♍♦♓☐⏹转发路径:✌♍♦♓☐⏹♏❒❖●♏♦配置信息: ♦❒◆♦♦引用的资源文件.下面关于 ♦❒◆♦♦报错机制说法正确的是(✌)✌:强制使用国际化:错误信息保存在♦♏♦♦♓☐⏹中:使用 ♒♦❍●♏⌧♍♏☐♦♓☐⏹标签显示错误信息:也可以使用 ♒♦❍●❍♏♦♦♋♑♏♦显示错误信息.在三层结构中,数据访问层承担的责任是( )✌:定义实体类:数据的增删改查操作:业务逻辑的描述:页面展示和控制转发.下面关于☟♓♌♏❒⏹♋♦♏的说法,错误的是( )✌:☟♓♌♏❒⏹♋♦♏是一个“对象—关系映射”的实现:☟♓♌♏❒⏹♋♦♏是一种数据持久化技术:☟♓♌♏❒⏹♋♦♏是☺ 的替代技术:使用☟♓♌♏❒⏹♋♦♏可以简化持久化层的编码.在☟♓♌♏❒⏹♋♦♏关系映射配置中,♓⏹❖♏❒♦♏属性的含义是( )✌:定义在 ☐⏹♏♦☐❍♋⏹⍓节点上,声明要负责关联的维护 :声明在 ♦♏♦节点上,声明要对方负责关联的维护:定义在 ☐⏹♏♦☐❍♋⏹⍓节点上,声明对方要负责关联的维护 :声明在 ♦♏♦节点上,声明要负责关联的维护.关于 ☐❒♓⏹♑的说法错误的是( )✌:通过♦♏♦♦♏❒方法实现依赖注入:对☟♓♌♏❒⏹♋♦♏提供了支持,可简化☟♓♌♏❒⏹♋♦♏编码:通过✌可以轻松与☟♓♌♏❒⏹♋♦♏集成:通过✌实现了声明式事务管理.关于 ☐❒♓⏹♑ ✌,下面说法错误的是( )✌:支持前置通知、后置通知、环绕通知:采用代理的方式实现:与“依赖注入”实现紧密结合:在 ☐❒♓⏹♑以前的版本中通过 ♋☐☐♍☐⏹♐♓♑、 ♋☐☐☐☐♓⏹♦♍◆♦和 ♋☐☐♋♎❖♓♦☐❒配置.下面关于“依赖注入”的说法,错误的是(✌)✌:需要定义大量接口,增加了编码复杂度:将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中 :降低了组件间的耦合,使程序更容易维护和升级:促进了“面向接口”编程,使构建大规模程序更轻松四、简单题(每小题 分,共 分).简述♦♦❒◆♦♦的工作原理 .什么是 ✍它主要解决什么问题?.简述 ☐❒♓⏹♑的原理和优点?。

基于SSH框架的题库系统设计与实现(全文)

基于SSH框架的题库系统设计与实现(全文)

基于SSH框架的题库系统设计与实现XX:1007-9599 (20XX)20-0000-021 系统开发技术1.1 Struts框架。

Struts框架是由pche提供的一个开源框架,很好的实现了MVC设计模式。

它运用Struts标签和JSP 页面来生成视图,ctionServlet类和用户自定义ction则构成了操纵器,而模型主要由封装了各种业务逻辑的JvBen来实现。

Struts框架设计理念是通过操纵器将表示逻辑和业务逻辑解耦,以提高系统的可维护性、可扩展性。

用户利用Struts框架不仅可缩短开发Web应用的时间,而且能够很好地实现各层之间的散耦合。

1.2 Hibernte框架。

Hibernte是一个采纳ORM(Object Reltion Mpping)模式的优秀的数据持久层框架,它的目标是简化开发者在数据持久化方面的编程任务。

它提供了从Jv类到数据库表的映射,也提供了数据查询和恢复机制。

ORM模式是指关系对象映射,它把对象映射到基于SQL的关系模型上,同时在JDBC方式上进行轻量级对象封装,开发人员只需按照面向对象的编程思想来操作持久化类实例,就可完成对数据库表里的数据的操作,而不需要对JDBC进行硬编码,大大提高了系统的性能。

同时,Hibernte还几乎支持所有流行的数据库,可与大多数主流J2EE应用服务器的应用服务器良好集成。

1.3 Spring框架。

Spring是一个轻量级J2EE框架,它通过依赖注入(Dependency Injection,DI)和基于(spect Oriented Progrmming,OP)的声明式事务治理为企业应用的开发提供了一个很好的解决方案,Spring核心容器的主要组件是BenFctory,BenFctory负责对JvBen配置、治理、创建。

运用Spring的依赖注入机制可以在程序运行期间动态为组件注入所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合度。

SSH框架技术试卷+答案

SSH框架技术试卷+答案

课程考试试卷一、单项选择题(每题1分,共30分)___________。

A.<s:a > B.<action> C.<html> D.<input>2.在action元素中指定Action类调用方法的属性是___________。

A.Name B.Method C.class D.result 3.Struts2框架正则表达式校验器的名字是___________。

A.interceptor B.error C.regex D.expression 4. Action结果执行类型设置为跳转到其它的Action,结果类型值是________。

A.chain B.redirect C.dispatcher D.redirectAction 5.在Struts2框架的配置文件中,以下不属于Action的属性的是___________。

A.name B.class C.method D.result6.在Struts2框架的配置文件中,以下属于package的属性的是___________。

A.action B.namespace C.success D.result 7.struts中数据验证失败时,除了可以使用<s:fielderror>标签之外,还可以通过________标签显示错误信息。

A.<s:text> B.<s:error> C.<s:faild> D.<s:property> 8. 下面属于MVC设计模式的是_______。

A.逻辑层 B.IO流层 C.数据层 D.视图层9. 如果需要在页面中输出某变量的值,则在Struts中采用___________标签输出该变量的值。

A.param B.if C.bean D.property10. 如下代码说法正确的是________。

<s:iterator id=”teacher” value=”#arr.teacherList” status=”teacher”><s:if test=”teacher.odd”><tr bgcolor=”blue”></tr></s:if><s:else><tr bgcolor=”black”></tr></s: else ></s:iterator>A.奇数行为蓝色 B.奇数行为红色 C.偶数行为黄色 D.偶数行为蓝色11.假设在application中存在名为name的属性,通过OGNL访问该属性,正确的代码是_________。

SSH综合试卷

SSH综合试卷

SSH学习增强练习课程名称: SSH学习增强练习考试时间80分钟(闭卷■)选择题1.开发struts2 web项目,需要导入哪些jar包(选2项)A 必须导入struts2 解压lib下所有jar包B 只需要导入struts2解压app/struts2_blank.war中的jar包就可以C 如果进行注解开发,导入struts2解压app/struts2_blank.war中的jar包就可以D 如果进行注解开发,还必须导入convention的插件jar包2.下面关于struts2 MVC说法正确的是?(选2项)A.Struts2 是一个基于MVC模式的web层框架B.Struts2中核心控制器是ActionServletC.Struts2中模型是ActionD.Struts2中控制器是Filter 和ActionE.Struts2的视图必须用JSP3.关于Struts2 Action说法下面不正确的是A.用户编写的Action可以是POJO类B.用户编写的Action可以实现Action接口C.用户编写的Action 可以继承ActionSupportD.Action中必须提供execute方法E.Action提供的业务方法必须public修饰,String类型返回值,无参数的4.如果客户端请求路径http://localhost:8080/struts2_exec/user_add.action 要执行UserAction类中的add方法,下面的配置哪些是正确的(选2项)A.<action name=”user_add” class=”…UserAction” >B.<action name=”user_add” class=”…UserAction” method=”add”>C.<action name=”user_add” class=”…UserAction” parameter=”add”>D.<action name=”user_*” class=”…UserAction” method=”{0}”>E.<action name=”user_*” class=”…UserAction” method=”{1}”>5.下面关于Struts2中result type说法不正确的是?A.如果要将请求从一个Action转发给另一个Action 可以使用chain 结果集B.如果要将请求重定向给一个JSP,可以使用dispatcher 结果集C.如果要将请求从一个Action重定向到另一个Action 可以使用redirectAction结果集D.如果要将请求从一个Action重定向到JSP,可以使用redirect结果集E.进行文件下载时可以使用stream结果集6.如果客户端提交请求路径为http://localhost:8080/struts2/hello.action?name=”itcast”, 下面在Action中要接收name请求参数,哪个写法是正确的?(选2项)A.public class HelloAction {private String name;public void setName(String name){ = name;}}B.public class HelloAction {private User user ;public void setUser(User user){er = user;}}public class User {private String name;public void setName(String name){ = name;}}C.public class HelloAction implements ModelDriven<User>{private User user ;public User getModel(){return er;}}public class User {private String name;public void setName(String name){ = name;}}D.public class HelloAction implements ModelDriven<User>{private User user = new User() ;public User getModel(){return er;}}public class User {private String name;public void setName(String name){ = name;}}7.关于自定义类型转换器下面说法不正确的是?(选2项)A.向Action封装请求参数,是由ParametersInterceptor完成的B.进行封装参数时,必须要自定义类型转换器C.自定义类型转换器,如果继承DefaultTypeConverter , 覆盖convertValue方法时,只需要实现String向目标类型的转换D.自定义类型转换器后需要注册,可以在Action所在路径编写Action类名-conversion.properties ,配置Action中属性名= 类型转换器E.自定义类型转换器也可以全局注册,在src下创建xwork-conversion.properties ,配置目标类型= 转换器F. 如果类型转换出错后,会跳转到INPUT对应视图,可以通过<s:fieldError> 显示错误信息8.如果需要对Action封装请求参数,进行校验下面哪些说法正确A.可以在Action中添加validate方法完成校验,Action可以是POJO类B.可以在Action所在包编写Action类名-validation.xml 对Action中所有业务方法进行校验C.如果要对Action中某个指定的业务方法进行校验,可以在Action所在包,编写Action类名-方法名-validation.xmlD.在Action中手工校验失败后,通过addFieldError设置错误信息,但Action中是无法读取国际化文件的9.下面关于Struts2 中Action 中设置信息说法不正确的是A.在开发中Action 将一个文本信息传递给JSP 显示,通常可以使用addActionError、addActionMessage 、addFieldError 三个方法,此时Action可以不继承ActionSupportB.addFieldError 主要存放字段错误信息,页面通过<s:fielderror> 显示C.addActionError 主要存放Action错误信息页面通过<s:actionerror>显示D.addActionMessage 可以存放Action普通信息,页面通过<s:actionmessage> 显示10.关于struts2 国际化信息文件下面哪些说法是正确的?(选2项)A.国际化信息文件,必须放到src根目录,不能放到package中,放到src根目录中国际化信息文件不需要配置,就可以在所有Action中使用B.可以在Action所在包,编写Action类名.properties ,无需配置就可对当前Action 生效C.可以在Action 所在包,创建package.properties ,无需配置就可对当前包所有Action生效D.国际化信息文件在任何package中,都可以通过在struts2.xml 对国际化信息文件进行配置struts.custom.i18n.resources ,使其对所有Action 生效11.关于struts2 拦截器说法不正确的是A.Struts2内部使用了很多内置拦截器,用于在Action执行前后加入某些操作B.访问每个Action 必须执行defaultStack 中所有拦截器C.如果在<action>元素中指定<interceptor-ref> 那么默认defaultStack 就不会得到执行D.自定义拦截器可以实现很多功能,比如权限控制,性能监控E.Struts2 中拦截器实现责任链模式12.关于值栈ValueStack 下面哪些说法不正确A.ValueStack值栈对象的生命周期就是request生命周期,request对象销毁后值栈数据将不存在B.获得值栈对象引用可以通过两种方法第一种ServletActionContext.getRequest().getAttribute("struts.valueStack");第二种ActionContext.getContext().getValueStack();C.值栈中包含两个部分,一个CompoundRoot 和一个OgnlContext , CompoundRoot是一个ArrayList 结构,OgnlContext 是一个Map 结构D.OgnlContext 对内置了很多常用web对象引用,通过parameters 、request、session、application、attr,可以直接获取Servlet 对象E.每次请求Action ,Action对象本身都会被push到值栈的root 中13.下面关于向值栈存放数据说法不正确的是?A.在Action建立成员变量,并提供get方法,该数据就会随Action 会被自动压入值栈rootB.可以通过调用valueStack 提供push 方法将一个对象压入值栈的root中C.可以调用valueStack的set (key,Object) 方法将一个对象,存入值栈OgnlContext Map中D.可以调用valueStack.getCompoundRoot().add(object) 方法,将数据存入值栈root中E.可以调用valueStack.getOgnlContext().put(key,object) 方法将数据存入值栈OgnlContextMap中14.如果Action 如下定义public class HelloAction {private String name =”itcast”;public String getName(){return ;}…}在页面要取得name的值,下面哪些写法是不正确的?A.<s:property value=”name” />B.<s:property value=”#name” />C.<s:property value=”#” />D.<s:property value=”#” />E.${name}15.阅读下面代码public class UserAction {private List<User> users;public List<User> getUsers(){return ers;}public String execute(){users = …. 从数据库查询出所有用户…}}public class User {private String name;private String city ;// 提供getter方法}要在结果JSP中对users数据进行遍历显示,下面哪些写法不正确A.<s:iterator value=”users” var=”user”><s:property value=”name”/><s:property value=”city” /></s:iteratorB.<s:iterator value=”#ers” var=”user”><s:property value=”#name”/><s:property value=”#city” /></s:iteratorC.<s:iterator value=”#ers” var=”user”><s:property value=”#”/><s:property value=”#user.city” /></s:iteratorD.<s:iterator value=”users” var=”user”><s:property value=”name”/><s:property value=”city” /></s:iterator>16.下面关于Hibernate框架说法不正确的是?A.Hibernate是一个完全ORM框架,封装了底层数据库操作,不支持SQL语句B.Hibernate实现了JPA接口规范C.Hibernate通过操作对象方式,间接操作数据库D.Hibernate实体类和数据表之间需要hbm映射配置、或者注解映射配置17.一般情况下,关系数据模型与对象模型之间有哪些匹配关系,说法不正确的是?A.表对应类B.记录对应对象C.表的字段对应类的属性D.数据库对应Session18.以下关于SessionFactory的说法哪些正确?A.对于每个数据库事务,应该创建一个SessionFactory对象B.一个SessionFactory对象对应多个数据库存储源C.SessionFactory是重量级的对象,不应该随意创建。

SSH框架技术试卷+答案

SSH框架技术试卷+答案

面属于MVC设计模式的是。

B.IO流层C.数据层D.视Struts中采用___________.ifC.beanD.property下代码说法正确的是。

”teacher”value=””status=””>”teacher.odd”><trbgcolor=”blue”></tr><trbgcolor=”black”></tr>B.奇数行为红色D.偶数行为蓝色application中存在名为的属性,通过OGNL访问该属性,_________。

.#C..${name}Action中访问rquest中__________接口。

.ApplicationAw.ParameterAwareD.SessionAstruts.xml文件中需使用的元素。

.IncludeC.packageD.filterchainMVC框架都需要Web应用Struts2需要加载的是_________。

.StrutsPrepareAndExecuteFilterC. Struts.xmlD.struts2.xml 15.将使用的拦截器定义到共有的状态下来实现统一管理,称为_________。

A.拦截器组B.拦截器队C.拦截器链D.拦截器栈16.Struts2标签库中迭代标签的status属性的______方法是判断当前元素的索引是否是偶数。

A.isOddB.isLastC.isFirstD.i sEven17.__________文件主要负责管理应用中的Action映射,以及该Action 包含的Result定义等。

A. Web.xmlB.StrutsPrepareAndExecuteFilt erC. struts.xmlD.struts2.xml 18.Struts2框架由3个部分组成:________、业务控制器和用户实现的业务逻辑组件。

A.核心控制器FilterDispatcher B.模型类C.拦截器D.JSP19.根据__________配置,浏览器发出HTTP请求被FilterDispatcher接收。

SSH框架面试题(自己 别人的试题)讲解

SSH框架面试题(自己 别人的试题)讲解

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

系(院): 专业: 年级及班级: 姓名: 学号: .
密 封 线
错误!未定义“自动图文集”词条。

重庆文理学院试卷
1.题目:“爱享”网络相册系统 功能主要有: ◆ 用户注册
◆ 用户登录/注销,登录成功后显示相册列表及好友动态信息 ◆ 创建新相册
◆ 上传相片到相册(显示进度条) ◆ 浏览相册(可以选择不同方式浏览) ◆ 查看相片(单击实现翻页) ◆ 发表相片评论 2.项目要求
◆ 后台数据库采用Oracle,并使用相应的用户和命名空间,保存相应的SQL 语
句。

◆ 根据项目的特点,采用适当的连接池方式。

◆ 根据项目的特点,配置相应的二级缓存和查询缓存,以提高效率。

◆ 根据项目的需要设置各个表的关联关系。

◆ 使用HQL 或Criteria 进行查询检索。

◆ 使用Spring 实现依赖注入。

◆ 使用Spring 实现事务管理。

◆ 优化Spring 配置文件。

◆ 实现Struts 、Hibernate 和Spring 的集成。

使用Struts2+Hibernate+Spring 技术实现该系统,其实现的功能可以不局限于以上罗列的功能。

二、项目答辩要求及答辩流程
在完成项目后,请做好答辩的准备,根据通知的时间和地点参加答辩。

答辩流程
课程名称: 《SSH 框架整合详解》
试卷类别: A 卷 考试形式:开卷 考试时间:至少4周 适用层次: 本科
适用专业: 11软件工程(外包)1 阅卷须知:阅卷用红色墨水笔书写,小题得分写在相应小题题号前,用正分表示;大题得分登录在对应的分数框内;考试课程应集体阅卷,流水作业。

《SSH框架整合详解》A卷。

相关文档
最新文档