java_框架部分

  谈谈你对Struts的理解?

       1)struts是一个按MVC模式设计的Web层框架,其实它是一个大大的servlet,这个Aervlet名为ActionServlert,或是ActionServlet的子类

       2)ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对像

       3)ActionServlet把formbean对象传递给action的execute方法之前,可能会调用formbean的validate方法进行验证,只有通过校验通过后才将这个formbean对象传递给action的execute方法,否则,它将返回一个错误页面

       4)action执行完后要返回显示的结果视图,这个结果视图是用一个ActionForward对象来表示的,actionForward对象通过struts-config.xml配置文件中的配置关联到某个jsp页面,因为程序中使用的是struts-config.xml配置文件为jsp页面设置的逻辑名,这样可以实现action程序代码与返回的jso页面名称的解耦


   Hibernate与MyBatis的比较

      1)hibernate是全自动的,而mybatis是半自动

      2)hibernate数据库移植性远大于mybatis

      3)hibernate拥有完整的日志系统,mybatis功能欠缺,薄弱

      4)sql优化上,mybatis要比hibernate方便很多

         ps:

              mybatis:小巧,方便,高效,简单,直接,半自动

              hibernate:强大,方便,高效,复杂,绕弯子,全自动


  mybatis中#{}和${}的区别?

      ${}是文件的变量占位符用于标签属性值和sql内部,属于静态文件替换;#{}是sql的参数占位符,预编译

 

  讲讲Spring的理解?什么是Spring?

   Spring是一个开源的轻量级Java EE开发应用,其目的是用于简化企业级应用程序开发;Spring实现了工厂模式的工厂类,即BeanFactory;提供了对IOC良好支持,实现依赖注入;提供了对AOP技术的良好封装,AOP称为面向切面编程,就是系统中很多跟不相干的类的方法,如日志,权限判断,异常处理等,AOP采用的是代理技术

    

  谈谈Struts中的ActionServlet?

      ActionServlet类是struts框架的内置核心控制组件,它继承了java.servlet.http.HttpServlet类;Servlet的启动通常从加载ActionServlet开始;Struts框架只允许应用程序中存在一个ActionServlet类,其作用为1)读取配置文件Struts-Config.xml文件2)截取客户端http请求,分发到相应的Action 3)从请求中获取数据填充FormBean


 Struts优缺点?

    优点:1)实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现

                2)有丰富的tag可以用,Struts的标记库

                3)页面导航

                4)提供Exception处理机制

                5)数据库连接池管理

   缺点:1)转到展示层时,需要配置forward,如果有10个展示层的jsp,需要配置十次struts,而且还不包括有时候目录,文件变更,需要重新forward

               2)测试不方便

               3)对Servlet的依赖过强,无法摆脱Servlet容器

               4)对事件的支持不够,在struts中,实际是一个表单form对应一个Action类,一个表单只能对应一个事件


  说话struts1和struts2的区别?

       1)都是MVC的WEB框架

       2)struts1是老版本,较为成熟,稳定;struts2相对不成熟,成本较高

       3)struts2比struts1解决了一起其原有的缺陷问题

       4)struts1的前端控制器是Servlet,名称为ActionServlet,struts2的前端控制器是一个filter

       5)在struts1中使用formbean封装请求参数,在struts2中直接使用action的属性来封装请求参数

       6)struts1中的多个业务放在一个Action中,要么多校验,要么都不校验;struts2,可以指定对某个方法进行校验,对每一次请求都会创建一个Action,是线程安全的


 什么是spring的 IOC AOP?

    IOC:控制反转,也叫依赖注入,dao接口的实现不再是业务逻辑层调用工厂类获取,而是通过容器来自动的为我们的业务层设置dao的实现类;

    AOP:面向切面编程,将程序中的交叉业务逻辑,封装成一个切面,然后注入到目标逻辑中;


Spring中有哪三种注入方式?

   属性注入即set方法注入;构造方法注入;根据注解进行注入


Spring框架的优点?

  Spring的AOP和IOC都是为了解决系统代码耦合度过高的问题,使代码重用度高,易于维护


解释核心容器(应用上下文)模块?

  这是Spring的基本模块,它提供了spring框架的基本功能,BeanFactory是所有Spring应用的核心,Spring框架是建立在这个模块之上的,着也使得Spring成为一个容器


IOC有什么优点?

  IOC或依赖注入减少了应用程序的代码量,它使得应用程序的测试很简单,因为在单元测试中不再需要单例或JNDI查找机制,实现松耦合


   J2ee常用的设计模式?

     共23种,分三大类:创建型,结构型,行为型;

      创建型:工厂,工厂方法,抽象工厂,单例

      结构型:包装,适配器,组合,代理

     行为型:观察者模式,策略模式


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值