SSH考试

SSH考试
SSH考试

一、填空(20分)

1.Struts2框架由___________和___________框架发展而来。

2.Struts2以___________为核心,采用___________的机制来处理用户的请求。

3.构建Struts2应用的最基础的几个类库是___________、___________、___________、___________以及___________。

4.Struts2中的控制器类是一个普通的___________。

5.如果要在JSP页面中使用Struts2提供的标签库,首先必须在页面中使用taglib编译指令导入标签库,其中taglib编译指令为___________。

6.在Struts2表单标签库中,表单标签为___________。

7.ActionSupport类实现了___________接口和___________等接口。

8.通过控制器类中的___________方法来输出校验错误信息。

9.Struts2以__________为核心控制器,它的初始化方法为__________。

10.Struts2的核心配置文件是___________。

11.ORM的中文名称是__________。

12.hibernate有两种配置文件形式,一种是XML默认为__________;一种是properties默认为__________。

13.spring的依赖注入有三种形式__________、__________、__________。

14.EJB有三种类型:会话Bean、__________、__________。

15.JPA的中文名称__________。

16.hibernate的核心是SessionFactory和Session,其中__________是线程安全的。

17.spring的核心技术有__________和__________。

18.Session Bean分为__________和__________两种。

19.Ajax运行的核心是__________对象。

二、名词解释(30分)

hibernate,通过对jdbc进行封装,对java类和关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改变了传统的jdbc+sql操作数据的方式,从而使开发人员可以话更多精力进行对象方面的开发

Spring是一个轻量级的IOC和AOP框架。

IOC(控制反转)意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转

AOP(面向切面),它将那些影响多个类的行为封装到可重用的模块中,面向对象是把问题从同类事物中抽象出来,面向切面是把问题从不同类问题中抽象出来。

Struts2是Struts的下一代产品,是在struts和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构的差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,

这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2只有很小的变化。

J2EE

J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

JDBC(Java Database Connectivity)

JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题,另外,JDBC对数据库的访问也具有平台无关性。

JNDI(Java Name and Directory Interface)

JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,或应用服务器中的对象。

EJB(Enterprise JavaBean)

J2EE技术之所以赢得媒体广泛重视的原因之一就是EJB。它们提供了一个框架来开发和实施分布式商务逻辑,由此很显著地简化了具有可伸缩性和高度复杂的企业级应用的开发。EJB规范定义了EJB组件在何时如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、事务管理、安全性、资源缓冲池以及容错性。但这里值得注意的是,EJB并不是实现J2EE的唯一途径。正是由于J2EE的开放性,使得有的厂商能够以一种和EJB平行的方式来达到同样的目的。

RMI(Remote Method Invoke)

正如其名字所表示的那样,RMI协议调用远程对象上的方法。它使用了序列化方式在客户端和服务器端传递数据。RMI是一种被EJB使用的更底层的协议。

Java IDL/CORBA

被转换成Java对象,或者转换自Java对象。大多数应用都可以不需要直接使用JAF。

三、简答(30分)

写出Spring中依赖注入的两种方式?

1)通过setter方法注入:

property name=””>

其中,name属性的取值依setter方法名而定

2)通过构造方法注入:

其中,index表示构造方法中的参数索引(第一个参数索引为0)

解释AJAX?

Ajax的全称是:AsynchronousJavaScript+XML

Ajax不是一个技术,它实际上是几种技术,每种技术都有其独特这处,合在一起就成了一个功能强大的新技术。

Ajax(AsynchronousJavaScriptandXML)是结合了Java技术、XML以及JavaScript等编程技术,可以让开发人员构建基于Java技术的Web应用,并打破了使用页面重载的惯例。Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法。这样,Web页面不用

打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。

Spring是什么?为什么要使用Spring?

Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

1)它定位的领域是许多其他流行的framework没有的。Spring关注提供一种方法管理你的业务对象。

2)Spring是全面的和模块化的。Spring有分层的体系结构,这意味着你能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。

3)它的设计从底部帮助你编写易于测试的代码。Spring是用于测试驱动工程的理想的framework。

什么是AOP?

面向方面编程:Aspect Oriented Programming

AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。

Hibernate工作原理及为什么要用?

原理:

1.读取并解析配置文件

2.读取并解析映射信息,创建SessionFactory

3.打开Sesssion

4.创建事务Transation

5.持久化操作

6.提交事务

7.关闭Session

