《SSH框架整合详解》项目实践试卷
- 格式:doc
- 大小:79.50 KB
- 文档页数:2
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处理。
其实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的方法,并结合事务管理。
黄淮学院信息工程学院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)属性来指定需要调用的方法。
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复习题选择题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 进行处理。
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。
开发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框架技术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 三大框架期末复习试题大学准备期末复习以及准备职业面试之用本资料有齐全的选择题,简单题,编程题;绝对实用;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 )。
系(院): 专业: 年级及班级: 姓名: 学号: .
密 封 线
错误!未定义“自动图文集”词条。
重庆文理学院试卷
1.题目:“爱享”网络相册系统 功能主要有: ◆ 用户注册
◆ 用户登录/注销,登录成功后显示相册列表及好友动态信息 ◆ 创建新相册
◆ 上传相片到相册(显示进度条) ◆ 浏览相册(可以选择不同方式浏览) ◆ 查看相片(单击实现翻页) ◆ 发表相片评论 2.项目要求
◆ 后台数据库采用Oracle,并使用相应的用户和命名空间,保存相应的SQL 语
句。
◆ 根据项目的特点,采用适当的连接池方式。
◆ 根据项目的特点,配置相应的二级缓存和查询缓存,以提高效率。
◆ 根据项目的需要设置各个表的关联关系。
◆ 使用HQL 或Criteria 进行查询检索。
◆ 使用Spring 实现依赖注入。
◆ 使用Spring 实现事务管理。
◆ 优化Spring 配置文件。
◆ 实现Struts 、Hibernate 和Spring 的集成。
使用Struts2+Hibernate+Spring 技术实现该系统,其实现的功能可以不局限于以上罗列的功能。
二、项目答辩要求及答辩流程
在完成项目后,请做好答辩的准备,根据通知的时间和地点参加答辩。
答辩流程
课程名称: 《SSH 框架整合详解》
试卷类别: A 卷 考试形式:开卷 考试时间:至少4周 适用层次: 本科
适用专业: 11软件工程(外包)1 阅卷须知:阅卷用红色墨水笔书写,小题得分写在相应小题题号前,用正分表示;大题得分登录在对应的分数框内;考试课程应集体阅卷,流水作业。
《SSH框架整合详解》A卷。