华软 企业JAVA2总结资料_第1页
华软 企业JAVA2总结资料_第2页
华软 企业JAVA2总结资料_第3页
华软 企业JAVA2总结资料_第4页
华软 企业JAVA2总结资料_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2.3.AC4.5.ABC interceptor name二 myInterceptor class二 D 标签来引用8. 以下关于STRUTS2资源文件的描述中,不正确的是 A全局资源文件必须保存在SRC目录下C包级别的资源文件的命名是GLOBAL. PROPERTIEScom. sise. struts. Authlnceptor / class /(A)A. & B. % C. # D. $SPRING 使用VALUEVALUE/标签来注入 NULL 值 在JAVA代码中可以使用REsource注解的方式进行注入依赖对象BD(B)B临时资源文件必须保存在SRC目录下D动作级别的文件的命

2、名可以是动作类.properties10年试题、选择题I. 以下关于STRUTS的描述中,不正确的是(B)A struts是一个基于JAVA EE的MVC实现 B struts2的框架配置文件是STRUTS-CONFIG. XMLC struts2的控制组建核心包括核心控制器和业务控制器D在struts2中解决中文乱码可以通过修改strutso I18rio encoding的值为GBK来实现 不属于Struts2动作类的常量返回值的是(C)A SUCCESS B INPUT C. NEVER D. LOGIN在STRUTS2项口中,假设动作包的命名空间名称是EXAM,项目的虚拟路径是STRU

3、TS2,则以下路径写法正确的是(D) http:/localhost:8080/exam/struts2/aa. jsp B http:/localhost:8080/Struts2/exam/ut. jsphttp:/localhost:8080/struts2/Exam. aa. jsp D http:/locdlhost:8080/struts2/exain/UL jsp 以下不属于 Struts2 动作执行的结果类型是(A) A action B redirect C redirectAction D dispatcher 现有一个com. sise. struts. Authlnte

4、rceptor拦截器类,假设将他的名字定义为auth,以下定义的语句中,正确的是(A)139. 以下关于STRUTS2的框架校验输入数据的描述中,不正确的是(A)A对于Double类型数据的不能为空的校验可以使用requiredstring校验器B是一种校验代码放到XML配置文件中的以声明的方式进行校验方式C必须编写一种以动作类-vMidation命名的XML校验文件 D INT校验器具有MIN和MAX两个参数10. 以下关于HIBERNATE的描述中,不正确的是(C)A在HIBERNATE中,处于瞬时状态的实体在数据库中没有数据与之相对应B Hibernate是一种主流的0RH框架C处于游离

5、状态的实体状态发生改变时,事务提交时会自动更新数据库D在hibernate中,执行久化操作前必须开启事务II. 以下关于每个具体类一张表的继承映射的描述中,不正确的是(A)A不符合关系模型的常规设计规则,存在太多冗余字段B需要在子类映射中添加一个指向父类主键的外键C需要将父类定义为抽象持久化类D只有一个以父类命名的映射文件12. 假设有一表名Person,实体名为student则以下语句不正确的是(A)A from person where name like %明B select name , age from person where id between 1 and 20C select

6、 ncime age from student where id between 1 and 20 D from student13. 以下各项的陈述中,不正确的是(B)A spring提供了良好的面向切面编程的特性B只能在spring中管理应用中所用到的各种BEANC控制反转是指依赖对象创建及维护是由外部容器负责D spring是一个开源的框架,使用它可极大的简化企业级开发14. SPRING在TR71NSATI0NDEFINITI0N接口中规定了 7仲类型的事务传播行为,以下不属于spring事务传播行为的是(C)A SUPPORTB NOT_SUPPORT C NONEDREQUIRES

