JavaEE企业级应用开发习题及答案.docx
- 文档编号:24261442
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:12
- 大小:22.66KB
JavaEE企业级应用开发习题及答案.docx
《JavaEE企业级应用开发习题及答案.docx》由会员分享,可在线阅读,更多相关《JavaEE企业级应用开发习题及答案.docx(12页珍藏版)》请在冰豆网上搜索。
JavaEE企业级应用开发习题及答案
课后习题答案
第1章企业级项目导引与开发环境
1.简述企业级应用特点。
(1)数据持久化(Persistentdata)。
(2)海量数据地存储。
(3)数据地并发访问。
(4)大量地用户图形界面。
(5)需求与其它应用集成。
(6)数据概念不统一。
(7)复杂地业务逻辑。
2.简述企业级应用常用框架与其整合方案有哪些。
Struts/Struts2+Spring+Hibernate。
Spring+SpringMVC+SpringJDBCTemplate。
Spring+SpringMVC+Mybatis。
Springboot+Mybatis。
3.简述什么是Maven,以与Maven在项目开发中地作用。
Maven是Apache公司下地一个纯Java开发地开源项目,是一个用于解决项目开发中依赖项目类库下载与同步地项目管理工具,使用Maven可以对Java项目进行构建与依赖管理,并可以用其帮助项目地编译。
4.简述Maven项目中pom.xml文件地地位与作用。
pom.xml是整个Maven系统地基本单元,是Maven工程地核心配置文件,与Maven项目构建过程相关地一切设置都在这个文件中进行配置。
第2章Spring入门
1.简述什么是SpringIOC/DI。
Spring地核心理念包含IoC(控制反转)与AOP(面向切面编程)。
IOC:
控制反转;DI:
依赖注入。
控制反转与依赖注入是对同一件事情地不同描述,只是描述地角度不同。
2.简述Spring地核心容器。
Spring框架提供了两种核心容器BeanFactory与ApplicationContext。
BeanFactory是Spring框架最核心地接口,是一个用于管理Bean地工厂,或者说是一个类工厂。
使用BeanFactory可以完成各种Bean地初始化,以与调用它们地生命周期方法。
但由于BeanFactory更趋于底层,实际开发中并不会在代码中体现。
ApplicationContext(应用上下文)建立在BeanFactory基本上,是BeanFactory地子接口。
第3章SpringBean装配
1.简述Spring容器地工作原理。
Spring框架应用时,首先需求在应用程序中定义Bean地实现类,如Bean1,Bean2,之后需求对Bean进行配置。
Bean地实现类与配置信息完成后,在应用程序地运行过程中,第一步,加载Spring地Bean配置文件,读取Bean地配置信息。
第二步,Spring容器根据各种形式地Bean配置信息在容器内部建立Bean定义注册表,之后根据注册表加载与实例化Bean,并建立Bean与Bean地依赖关系。
第三步,将实例化好地Bean放到Bean缓存池中备用。
第四步,应用程序调用Bean实现程序功能。
2.简述Spring地Bean有哪些装配方式。
比较常见地三种方式为基于XML地装配,基于注解(Annotation)地装配与自动装配,但最为常用地是基于注解地方式。
第4章Spring数据库编程
1.简述如何配置SpringJdbcTemplate。
Spring框架中使用JdbcTemplate需求在Spring地XML配置文件中对DataSource与JdbcTemplate进行配置。
在XML配置文件中定义一个JdbcTemplate地Bean组件,并将dataSource进行注注入,即将JDBC数据库连接时将使用到地数据源指向已经配置好地dataSource。
dataSource配置中包含4个属性,各属性含义如下。
(1)driverClassName:
所使用驱动器名称,对应驱动jar包中地Driver类。
(2)url:
数据源所在地地址。
(3)username:
访问数据库地用户名。
(4)password:
访问数据库地密码。
2.简述SpringJdbcTemplate类地常用方法与返回值。
包含execute(),query(),update()方法。
execute()方法:
无返回值,用于执行执行SQL语,
queryForObject(sql,requiredType):
返回不同类型地对象,例如返回一个String对象。
queryForList(Stringsql,Object[]args,class
该方法可以返回多行数据地列表,即返回一个装有map地list,每一个map是一条记录,map里面地key是字段名。
queryForMap(Stringsql):
查询地返回结果只能是一条记录,返回0条或多条都会报错,返回结果类型是一个Map,Map中地key值是对应数据库表中column地值。
intupdate(Stringsql):
该方法是最简单地update方法地重载形式,可以直接执行传入地SQL语句,并返回受SQL语句操作影响地行数。
第5章SpringMVC入门
1.简述SpringMVC框架与工作流程。
(1)用户发送请求至前端控制器DispatcherServlet,并且会加载SpringMVC地XML配置文件,假如配置文件名为springmvc.xml。
(2)前端控制器会找到处理器映射器(HandlerMapping),通过HandlerMapping,根据配置或注解找到最终要执行地处理器Handler。
(3)处理器映射器找到具体地处理器(可以根据xml配置,注解进行查找),生成处理器对象与处理器拦截器(如果有则生成)并返回给DispatcherServlet。
(4)DispatcherServlet拿到Handler后,找到HandlerAdapter(处理器适配器),通过它来访问处理器,并执行处理器。
(5)HandlerAdapter通过适配调用具体地处理器(Controller类中地方法)。
(6)执行Controller类中地方法返回一个ModelAndView对象给HandlerAdapter。
(7)HandlerAdapter将处理方法地执行结果ModelAndView返回给DispatcherServlet。
(8)前端控制器请求视图解析器(ViewResolver)去进行视图解析,根据逻辑视图名解析成真正地视图(jsp),其实就是将ModelAndView对象中存放视图地名称进行查找,找到对应地页面形成视图对象。
(9)ViewReslover解析后返回具体View到前端控制器。
(10)视图渲染,就是将ModelAndView对象中地数据放到request域中,用来让页面加载数据地。
(11)通过第8步,通过名称找到了对应地页面,通过第10步,request域中有了所需求地数据,那么DispatcherServlet就可以响应用户了。
2.列举SpringMVC地常用注解有哪些。
主要包含@Controller与@RequestMapping两个,除此之外,还包含@Resource,@Autowired,@PathVariable,@requestParam,@ResponseBody,@Component与@Repository注解。
第6章SpringMVC应用
1.简述SpringMVC请求参数绑定地几种方式。
常用地参数绑定方式包含以下几种。
⏹绑定默认参数类型,如HttpServletRequest,HttpServletResponse,HttpSession,Model/ModelMap
⏹绑定简单参数类型,@RequestParam注解类型来进行间接数据绑定。
⏹绑定POJO类型。
2.简述JSON数据交互两个注解地作用。
SpringMVC中提供了JSON数据格式转换注解,分别是@RequestBody与@ResponseBody,两个注解地作用分别如下:
⏹@RequestBody注解:
标注在方法地形参上。
用于实现接收http请求地JSON数据,将JSON数据转换为Java对象并绑定到控制器Controller地请求处理方法地参数上。
⏹@ResponseBody注解:
标注在方法上。
用于将控制器Controller地请求处理方法返回地Java对象转换为指定格式地数据,如:
JSON或XML,最终数据通过Response响应给客户端进行显示。
第7章SpringMVC拦截器
1.简述SpringMVC拦截器地概念与定义方式。
拦截器是一个运行在服务端地程序,主要用于拦截用户地请求并进行相应地处理,即实现对控制器Controller请求地预处理或后处理。
通过拦截器可以使得程序在某个动作(action)执行前或执行后,可以先执行或后执行特定地代码逻辑,也可以实现在某个动作(action)执行前阻止某些代码逻辑地执行。
通常拦截器类可以通过两种方式来定义。
一种是通过实现HandlerInterceptor接口,或继承HandlerInterceptor接口地实现类(如HandlerInterceptorAdapter)来定义;另一种是通过实现WebRequestInterceptor接口,或继承WebRequestInterceptor接口地实现类来定义。
2.简述SpringMVC多个拦截器地执行流程。
当多个拦截器同时正常执行时,拦截器方法地执行顺序为:
配置文件中在前面地拦截器地preHandle()方法先执行,然后根据配置文件中拦截器地顺序依次执行拦截器地preHandle()方法,所有拦截器地preHandle()方法执行完成后,逆序执行每个拦截器地postHandle()方法,当所有postHandle()方法执行完成后,再逆序执行afterCompletion()方法。
第8章SpringMVC文件上传下载
1.简述文件上传页面表单需求满足地3个条件。
(1)form标签中设置属性method="post"。
(2)form标签中设置属性enctype="multipart/form-data"。
(3)form标签体中,添加
第9章Mybatis入门
1.简述MyBatis核心类与其作用。
(1)Configuration。
MyBatis所有地配置信息都保存在Configuration对象之中,它还提供了设置这些配置信息地方法。
(2)SqlSessionFactory。
每个基于MyBatis地应用都是以一个SqlSessionFactory地实例为中心地。
SqlSessionFactory一旦被创建就应该在应用地运行期间一直存在。
(3)SqlSession。
SqlSession表示与数据库交互时地会话,完全包含了面向数据库执行SQL命令所需地所有方法。
(4)Executor。
MyBatis执行器,负责SQL语句地生成与查询缓存地维护。
(5)MappedStatement。
MappedStatement对应配置文件中地一个
2.简述MyBatis地工作流程。
(1)解析配置文件,初始化Configuration对象。
(2)获得MyBatis应用项目地核心实例SqlSessionFactory。
(3)从使用SqlSessionFactory地openSession()方法中获取SqlSession实例,执行具体地SQL请求。
(4)SqlSession根据依据StatementID,在Mybatis配置对象Configuration中获取到对应地MappedStatement对象,接着然后调用Executor来执行具体地数据库操作。
(5)将操作数据库地结果按照映射地配置进行转换,可以转换成HashMap对象,简单Java对象(POJO)或者基本数据类型,并将最终结果返回。
第10章Mybatis核心配置即动态SQL
1.简述MyBatis核心配置文件地结构,并对各配置项进行简要描述。
--配置--> --配置属性文件--> --配置设置信息--> …… --配置Java类地别名--> --配置默认环境--> --配置id为mysql地数据库环境--> --配置数据源--> …… --配置Mapper地位置--> resource="/edu/example/mybatis/mapper/StudentMapper.xml"/>
2.简述MyBatis映射文件中地主要元素与作用。
cache:
对给定命名空间地缓存配置。
cache-ref:
对其它命名空间缓存配置地引用。
resultMap:
描述如何从数据库结果集中加载对象。
sql:
可被其它语句引用地可重用语句块。
insert:
映射插入语句。
update:
映射更新语句。
delete:
映射删除语句。
select:
映射查询语句。
第11章SSM框架整合
简述SSM框架整合过程中需求配置哪些XML文件,并对配置内容简要描述。
SSM框架整合过程中需求地XML配置文件:
包含数据库常量配置文件db.properties,Spring配置文件applicationContext.xml,SpringMVC配置文件springmvc-servlet.xml,以与Mybatis配置文件mybatis_config.xml。
db.properties文件中对数据库链接地常量,如链接地址,用户名,密码进行了配置。
第12章SpringAOP与事务管理
1.简述AOP地专业术语有哪些,并简要描述。
在AOP地应用中,除切面(Aspect)外还会用到一些相关术语,包含切入点(Pointcut),通知/加强处理(Advice),目标对象(Target),代理(Proxy),织入。
各术语具体如下。
⏹切面:
切面=通知+切入点。
通常指封装后地用户横向切入到主业务流程中地非业务逻辑实现类,如事务管理,日志记录。
⏹通知(Advice):
也就是加强处理,具体指在定义好地切入点处要执行地加强处理程序代码,例如执行日志记录操作地代码。
⏹切入点(Pointcut):
是指切面与目标业务程序地交叉点,一般切入点指地是类或方法名。
⏹目标对象(Target):
通知被应用地对象,成为目标。
⏹织入:
指有了切面与待切入地目标对象地切入点以后,把通过生成代理对象地方式将切面代码插入到目标对象上地过程。
⏹代理(Proxy)对象:
是指将通知应用到目标对象后,被动态创建地对象。
代理是指为别人地业务,提供增值服务。
2.简述Spring通知类型有哪些,并简要描述。
Spring中对于AOP地通知,共提供了5种类型,具体如下。
⏹前置通知:
在主业务方法(目标方法)执行之前执行,常用于权限管理功能。
⏹后置通知:
在主业务方法(目标方法)执行之后执行,常用于上传文件,关闭流,删除临时文件功能。
⏹异常通知:
在主业务方法(目标方法)抛出异常之后,常用于处理异常记录日志功能。
⏹环绕通知:
围绕着主业务方法(目标方法)执行,常用于日志管理,事务管理功能。
⏹最终通知:
在主业务方法(目标方法)返回结果之后执行。
最终通知无论如何都会在目标方法调用过后执行,即使目标方法没有正常地执行完成。
3.简述Spring中声明式事务管理地两种方式。
声明式事务管理可以通过两种方式来实现,一种是基于XML地方式,另一种是基于注解(Annotation)地方式。
第13章SSM实战:
媒体素材管理系统
1.简述在媒体素材管理系统中拦截器地作用。
媒体素材管理系统分媒体素材浏览与后台管理两大子功能,对于媒体素材浏览功能是不需求进行用户登录地,但对于后台管理功能则是需求用户登录后才可以操作地。
这里就需求对不同地URL请求进行权限验证,原则是对于所有后台管理功能地URL请求地执行,必须先验证是否已经登录,如果已登录则可以执行管理操作,如果未登录,则需求先转到登录页面登录后才可以进入管理页面。
上述功能需求可通过定义拦截器地方式来实现。
拦截器类中,在preHandle()方法中对用户是否登录进行验证,如果用户未登录则重定向到用户登录页面提醒用户进行登录。
2.简述媒体素材管理系统中分页效果是如何实现地。
在系统地媒体管理功能中,用到了Mybatis框架地PageHelper分页插件来实现分页效果,参数pageNum表示请求地页码数,给定默认值defaultValue="1",表示从不指定页码时默认显示第一页内容。
例如:
语句PageHelper.startPage(pageNum,3);中地3表示每页显示3条数据。
使用PageInfo对象将分页后地数据与相关属性绑定到页面中使用。
第14章SpringBoot入门
1.简述为什么使用SpringBoot。
在构建Spring项目时,总会遇到一系列地困难,例如:
项目基于哪些Maven项目模板?
需求使用哪些Maven依赖?
配置文件使用XML还是Java?
如何安装服务器,服务器使用Tomcat还是JBoss?
以上这些还只是项目开发时面临地一些最基本地问题,因此,程序开发人员希望项目开发时,针对以上问题可以拥有一个默认地最佳解决方案,这就是SpringBoot解决方案。
2.简述SpringBoot地开发流程。
基于Spring框架地项目开发流程主要包含以下几个步骤。
(1)使用web.xml文件定义SpringMVC地DispatcherServlet(前端控制器)。
(2)配置SpringMVC地XML配置文件。
(3)编写控制器(Controller)针对客户端请求进行处理。
(4)将项目部署到Web服务器运行。
第15章SpringBoot整合应用
1.简述SpringBoot如何整合Freemarker模板。
SpringBoot地Web项目中使用Freemarker模板,除了在新建项目时在项目创建地导航对话框中找到“TemplateEngines”选项勾选“ApacheFreemarker”以与找到Web选项后勾选“SpringWeb”进行SpringBoot与Freemarker整合Web项目地构建外,还可以在已创建完成地项目地pom.xml中导入Freemarker地依赖。
2.简述SpringBoot如何整合MyBatis。
SpringBoot地Web项目中使用MyBatis,除了在新建项目时在项目创建地导航对话框中找到SQL选项勾选“MySQLDriver”与“MyBatisFramework”对MyBatis框架进行整合外,还可以在已创建完成地项目地pom.xml中导入MyBatis与Mysql地依赖。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaEE 企业级 应用 开发 习题 答案