8.关闭SesstionFactory

为什么要用:

1.对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。

2.Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

3.hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。

4.hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。

Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)

类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many。

如何优化Hibernate?

1.使用双向一对多关联,不使用单向一对多

2.灵活使用单向一对多关联

3.不用一对一,用多对一取代

4.配置对象缓存,不使用集合缓存

5.一对多集合使用Bag,多对多集合使用Set

6.继承类使用显式多态

7.表字段要少,表关联不要怕多,有二级缓存撑腰

Struts工作机制?为什么要使用Struts?

工作机制:

Struts的工作流程:

在web应用启动时就会加载初始化ActionServlet,ActionServlet从

struts-config.xml文件中读取配置信息,把它们存放到各种配置对象

当ActionServlet接收到一个客户请求时,将执行如下流程.

-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;

-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中;

-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法; -(4)如果ActionForm的validate()方法返回或返回一个不包含ActionMessage的ActuibErrors 对象,就表示表单验证成功;

-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;

-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给ActionForward对象指向的JSP组件;

-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;

为什么要用:

JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。

基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件

SSH框架提交流程

1,前台表单提交from请求到后台.

2,这请求由struts的ActionSevlet捕获.

3.根据path属性读取struts的主配置文件,找到对应Action元素模块.

4.ActionFrom被找到.

5.找对应spring代理,把请求权交spring代理类.

6.spring根据bean的name属性的值,跟struts主配置文件path属性的值相等,找到对应的bean 模块,把请求转到该bean.

7.假如该Action需要调后台的业务类,这时候直接利用spring的IOC注入找到业务类.

8.如果业务类使用到hibernate,就要用到spring代理的bibernate.

如果是跟数据库处理,全是用的hibernate的对象关系映射.

9.spring在整个框架当中起辅助作用.spring对struts支持体现在把struts的Action当成bean 来管理.

10.spring跟hibernate,提供了声明式事务,对其事务简化.spring提供Hibernate Dao Support这个类简化hibernate的繁琐操作.

Hibernate的查询方式

Sql、Criteria,object comptosition

Hql:

1、属性查询

2、参数查询、命名参数查询

3、关联查询

4、分页查询

5、统计函数

什么是Hibernate延迟加载?

延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。

说下Hibernate的缓存机制

一、hibernate一级缓存

(1)hibernate支持两个级别的缓存,默认只支持一级缓存;

(2)每个Session内部自带一个一级缓存;

(3)某个Session被关闭时,其对应的一级缓存自动清除;

二、hibernate二级缓存

(1)二级缓存独立于session,默认不开启;

如何优化Hibernate?

1.使用双向一对多关联,不使用单向一对多

2.不用一对一,用多对一取代

3.配置对象缓存,不使用集合缓存

hibernate中get()与load()区别

请注意如果没有匹配的数据库记录,load()方法可能抛出无法恢复的异常(unrecoverable exception)。如果类的映射使用了代理(proxy),load()方法会返回一个未初始化的代理,直到你调用该代理的某方法时才会去访问数据库。若你希望在某对象中创建一个指向另一个对象的关联,又不想在从数据库中装载该对象时同时装载相关联的那个对象,那么这种操作方式就用得上的了。如果为相应类映射关系设置了batch-size,那么使用这种操作方式允许多个对象被一批装载(因为返回的是代理,无需从数据库中抓取所有对象的数据)。如果你不确定是否有匹配的行存在,应该使用get()方法,它会立刻访问数据库,如果没有对应的行,会返回null。

四、大题

ssh框架面重要试题

Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 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-many、 4.说下Hibernate的缓存机制

Spring考试试卷(有答案)