7、_NEW15. 以下关于依赖对象的注只方式的叙述中,不正确的是(D)B可以使用属性SETTER方法注入依赖对象D可以使用类注入依赖对象A可以使用构造器注入依赖对象 C可以使用FIELD注入依赖对象二、填空题1. 对于hibernate单向一对多关联,必须在映射文件中使用one-to-meiny标签来声明关联关系,同时在一方持久化类中必须 声明一个元素类型为多方持久化类型的 遂金 类成员属性。2. 在hibernate中持久化对象的生命周期状态中,对于数据库中有数据对应,半前没有session关联对象的称为transient对 象;对于数据库中有数据与之相对应,且与session有关联的对象称为

8、persistent对象;对于数据库中既没有数据与之相对应, 且也没有session关联的对彖称为detached对象。3. 在struts2校验框中,不允许字符串类型的数据为空使用的校验器是field,不允许非字审数据为空使用volidator校验器。4. 假设对应上传文件内容的变量声明为File file ,则对应上传文件名应声明为string fileFileName对应上传文件的类型应 声明为 String fileContentType5. 在SPRING中,如果希望通过注解配置声明式事务,则需要在业务类或业务方法中使用Transactional注解进行定义。三、判断题1. stru

9、ts2校验框架将校验代码从action代码中剥离出来,以声明的方式放到XML配置文件中(A)2. 在hibernate中,使用session的get方法査询实体时不需要开启事务(B)3. 在jsp贝面显示资源文件内容可使用s:text标签(A)4. 使用validate ()校验数据,当校验失败时会自动跳转到input逻辑视图(A)5. struts标签的默认主题是css,可通过theme属性修改该标签主题(B)6. 如果需要为registerAction创建动作类级别的属性文件,则应创建命名为registerAction. properties的属性文件(A)7. spring是一个开源的I

