发表于: 2017-10-26 23:38:16

2 785


今日完成:

                  1)由于任务还没有结束,自己尝试总结了深度思考中的一些问题。   

                             |- rest的请求方法有哪些,有什么区别?

                                    PUT:向服务器发送数据,但不增加,对应数据库的更新,表单也不支持这种,PUT通常指定了资源的存放位置。

                                 GET:请求服务器的数据,对于数据库操作的查询

                                POST:向服务器发送数据, 发送的数据相当于数据库的添加

                                 DELETE:向服务器提交删除请求,相当于数据库的删除

                              |-Http协议的特点与适用范围

                                 http连接:http连接就是所谓的短连接,即客户端向服务器端发送一次请求,服务器端响1应后连接即会断掉;

                                http适用场景:公司OA服务,互联网服务

                                       |- SpringMVcStruts的区别:

                                          1Struts是类级别拦截的,一个类对应一个request

                                                SpringMVC是方法级别的,一个方法对应一个request,同时一个方法对应一个url,所以更容易实现restFul

                                          2Spring中每个方法的数据是独立的,Action中,请求的数据一般在方法中是共享的

                                          3)由于Struts2需要针对每个request进行封装,把request,session等servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全,所以在原则上,是比较耗费内存的

                                         (4) 拦截器实现机制上,Struts2有以自己的interceptor机制,SpringMVC用的是独立的AOP方式,这样导致Struts2的配置文件量还是比SpringMVC大。

                                          5SpringMVC的入口是servlet,而Struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。

                                          (6)SpringMVC集成了Ajax,使用非常方便,只需一个注解@ResponseBody就可以实现,然后直接返回响应文本即可,而Struts2拦截器集成了Ajax,在Action中处理时一般必须安装插件或者自己写代码集成进去,使用起来也相对不方便。

                                           (7)SpringMVC验证支持JSR303,处理起来相对更加灵活方便,而Struts2验证比较繁琐,感觉太烦乱。

                                           (8)Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高(当然Struts2也可以通过不同的目录结构和相关配置做到SpringMVC一样的效果,但是需要xml配置的地方不少)。

                                           9) 设计思想上,Struts2更加符合OOP的编程思想, SpringMVC就比较谨慎,在servlet上扩展。

                                           10)SpringMVC开发效率和性能高于Struts2。

                                           (11)SpringMVC可以认为已经100%零配置。

                           |- filterInterceptor的区别

                                                    Filter是基于函数回调的,而Interceptor则是基于Java反射的。

                                          Filter依赖于Servlet容器,而Interceptor不依赖于Servlet容器。

                                          Filter对几乎所有的请求起作用,而Interceptor只能对action请求起作用。

                                          Interceptor可以访问Action的上下文,值栈里的对象,而Filter不能。

                                                  在action的生命周期里,Interceptor可以被多次调用,而Filter只能在容器初始化时调用一次

                                         ps: Filter和Interceptor的执行顺序

                                         过滤前-拦截前-action执行-拦截后-过滤后

                           |-常用的打包方式:

                                         http://www.infoq.com/cn/news/2011/06/xxb-maven-9-package

                           |-接口文档规范

                                       http://blog.csdn.net/lovesummerforever/article/details/45149393

                   

                       |-使用annocation需要哪些配置

                               添加context:component-scan,扫描指定包下面的注解,如果扫描到有@Component @Controller@Service等这些注解的类,则把这些类注册为bean,同时,这个配置把context:annotation-config包括进来,这个配置可以在spring 容器中注册 四个BeanPostProcessor

AutowiredAnnotationBeanPostProcessor

CommonAnnotationBeanPostProcessor

PersistenceAnnotationBeanPostProcessor

RequiredAnnotationBeanPostProcessor

                   ps:AutowiredResources的区别

        两者都是用来bean注入的,通俗来说,autowired是按照类型注入,如果想按照名字注入,需要使用@Quired注解。@Resource默认是按照那么注入的,它有两个属性name,与type。如果指定name就按name注入,如果指定type,就按照type注入


                                     


今日疑问:

     没有疑问~

明日任务:

                  梳理一下深度思考的内容,然后进入下一个任务



返回列表 返回列表
评论

    分享到