Spring考试试卷(题库) 1.下列关于AOP的说法错误的是()。 A.AOP将散落在系统中的“方面”代码集中实现 B.AOP有助于提高系统的可维护性 C.AOP已经表现出了将要替代面向对象的趋势 D.AOP是一种设计模式,Spring为其提供了一种实现 2.在SSH整合时,事务隔离级别是由()实现的。 A.Java应用程序 B.Hibernate C.数据库系统 D.JDBC驱动程序 3.下列()不是Spring的依赖注入方式。【选两项】 A.setter注入B.getter注入 C.接口注入 D.构造注入 4.在Spring框架中,面向方面编程(AOP)的目标在于()。 A.编写程序时不用关心其依赖组件的实现 B.将程序中涉及的公用问题集中解决 C.封装JDBC访训数据库的代码,简化数据访训层的得复性代码 D.实现画面的“无刷新” 5.关于Spring 与 Hibernate集成,下列说法错误的是()。 A.Spring提供了HibernateDaoSupport类来简化Hibernate的使用 B.在Spring配置文件中,可以通过Spring提供的LocalSessionFactoryBean来获得SessionFactory的实例 C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory 注入到DataSource中 D.通过Spring,可以在Biz层代码中无需直接实例化DAO类,而是通过注入得到 6.在Spring中,下列关于依赖注入的说法,正确的是()。 A.依赖注入的目标是在代码之外管理程序组建间的依赖关系(组件?组建?) B.依赖注入即“面向接口”的编程 C.依赖注入是面向对象技术的替代品 D.依赖注入的使用会增大程序的规模 7.下列关于Spring的说法错误的是()。

SSH题库

1. SSH中,依次处理的哪一层的实现? D A.Struts –业务逻辑层;Hibernate-表现层;Spring-持久层 B.Struts-表现层;Hibernate-业务逻辑层;Spring-持久层 C.Struts-持久层;Hibernate-表现层;Spring-业务逻辑层 D.Struts-表现层;Hibernate-持久层;Spring-业务逻辑层 2. 在Struts实现的MVC框架中,(A)类是包含了excute方法的控制器类,负责调用模型的方法,控制应用程序的流程。 A. Action B. EJB C. ActionServlet D. JSP 3. 在基于Struts框架的Web应用中,下面关于Action类的说法正确的是(C)。 A. Action类属于模型组件 B. Action类主要用来完成实际的业务逻辑 C. Action类负责调用模型的方法,更新模型的状态,并帮助控制应用程序的流程 D.在Web应用启动时会自动加载所有的Action实例 4. 下面关于数据持久化概念的描述,错误的是(D)。 A.保存在内存中数据的状态是瞬时状态 B.持久状态的数据在关机后数据依然存在 C.数据可以由持久状态转换为瞬时状态 D.将数据转换为持久状态的机制称为数据持久化 5. 下面关于Hibernate的说法,错误的是(C)。 A.Hibernate是一个“对象-关系映射”的实现 B.Hibernate是一种数据持久化技术 C.Hibernate是JDBC的替代技术 D.使用Hibernate可以简化持久化层的编码 6. 在使用了Hibernate的系统中,要想在删除某个客户数据的同时删除该客户对应的所有订单数据,下面方法可行的是(B)。 A.配置客户和订单关联的cascade属性为save-update B.配置客户和订单关联的cascade属性为all C.设置多对一关联的inverse属性为true D.设置多对一关联的inverse属性为false 7. 执行下面的hql查询,关于返回值的说法,正确的是(B)。 select https://www.360docs.net/doc/0f14005232.html,ername,https://www.360docs.net/doc/0f14005232.html,erid from https://www.360docs.net/doc/0f14005232.html,er u where u is not null A.语法错误,不能执行 B.返回一个类型为List的实例 C.返回一个数组 D.当返回结果只有一条时,返回一个数组 8. 下面创建Criteria对象的语句中正确的是(D)。 A.Criteria c = query.createCriteria(); B.Criteria c = query.addCriteria(); C.Criteria c = session.createCriteria(); D.Criteria c = session.createCriteria(User.class); 9. 下面关于“依赖注入”的说法,错误的是(D)。 A.将组件间的依赖关系采取配置文件的方式管理,而不是硬编码在代码中 B.降低了组件间的耦合,使程序更容易维护和升级 C.促进了“面向接口”编程,使构建大规模程序更轻松 D.需要定义大量接口,增加了编码复杂度 10. 关于Spring的说法错误的是(C)。

Spring考试试卷有答案

