互联网软件工程师所需技能

来源:互联网 发布:永诚网络 编辑:程序博客网 时间:2024/06/11 05:01

java2平台包含标准版(J2SE),企业版(J2EE)和微缩版(J2ME)三个版本


1,J2EE(Java2平台企业版)规范下的JSP(java server pages,java服务器页面), Servlet  , JDBC ,JavaBean(

可重用组件
)


2,Hibernate(对JDBC进行了非常轻量级的对象封装) , spring(Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。)  ,webwork(J2EE Web框架) ,struts等开源框架



struts2与webWork2的区别


1.Struts2更加优雅一些,至少Action变成了一个纯粹的POJO,而无须再实现任何一个接口。
2.Struts2不再提供Webwork2内置的IoC容器支持,转而将Spring作为ObjectFactory的缺省实现。所有由Struts2创建的对象都是由ObjectFactory实例化,ObjectFactory可以集成各种IoC容器,例如Spring、Pico、 Plexus等等.
3.在拦截器方面,Struts2不再支持AroundInterceptor,如果要用到AroundInterceptor ,则必须单独引入Webwork2的相关类,或者重写自己的拦截器。
Struts2中绝大多数预建interceptor都从AbstractInterceptor扩展而来,AbstractInterceptor不在支持before、after两个抽象方法,取而代之的是intercept方法被抽象出来,交由子类去实现。 其实大多数interceptor只会去实现before、after中的一个,这样就必须还要在ww中为另一个提供空方法,再由于线程安全问题WW中before和after两个方法之间是无法共享数据,提供两个抽象方法实在意义不大。
AroundInterceptor抽象类在Struts2中已经去除,before和after两个方法无法共用数据,这个类真的没什么用,很多时候都是实现Interceptor接口更为实际。在Strtus2中,实现AbtractInterceptor更为有用,因为可以不用实现init 和destory方法,直接实现intercept方法就可以了。
4.Struts2全面引入了Dojo,大概是对以前Webwork2在客户端实现的不满吧。例如不再支持Webwork2的richtexteditor,而以Dojo的编辑器取代。说实话,Webwork2了的rich text编辑器确实不太好用,有不少bug。还把Webwork2的Datepicker标签换成了Dojo实现的datetimepicker标签。
5.Struts2在Action映射方面的改进值得关注,尤其是借鉴了Spring的方式,提供了对action名称通配符的支持。在Webwork2里,需要在xwork.xml里以如下格式定义action
<action name="Logon" class="com.Logon">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
而在Struts2中,则可以引入通配符,形如:
<action name="*Logon" class="com.Logon">
<result type="redirectAction">Menu</result>
<result name="input">/Logon.jsp</result>
</action>
这样,任何以Logon结尾用作登录验证的Action,例如NewUserLogon,都可调用com.Logon的一个实例。
6.Struts2还引入一个消息存储拦截器MessageStoreInterceptor用于存放、检索各种提示、错误消息等等,在一个session生命期中都是可用的。
7.对于模型层来说,struts2可以使用任何数据访问技术,像jdbc、ejb、hibernate等;对于视图层来说,struts2可以与jsp、jtl、jsf、pdf、xslt、templates、Jakarta Velocity engine等)


3,

1.熟悉Coffeescript/Sass

2熟悉React/Angular(React是Facebook开源的JavaScript库,采用声明式范例,可以传递声明代码,最大限度地减少与DOM的交互)(AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM(MVVM是Model-View-ViewModel的简写。微软的WPF带来了新的技术体验,如Silverlight、音频、视频、3D、动画……,这导致了软件UI层更加细节化、可定制化。同时,在技术层面,WPF也带来了 诸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。MVVM(Model-View-ViewModel)框架的由来便是MVP(Model-View-Presenter)模式与WPF结合的应用方式时发展演变过来的一种新型架构框架。它立足于原有MVP框架并且把WPF的新特性揉合进去,以应对客户日益复杂的需求变化。)、模块化、自动化双向数据绑定、语义化标签、依赖注入,等等。)(Angular JS (Angular.JS) 是一组用来开发Web页面的框架、模板以及数据绑定和丰富UI组件。它支持整个开发进程,提供web应用的架构,无需进行手工DOM操作。)

3.具有单页Web App开发经验

2.熟悉.NET编程,以及JSON/AJAX/ JQuery等技;

3.熟悉HTML、XHTML、XML/XSL、JavaScript、Ajax等设计开发技术;熟练掌握B/S开发,了解WEB SERVICE技术;

1 3年以上J2EE开发经验,具有良好的开发习惯;
2 redis、memcached缓存机制,了解其中一种;
3 了解strutsMVC或SpringMVC;

熟悉SpringMVC、Hibernate等常用开源项目


参与设计、开发和调试高质量的Web及Mobile应用后端;

参与业务逻辑模块设计、数据结构设计、API接口设计,性能优化;

参与产品需求分析和架构设计;

参与大数据处理及分析系统开发




0 0
原创粉丝点击