高级部分汇总

本文探讨了Struts1和Struts2与Spring MVC框架之间的关键区别,包括它们的核心组件、执行流程、数据处理方式及配置特点。同时,还介绍了Struts2与Spring MVC在请求处理、线程安全性及配置灵活性方面的差异。

1:struts1 与 struts2 的区别?

 答:A:核心方面:struts1的核心是纯粹的servlet,struts2的核心是拦截器,fileDisPatch。struts1依赖于servlet 

       B:  ActionForm: strtus1的ActionForm主要是填充表达提交的值, 这样的话,每一个javaBean都要写一个                     ActionForm,这样的非常的繁琐的,而struts2通过Action 类里的set get 方法来拿到表单的值。

      C:表达式语言: Struts1 整合了JSTL,Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言-               -"Object Graph Notation Language" (OGNL). 

      D: Struts1 Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例来处理所有的请求。单例策略限制      了Struts1 Action能作的事,并且要在开发时特别小心。Action资源必须是线程安全的或同步的。 

    Struts2 Action对象为每一个请求产生一个实例,因此没有线程安全问题(内部实现是通过ThreadLocal生成这些对象      的)。 

2:ibatis 与  hibernate 的区别?

3:struts1 的 执行流程?

答:在web容器启动的时候,就加载web.xml文件,在web.xml文件中配置中它会找servlet-class找到ActionServlet,

      然而struts的核心是ActionServlet,它继承于httpServlet所以它具有servlet的生命周期。

      ActionServlet是struts1的核心控制器接收来自Http发送过来的请求,并从ActionConfig中找出对应于该请求的           Action子类,如果没有对应的Action,控制器直接将请求转发给 JSP或者静态页面,否则控制器将请求分发至具体的         Action类进行处理。在ActionServlte调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中         的    参数来填充自已。执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个                       ActionForward对象,控制器通过该 ActionForward对象来进行转发工作。


4:struts2 的 执行流程?

 

6:spring 的事物机制?

7:Cookie与Session的区别,Session的工作原理?

8:JSP与Servlet的区别?

9:  jsp内置对象

10:jsp如何自定义标签?

 

    A.先写一个标签类这个类继承了SimpleTagSupport这个类,实现doTag()方法。

    B.然后再写一个以.tld为后缀的标签库配置文件里面进行配置一些属性包括(标签类、URI等一些东西)

        如果有属性里面还需要添加attribute这个属性。

    C.在页面上通过<%@taglib uri="" prefix="" %>导入标签库 使用的时候注意前缀和在.tld中配置的标签名及属性


 

11:jstl 标签的使用?

12:当浏览器按"后退"按钮和F5刷新页面会重复提交,怎样防止重复提交?

13:jsp,servlet,数据库在传递数据的时候,对出现的乱码问题怎样解决?

14:谈谈你对MVC框架的理解?

15:重定向(redirect)与转向(forward)区别?

16:servlet生命周期?

17:servlet中的doget()与dopost()的区别?

18:Spring框架的内容以及它的用法。简说IOC的实质及如何实现IOC。简说AOP?

19:spring事务处理及哪一个是spring的事务处理类?

20:spring MVC框架用过没有,相对于Struts2MVC模式的比较

1:struts2框架是类级别的拦截,每次来了请求就创建一个Action,然后调用setter getter方法把request中的数据注入

struts2实际上是通过setter getter方法与request打交道的

struts2中,一个Action对象对应一个request上下文

 

spring3 mvc不同,spring3mvc是方法级别的拦截,拦截到方法后根据参数上的注解,把request数据注入进去

spring3mvc中,一个方法对应一个request上下文

 

2:spring3mvc的方法之间基本上独立的,独享request response数据

请求数据通过参数获取,处理结果通过ModelMap交回给框架

方法之间不共享变量。而struts2搞的就比较乱,虽然方法之间也是独立的,但其所有Action变量是共享的

这不会影响程序运行,却给我们编码 读程序时带来麻烦

 

3:spring3 mvc的验证是一个亮点,支持JSR303

处理ajax的请求更是方便 只需一个注解@ResponseBody ,然后直接返回响应文本即可  spring3 mvc可以认为已经100%零配置了(除了配置springmvc-servlet.xml外

而truts2时采用的传统的配置文件的方式,并没有使用传说中的0配置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值