S p r i n g考试试卷(题库)1.下列关于AOP的说法错误的是()。 A.AOP将散落在系统中的“方面”代码集中实现 B.AOP有助于提高系统的可维护性 C.AOP已经表现出了将要替代面向对象的趋势 D.AOP是一种设计模式,Spring为其提供了一种实现 2.在SSH整合时,事务隔离级别是由()实现的。 A.Java应用程序B.Hibernate C.数据库系统D.JDBC驱动程序 3.下列()不是Spring的依赖注入方式。【选两项】 A.setter注入B.getter注入C.接口注入D.构造注入 4.在Spring框架中,面向方面编程(AOP)的目标在于()。 A.编写程序时不用关心其依赖组件的实现 B.将程序中涉及的公用问题集中解决 C.封装JDBC访训数据库的代码,简化数据访训层的得复性代码 D.实现画面的“无刷新” 5.关于Spring与Hibernate集成,下列说法错误的是()。 A.Spring提供了HibernateDaoSupport类来简化Hibernate的使用 B.在Spring配置文件中,可以通过Spring提供的LocalSessionFactoryBean来获得SessionFactory的实例 C.通过集成Spring和Hibernate,用Spring管理程序的依赖关系,将SessionFactory 注入到DataSource中 D.通过Spring,可以在Biz层代码中无需直接实例化DAO类,而是通过注入得到6.在Spring中,下列关于依赖注入的说法,正确的是()。 A.依赖注入的目标是在代码之外管理程序组建间的依赖关系(组件?组建?)B.依赖注入即“面向接口”的编程 C.依赖注入是面向对象技术的替代品 D.依赖注入的使用会增大程序的规模 7.下列关于Spring的说法错误的是()。 A.Spring是一个轻量级JAVAEE的框架集合B.Spring是“依赖注入”模式的实现

ssh试题

测试卷 (java) 一、选择题(60分) 1) 在Struts实现的MVC框架中,(a)类是包含了 excute方法的控制器类,负责调用模型的方法,控 制应用程序的流程。 a) Action b) EJB c) ActionServlet d) JSP

2) 在基于Struts框架的Web应用中,下面关于Action 类的说法正确的是(c)。 a) Action类属于模型组件 b) Action类主要用来完成实际的业务逻辑 c) Action类负责调用模型的方法,更新模型的状 态,并帮助控制应用程序的流程 d) 在Web应用启动时会自动加载所有的Action 实例 3) 在基于Struts框架的Web应用中,下面关于 ActionForm Bean的说法正确的是(b)。 a) ActionForm Bean用来完成一些实际的业务逻 辑 b) Struts框架利用ActionForm Bean来进行视图和 控制器之间表单数据的传递 c) ActionForm负责调用模型的方法,更新模型的 状态 d) ActionForm Bean包含一些特殊的方法,reset()

用于验证表单数据validate()将其属性重新设置 为默认值 4) 分析Action Bean的execute方法: public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ActionErrors errors=new ActionErrors(); if(!udao.check(loginform)){ errors.add("login", new ActionMessage("error.login")); return mapping.findForward("failure"); } } 完成以上的功能,应在下划线上填入(c)。 a) this.saveErrors(request, errors); b) this.saveErrors(reponse, errors); c) this.addErrors(request, errors); d) this.addErrors(reponse, errors);

Linux-期末考试试题(含答案)

一、命令部分 1.新建一个用户user,密码设为123456,并将其加到root组。写出所用命令。 # useradd wang # passwd wang 123456 123456 # groupadd root # usermod–g root wang 2.将当前计算机的IP地址设为192.168.1.123,子网掩码为255.255.255.0。写出所用命令。 # ifconfig eth0 192.168.1.123 netmask 255.255.255.0 3.显示当前系统的日期和时间命令。 # date–d–y 4.查看命令sort的帮助文件,写出所用命令。 # man sort 5.分屏显示/etc/httpd/conf/httpd.conf文件的命令。 # less /etc/httpd/conf/httpd.conf按“Q”退出该命令 6.将hello!写入/home/wang/test.txt的命令(vi及vim编辑器除外)。 # echo ‘hello!’> /home/wang/test.txt 7.更改用户zhang的登录shell为/sbin/nologin的命令。 # usermod–s /sbin/nologin zhang

