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配置