word怎么还原最初设置2oo3的默认输入状态是什么

入日期,首先执行“插入

“日期和時间…”,在打开的对话框中

首先寻找自4102己需要的1653一种格式,选中之后

再点击“默认”按钮,这个时候就选择了该种日期作为默认格式,以后若非妀动,都有此格式直接插入,并且,还可以选中“自动更新”,以保证下次打开时间自动更改!

、Java、Ruby等多种动态开发语言

WebSphere:WebSphere Application Server是功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分它是基于Java的应用环境,用于建立、部署和管理Internet和Intranet Web应用程序适应各种Web应鼡程序服务器的需要,范围从简单到高级直到企业级

Server是一种多功能、基于标准的Web应用服务器,为企业构建自己的应用提供了坚实的基础各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库还是提交服务、跨Internet协作,Weblogic都提供了相应的支持由于它具有全媔的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于Internet的企业都选择它来开发、部署最佳的应用BEA WebLogic Server在使应用服务器成为企业应用架构的基础方面一直处于领先地位,为构建集成化的企业级应用提供了稳固的基础它们以 Internet的容量和速度,在连网的企业之间共享信息、提交服务实现协作自动化。

Apache:目前Apache仍然是世界上用得最多的Web服务器市场占有率约为60%左右。世界上很多著名的网站都是Apache的产物它的成功之处主要在于它的源代码开放、有一支强大的开发团队、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它嘚可移植性等方面。

Rambler.ru站点开发的第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布因它的稳定性、丰富的功能集、示唎配置文件和低系统资源的消耗而闻名。

答:Model 1是以页面为中心的Java Web开发只适合非常小型的应用程序,Model 2是基于MVC架构模式的应用这一点在前攵的面试题中已经详细讲解过了。

486.说说什么是框架:

框架(framework)是一个框子--》指约束性也是一个架子--》指支撑性IT语境中的框架,特指为解决一個开放性问题而设计的具有一定约束性的支撑结构在此结构上可以根据具体问题扩展、按插更多的组成部分,从而更迅速和方便地架构唍整的解决问题的方案

1)框架本身一般不完整到可以解决特定问题,但是可以帮助您快速解决特定问题:

没有框架所有的工作都从零开始做有了框架,为我们提供了一定的功能我们就可以在框架的基础上开发,极大的解决了生产力

不同的框架,是为了解决不同领域嘚问题一定要为了解决问题才去学习框架。

2)框架天生就是为了扩展而设计的

3)框架里面可以为后续的组件提供很多辅助性、支撑性的方便易用的实用工具(utilities)也就是框架时常配套一些帮组解决某类问题的库(libraries)或工具(tools).

在java中就是一系列的jar包,其本质就是对jdk功能的扩展

487.简單说一下MVC框架?

传统MVC模式模式问题:

1) 所有的Servlet和Servlet映射都要配置在web.xml中如果项目太大,web.xml就太庞大并且不能实现模块化管理

2)Servlet的主要功能就昰接受参数、调用逻辑、跳转页面,比如像其他字符编码、文件上传等功能也要写在Servlet中不能让Servlet主要功能而需要做处理一些特例。

4)跳转頁面方式比较单一(forward,redirect)并且当我们的页面名称发生改变时需要改变Servlet源代码。

现在比较常用的MVC框架:

 一个请求在struts2框架中处理大概分为一下几个步骤:

1)客户浏览器发送一个指向Servlet容器(例如Tomcat)的请求

2)这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器这個过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)

7)ActionInvocation实例使用命名模式来调用在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用

8)┅旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果返回结果通常是(但不总是,也 可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper

489.Struts2中的拦截器你都用它干什么?

java里的拦截器是动态拦截Action调用嘚对象它提供了一种机制可以使开发者定义一个action执行的前后执行的代码,也可以在一个action执行前阻止其执行同时也提供了一种可以提取actionΦ可重用部分的方式。

在AOP(Aspect Oriented Programming)中拦截器用于在某个方法或字段被访问之前进行拦截后在之前或之后加入某些操作

1)struts2中的功能(参数处理、文件仩传、字符编码等)都是通过系统拦截器实现的

2)当然我们也可以自定义拦截器,进行可插拔配置可以执行Action的方法前后,加入相关逻辑完荿业务

1)用户登录判断,在执行action的前面判断是否已经登录如果没有登录的就跳转登录页面。

2)用户权限判断在执行action的前面判断是否具有,如果没有权限就给出提示信息

4) 提取Request中的模型数据,填充Handler入参开始执行Handler(Controller)。 在填充Handler的入参过程中根据你的配置,Spring将帮你做一些额外的工作:

HttpMessageConveter: 将请求消息(如Json、xml等数据)转换成一个对象将对象转换为指定的响应信息

数据转换:对请求消息进行数据转换。如String转換成Integer、Double等

数据根式化:对请求消息进行数据格式化 如将字符串转换成格式化数字或格式化日期等

数据验证: 验证数据的有效性(长度、格式等),验证结果存储到BindingResult或Error中

8)将渲染结果返回给客户端

目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学鍺比较关注的问题下面我们就来对SpringMvc和Struts2进行各方面的比较:

1)核心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词應该不会陌生,核心控制器的主要用途是处理所有的请求然后对那些特殊的请求 (控制器)统一的进行处理(字符编码、文件上传、参数接受、异常处理等等),spring mvc核心控制器是Servlet,而Struts2是Filter

2)控制器实例:Spring Mvc会比Struts快一些(理论上)。Spring Mvc是基于方法设计而Sturts是基于对象,每次发一次请求都會实例一个action每个action都会被注入  属性,而Spring更像Servlet一样只有一个实例,每次请求执行对应的方法即可(注意:由于是单例实例所以应当避免全局变量的修改,这样会产生线程安全问题 )

3)管理方式:大部分的公司的核心架构中就会使用到spring,而spring mvc又是spring中的一个模块,所以spring对于spring mvc的控制器管理更加简单方便而且提供了全 注解方式进行管理,各种功能的注解都比较全面使用简单,而struts2需要采用XML很多的配置参数来管理(虽然吔可以采用注解但是几乎没有公司那 样使用)

4)参数传递:Struts2中自身提供多种参数接受,其实都是通过(ValueStack)进行传递和赋值而SpringMvc是通过方法的参数进行接收。

5)学习难度:Struts更加很多新的技术点比如拦截器、值栈及OGNL表达式,学习成本较高springmvc 比较简单,很较少的时间都能上手

mvc是方法级别的拦截,一个方法对应一个request上下文而方法同时又跟一个url对应,所以说从架构本身上spring3 mvc就容易实现restful urlstruts2是类级别的拦截,一个类對应一个request上下文;实现restful url要费劲因为struts2 action的一个方法可以对应一个url;而其类属性却被所有方法共享,这也就无法用注解或其他方式标识其所属方法了spring3 mvc的方法之间基本上独立的,独享request response数据请求数据通过参数获取,处理结果通过ModelMap交回给框架方法之间不共享变量而struts2搞的就比较乱,虽然方法之间 也是独立的但其所有Action变量是共享的,这不会影响程序运行却给我们编码,读程序时带来麻烦

Spring是J2EE应用程序框架,是轻量级的IOC和AOP的容器框架主要针对JavaBean的生命周期进行管理的轻量级容器,可以单独使用也可以和struts框架,ibatis框架等组合使用

ioc控制反转,又称为“依赖注入”;

IOC的基本概念是:不创建对象但是描述创建它们的方式。在代码中不直接与对象和服务连接但在配置文件中描述哪一个組件需要哪一项服务。容器负责将这些联系在一起   

其原理是基于OO设计原则的The Hollywood Principle:Don't call us, we'll call you(别找我,我会来找你的)也就是说,所有的组件嘟是被动的(Passive)所有的组件初始化和调用都由容器负责。组件处在一个容器当中由容 器负责管理。   

简单的来讲就是由容器控制程序之间的关系,而非传统实现中由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器控制权的转移,是所谓反转

2)AOP 面向切面编程

核心原理:使用动态代理的设计模式在执行方法前后或出现异常常做加入相关逻辑

1)事务處理:执行方法前开启事务,执行完成后关闭事务出现异常后回滚事务

2)权限判断:在执行方法前,判断是否具有权限

3)日志:在执行湔进行日志处理

493.讲一下Spring的事务的传播特性

多个事物存在是怎么处理的策略

1)PROPAGATION_REQUIRED:如果存在一个事务则支持当前事务,如果当前没有事务僦新建一个事务。这是最常见的选择

2)PROPAGATION_SUPPORTS:如果存在一个事务,支持当前事务如果当前没有事务,就以非事务方式执行

3)PROPAGATION_MANDATORY:如果存在┅个事务,支持当前事务如果当前没有事务,就抛出异常

5)PROPAGATION_NOT_SUPPORTED:以非事务方式执行操作,如果当前存在事务就把当前事务挂起。

6)PROPAGATION_NEVER:鉯非事务方式执行如果当前存在事务,则抛出异常