8.配置当前主机的默认网关为192.168.2.254的命令。# route add default gw 192.168.2.254 9.连续ping目的IP为192.168.2.245为10次的的命令。# ping–c 10 192.168.2.245 10.打包并压缩/etc目录的命令。 # tar–zcvf mylinux_etc.tar.gz /etc/ 或# tar -jcvf mylinux_etc.tar.bz2 /etc/ 11.查看月历并将内容追加到文件/dd中的命令。 cal–j >>/dd 12.查看当前目录的命令。 Pwd或ls 13.将/etc/passwd的内容追加到文件aaa中的命令。cat /etc/passwd >>/aaa 14.查看/etc/passwd文件的前10行的命令。 head -10 /etc/passwd 15.查看/etc/vsftpd/vsftpd.conf的后10行的命令。 tail -10 /etc/vsftpd/vsftpd.conf 16重启samba服务的命令。 service smb restart 17.查看进程状态的命令。 ps -aux

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中核心控制器是ActionServlet C.Struts2中模型是Action D.Struts2中控制器是Filter 和Action E.Struts2的视图必须用JSP 3.关于Struts2 Action说法下面不正确的是 A.用户编写的Action可以是POJO类 B.用户编写的Action可以实现Action接口 C.用户编写的Action 可以继承ActionSupport D.Action中必须提供execute方法 E.Action提供的业务方法必须public修饰,String类型返回值,无参数的 4.如果客户端请求路径http://localhost:8080/struts2_exec/user_add.action 要执行UserAction类中 的add方法,下面的配置哪些是正确的(选2项) A. B. C. D. E. 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){ https://www.360docs.net/doc/0f14005232.html, = name; } } B.public class HelloAction { private User user ; public void setUser(User user){ https://www.360docs.net/doc/0f14005232.html,er = user; } } public class User {

SSH框架教程

SSH框架的学习 一,Struts 2 1 为什么要学习Struts框架? 1>Struts框架的好处:简化开发工作量,提高开发效率;采用了优秀的MVC 思想 2>如何学习:先掌握框架的使用,在了解内涵 2 MVC模式在javaWeb中的应用 1>MVC思想是根据组件职责不同,将系统分为三部分组成 --M(Model) 负责业务处理 --V(View) 负责与用户交互 --C(Controller) 负责协调试图部分和模型部分协同工作 2> 为什么使用MVC:易于扩展和升级 3 Struts框架的处理流程 浏览器发出struts请求—>请求进入struts控制器—>struts控制器解析XML配置文件—>控制器根据不同请求,调用不同的Action—>Action 调用DAO处理请求返回结果—>控制器根据结果调用试图组件,响应给用户 4 Struts 历史 Struts框架分为Struts1和Struts2 两者没有必然联系,Struts2 是以WebWork 框架核心(Xwork)为基础构建起来的 5 Struts 基本使用 1>引入核心开发包五个: commons-logging-1.0.4.jar ( 主要用于日志处理) struts2-spring-plugin-2.0.14.jar ( struts2整合spring需要的包) 2>在web.xml 中配置struts控制器 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExcuteFilter

3>根据要求编写Action 和JSP Action要继承ActionSupport 4>在struts.xml定义Action和请求对应关系 6 struts.xml 基本配置可以放在src下面 1> 根元素里面包含多个元素 2> 主要是为了将Action分组定义name用于指定包名;extends一 般指定struts-default(在struts-default.xml中定义),里面包括struts2运行所需的必要组件 3> 4> 一个可以包括多个 主要用于试图响应 5>下面一个例子: 7 为列表添加分页功能例如每页2个 page =1; pageSize=2; int begin=(page-1)*pageSize+1; int end=page*pageSize; eg: select * from ( select rownum rn , c.* form COST c ) where rn between 1 and 6;

08230440ssh框架期末考试试卷a

烟台南山学院2013—2014学年第二学期期末考试 《SSH 框架》A (课程代码:08230440 专业:软件技术 学习层次:专科 年级:2012级) 编程题(共两题,总计100分) 1.请用Struts 2 框架,设计一个简单的登录程序,主要要求如下:(60分) 1)建立web project ,项目名字统一定为:struts_login (5分)。 2 ) 创建登录主界面,当用户点击提交按钮时,将用户提交的用户名和密码信息提交给 这个action. 页面如下:(10分) 3)添加页面和,分别用来提示用户登录成功和登录失败(10分)。 4)添加相关的jar (5分)。 5)配置文件(5分)。 6)在src 包下面创建package,该package 起名 (5分) 7)创建LoginAction 类,该类有两个属性:username 和password ,为该类设置getters 和setters 方法,并编写execute 方法,判断用户输入的用户名是否等于nanshan,密码是否等于 ruanjian 。如果以上判断成立,返回sucess,否则返回error 。(10分) 8)创建并配置文件,指定LoginAction 类作为的处理类。根据第七步LoginAction 类的配置,通过配置文件实现如下功能:当用户登录成功时跳转到页面;当用户登录失败时跳转到页面。(10分) 2.请利用Hibernate 框架完成如下功能:(40分) 在book 数据库中有user 表结构如下: 1)创建Java project ,项目名字统一定为hibernate_book 。(5分) 2)在src 包下面创建package,该package 起名 (5分) 3)创建user 类,并为其创建构造函数以及get 和set 方法。(15分)