10、OC和A0P的容器框架(A)8. spring 的国际化是通过 applicationcontext 接 口继承 messagesource 接口来实现(A)9. 使用criteria接口所提供的方法可以将査询条件封装为一个对象(A)10. resource:默认按名称装配,当找不到与名称匹配的bean时才会按类型装配(A)四、编程题1使用spring完成以下各题要求功能。(1) 已知D殆和EatService两个类和一个接口 ylnimal,它们的关系分别如下程序所示:package com sise exam;public interface Animal public void eat(

11、);package com sise exam impl;import com sise exam Animal;public class Dog implements Animal public void eat () System. out printlrdog eating); package com sise exam service;import com sise exam Animal;public class EatServiceprivate Animal animal;public void eating()System out printin(anima1. eat();

12、public void setAnimal(Animal animal) this animcil=animal;要求:使用Spring对上述各类进行管理,打印出dog eating.的语句。请根据要求及上述程序所表示的关系,在Spring配置文件中使用两个beein分别对它们进行配置,在以下各空口处写出这两个be“n 的配置代码。property iieune 二” animal ref二” do/ /(2) 以下是关于AOP的应用,请根据要求补充以下各题空口处 可以使用Aspect注解来声明某个类为切面。 使用基于Schema的A0P命名空间进行Spring自动创建代理织入切面的配置工作涉

13、及两个步骤,一是必须在配置文件中引入 A0P命名空间;二是必须使用aop:aspectj-“iaoproxy/标签代码来声明自动为Spring容器中的切面bean创建代理。 使用注解定义一个切入点,要求:匹配任意返回值的com. sise. exam. Breatheservice类中的所有方法Pointcut(execution (*com sise. examBreatheservice. *()(3) 对上述切入点声明名称为someMethodO,写出该声明代码 private void someMethod() 2. 使用hibernate实现以下各题要求功能仃)编写employee实

14、体类,已知e叩loyee具有以下三个属性Id: Integer name:String birthday:Date 注:属性ID是标识符属性 Package com entity public class Enipl.oyee private Integer id; private String name; private Date birthday; public Integer getldO return id;I_Idpublic void setld(lnte名er id)This, id二id;public Strin getName()return name;1public voi

15、d setName(String name)this name二name;public Date getBirthday()return birthday;1public void setBirthday(Date birthday)this, birthday二birthday;5(2)根据上而编写的Employee实体类及映射文件中的注释,补充以下映射文件!主键生成方式为 increment-!主键映射一generator class二native /property name二” nanie not-null13” true / property name二” birthday type

16、二” date” / 3. 使用STRUTS2实现如图一图四所示效果 创建动作类(要求:使用VALIDATE()校验输入数据,如果没有输入姓名或谁水果或水果名,则切换到表单输入页面,并将错误提示信息显示到对应表单域的上面)import com. opensymphony. xwork2 ActionSupport;public class LoginAction extends ActionSupport private String name;private String fruit; public void validateO if (name = null name, trim() eq

17、uals(“) addFieldErrorCname,必须输入用户名);if (fruit = nullI I fruit. trimO. equals() addFieldErrorCzfruit,z,必须输入水果); (2) 根据注释补充表单输入页面(input, jsp中的空口代码) 输入页面 errorMessagecolor:red(3) 根据注释补充输出页面(welcome, jsp)空口处代码taglib prefix 二” s” uri二” /struts-tags % 输出页面/titlepublic String getNameO return name;public vo

18、id setName(String name) this .ntime = name;public String getFruit() return fruit;public void setFruit(String fruit) this fruit = fruit;!-使用struts2标签创建如图一所示的表单一 s:fonn action二”namespace二/action s: textfiled name二naune” ldbeJ二 用户名/ s:submit value 二” 提交/s:form 欢 迎您,这是您 喜爱的s:property value 二” fruit” /请拿

19、好!4. 根据注释补充struts, xml配置文件中的空口处,完成动作包和动作配置 !一配置动作包-package name二” loginDemo” extends二” stmts-default/ namespace二/action” result name二” input /inputjsp/result/package /welcomejsp/result 课堂测试一使用S truts2+Hibernate完成以下各题要求:1. 使用Struts2标签创建下图所示表单,写出表单创建代码Location http:/localhost:8082/dem0/addStudent. jsp

20、3 .创建接收第1题客户端参数以及实现第2题效果的动作类 package com sise struts2 hibernate action;import com opensymphony. xwork2 ActionSupport;import com sise struts2 hibernate dao. AddStudentDao; importcom sise struts2 hibernate dao imp 1. AddStudenlDtioImpl9import com sise struts2 hibernate po. Student;public class AddStud

21、entAction extends ActionSupport private static final long serialVersionUlD = IL; private int id;private String sno;/学号private String name;/姓名private Student student;private AddStudentDao dao;public AddStudentAction()dao二new AddStudentDaolmpl():student=new Student();public int getld() return id;publi

22、c void setld(int id) this id 二 id;public String getSno() return sno;public void setSno(String sno) this sno = sno;public String getNcimeO return name;public void setName(String name) thisname = name;public String as() throws Exception/添加新的学 生if (sno. trim(). equals() | |name trim() equals(“)2. 使用Str

23、uts2标签获取用户输入数据,效果如下图所示,根据第1题表单代码,写出使用Struts2标签输出数据代码Location Kttp:/localhost:8082/demo/addStudent. action学号;20110001姓名:张三ad dF i e 1 dEr r or (z,sno,z,学号或姓名不能为 空!);return LOGIN; else student setSno(sno); student setName(ncime);4. 写出第3题所创建的动作类的动作包和动作配置代码。 packcige name二 strutsjiibernateext ends 二 str

24、ut s-de fault namespace= /action 0dao. insert(student); return SUCCESS,action name= addStuden tAc tion 二coin. sise. sti、uts2 hibernate, action. AddStudentAc tion method二Zs乡/addSuccess jsp/resulAresultname= login乡/addStudent jsp5. 如果需要使用hibernate将第1题用户输入的数据保存到数据库表中,则可以创建实体Student,请写出该实体类代码package com

25、 sise struts2 hibernate po;public class Student private int id;private String sno;private String name;public int getldO return id;public void setld(int id) this id 二 id;public String getSno() return sno;public void setSno(String sno) this sno = sno;public String getNameO return name;public void setN

26、ame(String name) this .name = name;6. 写出Student实体类的映射文件代码(注:只写LB之间的代码即可)hibernale-mapping package= com. sise. struts, hibornate, pod课堂测试二1. 分别写出在类TeacherDaoBean中使用HibernateTemplate和HibernateDaoSupport类实现获取指定主键为3的Teacher实体 的类的定义代码private HibernateTemplate hibernateTemplate;public void setHibernateTem

27、plate(HibernateTemplate hibernateTemplate) this hibemaleTemplale = hibernateTemplate;public Student findStudentByld(int id) / TODO Auto-generated method stubreturn (Student)hibernateTemplate get(Student class, id);public class TeacherDaoBean extends HibernateDaoSupportpublic Student findStudentById(

28、int id) return (Student)getHibernateTemplate() get(Student. class,id);2. 使用Spring完成以下各题要求功能。(1) 已知有Fish和BreatheService两个类和一个接口 Animal,它们的关系分别如下程序所示:package comsise.test;public interface Anirnslpublic void breathe();package com sise test impl;import com sise test .Animal;public class Fish implements

29、Animalpublic void breathe () System. out printin(Fish breathing);package com.sise.test.service;import com. sise test Animal;public class BreathServiceprivate Animal animal;public void breathing()System. out printin (anima 1. breathe ();public void setAnimal(Animal animcil) this animalanimal;要求:使用Spr

30、ing对上述各类进行管理,打印出Fish breathing.的语句。请根据要求及上述程序所表示的关系,在Spring配置文件中使用两个be“n分别对它们进行配置,在以下各空口处写出这两个been的配置代码。property name二animal ref二aninkd/(2) 以下是关于AOP的应用,请根据要求补充以下各题空口处 可以使用Aspect注解来声明某个类为切面。 使用基于Schema的A0P命名空间进行Spring自动创建代理织入切面的配置工作涉及两个步骤,一是必须在配置文件中引入AOP命名空间;二是必须使用&Qj:aspect一&utc)MOxy标签代码来声明自动为Spring

31、容器中的切面bean创建代理。 使用注解定义一个切入点,要求:匹配任意返回值的com. sise. exam. Breatheservice类中的所有方法Pointcut(execution(* com sise test service BreathService.*( )(3)对上述切入点声明名称为someMethodO,写出该声明代码private void someMethodO hibernate应用基础单元复习题1. 如何搭建Hibernate运行环境?1. 需要hibernate3. jar及依赖类库jar2. 对hibernate3.6,依赖类库jar文件主要有librequi

32、red 口录下的所有jar文件、libjpa日录下的 hibernate-jpa-2. 0-api-l. 0. 0. Final, jar 以及从 http:/www. slf4j. org 下载的 slf4j-simple-l. 6. 1. jar3. hibernate, cfg. xml 配置文件或 hibernate, properties 属性文件2. 持久化类的编写规范有哪些?1. 必须具有无参构造方法;2.具有一个主键属性3.非final类,否则对懒加载有影响;4.使用JavaBean的编写规范来编写 属性的setter和getter方法3. Hibernate的配置文件默认名称

33、是什么?保存在哪里?hibernate, cfg. xml,保存在文件目录下如src4. 映射文件的作用是什么?如何命名? Hibernate核心类与接口主要有哪些?常用持久化方法有哪些?1. 用于设置持久化类与数据库表的映射关系,是hibernate的核心所在。2. 般以持久化类名+hbm. xml来命名,如Person, hbm. xml。3. Hibernate 核心类与接口主要有,Criterici, Query, Transaction,Session, SessionFactory, Configuration4.持久化操作在事务提交后生效常用持久化方法:save(Object o

34、bject)persist(Object object)Object get(Class clazz, Serializable id) update(Object object) delete(Object object)Transaction beginTransactionQObject load(CIass theClass, Serializable id)5. 简述Hibernate持久化设计模式。数据的持久化就是将内存中的数据固化到服务器的存储介质中。在企业级应用中,通常将数据的持久化放到一个相对独立的逻辑 层面上,这个逻辑层称为持久层。6. 简述OEM、P0、POJO以及DA0

35、的概念和实现过程。0R.M:对象关系映射,0/R Mapping,用于将Java应用中的对象与关系数据库中的数据相互转化。P0: Persestent Object,持久化对象,以面向对象的方式操作数据库。POJO: Plain Old Java Objects,普通Java低入侵式的设计,完全采用普通java对象来作为持久化对象使用。DAO: Data Access Objects,数据访问对象是第一个面向对象的接口,它显露了 Microsoft Jet数据库引擎(由Microsoft Access 所使用),并允许Visual Basic开发者通过ODBC象直接连接到其他数据库一样,直接连

36、接到Access表。7. 面向对象中的继承关系映射关系数据库中,可以使用哪三种继承映射策略?简述其映射方式、影射语法及策略的优缺点。 每个具体类一张表:这种映射方式为每个子类创建一张表,每张表包含子类的所有属性,包括继承的父类的成员属性。 映射语法:分别为继承层次的各个类定义持久类,其中只有父类包含标识符属性,定义父类为抽象类,每个子类为具体 类,父类不映射成表,每个子类映射一张表,只有一个以父类命名的映射文件,将子类属性放在union-subclass标记 对之间。优点:可以对子类的成员属性映射的字段定义not null约束,缺点:不符合关系模型的常规设计规则,存在 太多冗余字段。 每个类一

37、张表:这种映射方式为每个类创建一张表,每张表仅包含当询类中定义的成员属性,不包含父类的成员属性。 映射语法:分别为继承层次的各个类定义持久类,其中只有父类包含标识符属性,父类和子类分别映射到不同的表,父 类与子类对应的表通过外键关联,只有一个以父类命名的映射文件,子类属性放在映射文件中的joined-subclass标记 对之间。优点:可以对子类的成员属性映射的字段定义not null约束,缺点:査询性能不如每个类分层结构一张表。 每个继承层次一张表,这种映対方式用一张表存放整个继承层次结构中每个类的全部成员属性,为了区分不同的子类, 需要在表中增加一个称为“鉴别”名称的字段,映射语法:分别为

38、继承层次的各个类定义持久类,其中只有父类包含标 识符属性,只有一个以父类命名的映射文件,在映射文件中,必须使用discriminator的column属性来定义鉴别字段,在映射文件中,父类的属性直接放在class 标记对之间,而子类的属性必须放在subclass标记对之间,并且需要在此标记中使用discriminator-value属性指定 子类对应的鉴别字段的值。优点:最简单、执行效率最高(因为无需进行任何关联操作),缺点:在数据表中需要加入额 外的区分各个子类的字段;同时不允许为子类的成员属性对应的字段定义为not null约束。8. 简述关联映射的概念。一个信息系统中的数据库表之间经常存

39、在一定的关联关系,相应地,使用Hibernate进行映射时,持久化类之间也存在一定的关 联关系。类之间的关联是指一个类知道另一个类的属性和方法9. 简述多对一与一对多关联。多对一和一对多关联是从不同的方向来看的结果,如用户和银行帐户,从用户角度看是一对多关系;而从银行帐户角度看则是多 对一关系10. 简述一对一关联。对一关系表在hibernate映射中使用两种处理方式:唯一外键:是多对一的特殊形式,要求在多方映射表中指向一方的外键不能重复出现;共享主键:指的是被动方的主键通过外键的方式使用主动方的主键。11. 简述多对多关联。多对多关联通常需要使用一个中间表来关联12. 简述set中使JU c

40、ascade属性设置级联操作、inverse设置控制反转的应用。可在set中使用cascade属性设置级联操作(可选)可在一对多关联的设置中设置控制反转:在set中设置属性inverse二“true”可将控制权由“一”方转给“多”方(可选)13. 使用Hibernate査询的方式有哪三种?使用HQL: Hibernate Query Language,具有与SQL相类似语法的面向对象化的查询语句,用于操作实体及其属性。使用Criteria对象:按条件査询和按示例査询使用原生(native)SQL语句14. from Person order by id”中的Person是什么? Person类

41、Person对象数据库中的表名15. 简述Query接口的作用及其常用方法。方法名称方法描述list ()获取满足查询条件的记录的集合ite rate()获取满足査询条件的记录的Iterator对象,会使用缓冲提高査询数据性能setMaxResultsO设置查询返回的总记录数setFirstResultO设置满足查询条件的第一条记录的位置uniqueResult()获取满足查询条件的唯一记录16. 简述常用HQL语句、举简单应用例。使用HQL语句可以査询所有持久化对象,此时査询结果是一个元素类型为持久化类的Listpublic static void queryList()Session se

42、ssion=HibernateUtilgetSessionFactoryO getCurrentSession(); Transaction tx=session.beginTransaction();Query query=session.createQuery(from User);List users=querylist();for(User useriusers)Systemprintin(id: +usergetld()+, name:+user.getName();txcommit();如上图:form User二select * from User;17. 简述Criteria査

43、询及Criteria接口的使JU方法、举简单应用例。方法:方法名称方法描述add()对Criteria对象增加一个査询条件addOrder ()对Criteria对象増加一个査询排序条件list ()获取满足査询条件的记录的集合createCriteria()对持久化类创建Criteria对象setMaxResultsO设置査询返回的总记录数setFirstResultO设置满足査询条件的第一条记录的位置uniqueResult()获取满足査询条件的唯一记录示例:public static void criteriaExampiesl)(Session session=HibernateUti

44、l.getSessionFactoryO .getCurrentSessionf);Transaction tx=session.beginTransaction();Criteria criteria=session.createditeria(Userclass);Criterion crt=Restrictions.between(Hagenew Integer(30)rnew Integer(39);criteria.add(crt);List users=criteria.list();for(User user:users)System.out.printin(wname:n+us

45、ergetName()+nz age:+usergetAge();1criteria.addOrder(Order.asc(nnamen).addOrder(Order.desc(nidn);users=criteria.list();for(User user:users)System.out.printin(nid: n+user.getld()+w; name:n+user.getName();)I18. 简述Restrictions类的使用方法、举简单应用例。常用方法(返回Cr iter io n类型的对象):eq()、ne() gt () geO It () leO between(

46、) in()、like() isNullO isNotNull () and() or () not ()等; Restrictions. eq( namench ); Restrictions. like( “name” , ”);Restrictionsbetreen( “age , new Interger (30), new Interger (39);19. 简述Order类的使用方法、举简单应用例。可以使用 org.hibemate.criterion.Order 对象排序査询结果。常用静态方法:1. desc():设置降序排列,返回值类型为Order; 2. asc():设置升序

47、排列,返回值类型为Order 使用addOrder ()方法来添加排序方式:示例:1 Criteria criteria二session. createCriteria(User class);2 criteria addOder(Order desc(id); 3 criteria addOder(Order asc(id);Struts2基础单元练习题1. 如何将一个web项目转变成一个struts2项目?为项目添加Struts2类包支持;设置核心服务器(配置web. xml);创建 业务逻辑控制器(Action); 创建struts, xml配置Action;创建视图页面;部署和运行struts2项目。2. Struts2项目的基本组成部分,创建一个struts2项日的步骤有哪些? Struts2某本组成部分:控制组件:核心控制器(FilterDispatcher)和业务控制器(Action)。模型组件:JaveiBean、EJB。视图组件:JSP、HTML贝面等。配置文件:web. xml和struts, xml等。步骤:1.准备类库。2.在w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论