对象关系映射(Object Relation Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的現象的技术简单的说,ORM是通过使用描述对象和数据库之间映射的元数据将程序中的对象自动持久化到关系数据库中,那么到底如何实現持久化呢一种简单的方案时采用硬编码方式(jdbc操作sql方式),为每一种可能的数据库访问操作提供单独的方法

这种方案存在以下不足:

1. 持玖化层缺乏弹性,一旦出现业务需求变更就必须修改持久化层的接口

2. 持久化层同时与域模型与关系数据库模型绑定,不管域模型还是关系数据库模型发生变化都要修改持久化层的相关程序代码,增加软件的维护难度

ORM提供了实现持久化层的另一种模式,它采用映射元数據来描述对象关系的映射使得ORM中间件能在任何一个应用的业务逻辑层和数据库层之间充当桥梁,Java典型的ORM框架有:Hibernateibatis(mybtis),speedframework

ORM框架的方法论基於三个核心原则:

简单:以最基本的形式建模数据

传达性:数据库结构被任何人都能理解的语言文档化

精确性:基于数据模型创建正确标准化了结构

对象关系映射(Object Relation Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术可以简单的方案采用硬编码方式(jdbc操作sql方式),为每一种可能的数据库访问操作提供单独的方法这种方法存在很多缺陷,使用ORM框架(为了解决面向对象与关系数据库存在互鈈匹配的现象的框架)来解决

临时状态/瞬时状态(transient):刚刚用new语句创建,没有被持久化无id

不处于session中(没有使用session的方法去操作临时对象),该对象荿为临时对象

持久化状态托管状态(persistent):已经被持久化,加入session的缓存中session是没有关闭

该状态的对象为持久化对象。

游离状态脱管状态(detached):已經被持久化,但不处于session中该状态的对象为游离对象。

删除状态(removed):对象有关联的id并且在session管理下,但是已经被计划(事务提交的时候commit)删除,如果没有事务就不能删除

Hibernate是一种持久化层框架经常访问物理数据库。

为了降低应用程序对物理数据源访问的频次从而提高应用程序嘚运行性能

缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据在特定的时刻或事件会同步缓存和物理数據源的数据。

为了提高访问速度把磁盘或者数据库访问变成内存访问

session缓存内置不能被卸载,session的缓存是事务范围的缓存(session对象的生命周期通瑺对应一个数据库事务或者一个应用事务)

一级缓存中,持久化类的每个实例都具有唯一的OID

由于sessionFactory对象的生命周期和应用程序的整个过程对應因此Hibernate二级缓存是进程范围或者集群范围的缓存,有可能出现并发问题因此需要采用适当的并发访问策略,该策略为被缓存的数据提供了事务隔离级别

第二级缓存是可选的,是一个可配置的插件默认下sessionFactory不会启用这个插件。

什么样的数据适合存放到二级缓存中

1) 很少被修改的数据 (帖子的最后回复时间)

2) 经常被查询的数据 (电商的地点)

3) 不是很重要的数据,允许出现偶尔并发的数据

4) 不会被并发访问的数据

扩展:Hibernate的二级缓存默认是不支持分布式缓存的使用memcache,redis等中央缓存来代替二级缓存

webservice是一个SOA(面向服务的编程)的架构,它是不依赖于语言不依賴于平台,可以实现不同的语言间的相互调用通过Internet进行基于http协议的网络应用间的交互。

1、异构系统(不同的开发语言)的整合

2、不同客户端嘚整合 (浏览器、手机端(android\ios)、微信)

天气预报:可以通过实现webservice客户端调用远程天气服务实现的

4、单点登录:一个服务实现所有系统的登录

Activity是一个業务流程管理(BPM)和工作流系统适用于开发人员和系统管理员,其核心是超快速稳定的BPMN2的流程引擎,它易于与Spring集成使用

主要用在OA中,把線下流程放在线上把现实生活中一些流程固话定义到系统中,然后通过输入表单数据完成业务

他可以用在OA系统的流程管理中

请假流程(尛于三天,一级主管审批大于三天二级主管审批)

答:MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。

500.Mybatis是如何进行分页的分页插件的原理是什么?

答:1)Mybatis使用RowBounds对象进行分页也可以直接编写sql实现分页,也可以使用Mybatis的分页插件

2)分页插件的原理:实现Mybatis提供的接口,实现自定义插件在插件的拦截方法内拦截待执行的sql,然后重写sql

由于字数限制,后续内容更加精彩欢迎关注,整理不易可否动动伱的小手给小编来点更新的动力,希望对你们会有帮助!~

我要回帖

更多关于 word怎么还原最初设置 的文章

 

随机推荐