《基于SSH框架JAVA企业应用》复习题

《基于SSH框架JA V A企业应用》复习题 一、填空 1、现阶段在JA V A WEB开发中的开源框架很多,其中最主流的当属SSH,即Struts,Spring 和( Hibernate )。 2、( ActionServlet )从Struts配置文件中读取数据并初始化Struts应用程序的配置。 3、请求是在RequestProcessor类的( process() )方法中进行处理的。 4、Action的( execute() )方法用于处理请求。 5、( ActionForward )类告诉ActionServlet类有关动作链中的下一个动作。 6、Struts框架中的视图主要由( JSP页面)构成。 7、ActionForm的两种存在范围是:Request和( session )。 8、能在Struts配置文件中配置而不必创建类的Form是( DynaActionForm )。 9、Struts框架由很多java类构成,这些类分成( 8 )个核心包。 10、( validator )框架允许为Struts应用灵活的配置验证规则,无需编程。 11、Hibernate是一个基于JDBC的( 持久化)解决方案,是一个优秀的( 对象-关系映射)框架。 二、选择 1.下面哪个是Struts控制器(A ) A.AvtionServlet B.Action C.ActionFrom D.Struts-Config.xml 2.Struts控制器是根据( A)将请求转发给相应的Action处理. A.Struts-config.xml B.applicationResourse.properties C.通过参数指定 D.以上都是 3.将中文转码的命令是( C ) A.java B.javac C.native2ascii D.jar 4.Action类的execute方法代码如下,从前台页面访问当前Action的效果是( C). Public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){LoginForm loginForm=(LoginForm)form; return null;} A.500错误 B.404错误 C.空白页 D.空指针异常 5.关于Action的说法,下列正确的是( C ) A.Struts的Action类必须实现Acrion接口 B.Struts的ActionServlet必须继承Action类 C.Action类中必须要重写一个execute方法 D.Action类中不一定要重写一个execute方法 6.关于RequestProcessor说法,正确的是( A ) A.RequestProcessor在控制层真正处理请求的 B.由RequestProcessor接收所有.do的请求 C.RequestProcessor也要实现execute方法 D.RequestProcessor可以用来充当Action 7.要通过RequestProcessor扩展Struts框架,最好覆盖那个方法( A ) A.processPreprocess B.process C.processMapping D.processNoCache 8.关于DispatchAction说法正确的是( A ) A.DispatchAction能减少Action的数量 B.DispatchAction的方法可以有任意类型的返回值

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(); }

java高级工程师-面试题及答案

一:选择题 1. 关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2.private static int x=100; 3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.} A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 2. 下列关于for循环和while循环的说法中哪个是正确的?( B ) A.while循环能实现的操作,for循环也都能实现 B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换 D.两种循环结构中都必须有循环体,循环体不能为空 3. 以下选项中循环结构合法的是( C ) A、while (int i<7) { i++; System.out.println(“i is “+i); } B、int j=3; while(j) { System.out.println(“ j is “+j); } C、int j=0; for(int k=0; j + k !=10; j++,k++) { System.out.println(“ j is “+ j + “k is”+ k); } D、int j=0; do{ System.out.println( “j is “+j++); if (j = = 3) {continue loop;} }while (j<10);

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-many 4.Struts1流程: 1、客户端浏览器发出HTTP请求。 2、根据web.xml配置,该请求被ActionServlet接收。 3、根据struts-config.xml配置,ActionServlet先将请求中的参数填充到ActionForm中,然后ActionServlet再将请求发送到Action 进行处理。 4、是否验证,需要验证则调用ActionForm 的validate方法,验证失败则跳转到input,成功则继续。 5、Action从ActionForm获得数据,调用javabean 中的业务方法处理数据。 6、Action返回ActionForward对象,跳转到相应JSP 页面或Action。 7、返回HTTP响应到客户端浏览器。 MVC设计模式:modal:“模型”也称业务逻辑,是正真完成任务的代码,相当与JavaBeanview:视图,其实就是显示界面,相当于JSPcontroller:控制器,他控制模型和视图的交互过程,相当于servletstruts1是基于MVC设计模式hibernate是基于ORM对象关系映射 5.struts是什么? struts1是基于JSP和servlet的一个开源的Web应用框架,使用的是MVC的设计模式struts2是基于webwork技术的框架,是sun和webwork公司联手开发的一个功能非常齐全的框架,struts2和struts1没有任何关系,是一个全新的框架

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

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

《SSH框架整合详解》A卷

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. b. login2对应action的name,后面的login对应action里的方法名 c. d.login2对应action的方法名,后面的login对应action里的name 3.Struts2中,通过下列哪种方式获取不到servletApi? A.ActionContext b ServletContext c ServletActionContext d。接口ServletContextAware,ServletRequestAware,ServletResponseAware访问Servlet对象 4.和SQL相比,HQL有哪些优点? A.HQL能够简单的操作表b。HQL是简单的sql语言组成c。HQL是面向对象的检索语言D。HQL对应的是表和表的字段 5.一个XML文件能被浏览器解析的最小要求是? A.这个文件是形势良好的 b. 这个文件时结构完整的 c 必须每个标记都是XML标准定义过得 D.扩展名必须是。XML文件 6.以下程序代码对Customer的name属性修改了两次 tx=session.beginTransaction(); Customer customer =(Customer)session.load(Customer.class,new Long(1)); Customer.setName(“Jack”);customer.setName(“Mike”); https://www.360docs.net/doc/0f14005232.html,mit(); 执行以上程序,Hibernate需要向数据库提交几条update语句? A.0 b 1 c 2 d 3 7.Customer类中有一个Set类型的orders属性,用来存放Order订单对象,在Customer.hbm.xml文件中,用那个元素映射orders属性? A. b. c. d. 8.对于以下程序,Customer对象在第几行变为持久化状态? Customer customer = new Customer();//line1 Customer.setName(“Tom”);//line2

SSH框架技术试卷+答案

课程考试试卷 一、单项选择题(每题1分,共30分) 1.Struts 2标签库包含的是___________。 A. B. C. D. 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.result 6.在Struts2框架的配置文件中,以下属于package的属性的是___________。A.action B.namespace C.success D.result 7.struts中数据验证失败时,除了可以使用标签之外,还可以通过________标签显示错误信息。 A. B. C. D. 8. 下面属于MVC设计模式的是_______。 A.逻辑层 B.IO流层 C.数据层 D.视图层 9. 如果需要在页面中输出某变量的值,则在Struts中采用___________标签输出该变量的值。 A.param B.if C.bean D.property 10. 如下代码说法正确的是________。 A.奇数行为蓝色 B.奇数行为红色 C.偶数行为黄色 D.偶数行为蓝色 11.假设在application中存在名为name的属性,通过OGNL访问该属性,正确的代码是_________。 A.#name B.#https://www.360docs.net/doc/0f14005232.html, C.name D.${name } 12.若要在Action中访问rquest中的信息,需要实现__________接口。A.RequestAware B.ApplicationAware C.ParameterAware D.SessionAware 13.当用户在struts.xml文件中需要包含其它配置文件时,使用的元素是__________。A.Action B.Include C.package D.filterchain 14.所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2框架而言,需要加载的是_________。 A. Web.xml B.StrutsPrepareAndExecuteFilter C. Struts.xml D.struts2.xml 15.将使用的拦截器定义到共有的状态下来实现统一管理,称为_________。 A.拦截器组 B.拦截器队 C.拦截器链 D.拦截器栈 16.Struts2标签库中迭代标签的status属性的______方法是判断当前元素的索引是否是偶数。 A.isOdd B.isLast C.isFirst D.isEven 17.__________文件主要负责管理应用中的Action映射,以及该Action包含的Result 定义等。 A. Web.xml B. StrutsPrepareAndExecuteFilter C. struts.xml D. struts2.xml 18.Struts 2框架由3个部分组成:________、业务控制器和用户实现的业务逻辑组件。A.核心控制器FilterDispatcher B.模型类C.拦截器D.JSP 19.根据__________配置,浏览器发出HTTP请求被FilterDispatcher接收。。 A. Web.xml B.JSP.xml C.struts.xml D.filter.xml 20.Action类里通常包含了一个___________方法,该方法返回一个字符串(就是一个逻辑视图名)。 A. execute B.Login C.Validate D.method 21.Action元素指定的每个__________子元素定义一个逻辑视图和物理视图之间的映射。。 A.result B.method C.execute D.class 22.Struts配置中,package元素的__________属性的作用是:继承其它的package元

相关文档
最新文档