大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一:学会如何读一个JavaWeb项目源代码 步骤:表结构-web.xml-mvc-db-spring
创新互联公司-专业网站定制、快速模板网站建设、高性价比集宁网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式集宁网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖集宁地区。费用合理售后完善,十多年实体公司更值得信赖。
ioc-log- 代码
1、先了解项目数据库的表结构,这个方面是最容易忘记 的,有时候我们只顾着看每一个方法是怎么进行的,却没
有去了解数据库之间的主外键关联。其实如果先了解数据 库表结构,再去看一个方法的实现会更加容易。
2、然后需要过一遍web.xml,知道项目中用到了什么拦
截器,监听器,过滤器,拥有哪些配置文件。如果是拦截 器,一般负责过滤请求,进行AOP 等;如果是监 可能是定时任务,初始化任务;配置文件有如使用了 spring
后的读取mvc 相关,db 相关,service 相关,aop 相关的文件。
3、查看拦截器,监听器代码,知道拦截了什么请求,这
个类完成了怎样的工作。有的人就是因为缺少了这一步, 自己写了一个action,配置文件也没有写错,但是却怎么
调试也无法进入这个action,直到别人告诉他,请求被拦
4、接下来,看配置文件,首先一定是mvc相关的,如 springmvc
中,要请求哪些请求是静态资源,使用了哪些 view 策略,controller 注解放在哪个包下等。 然后是db 相关配置文件,看使用了什么数据库,使用了
什么orm框架,是否开启了二级缓存,使用哪种产品作 为二级缓存,事务管理的处理,需要扫描的实体类放在什 么位置。最后是spring 核心的ioc
功能相关的配置文件, 知道接口与具体类的注入大致是怎样的。当然还有一些如 apectj 置文件,也是在这个步骤中完成
5、log
相关文件,日志的各个级别是如何处理的,在哪些 地方使用了log 记录日志
6、从上面几点后知道了整个开源项目的整体框架,阅读 每个方法就不再那么难了。
7、当然如果有项目配套的开发文档也是要阅读的。
1.从代码结构入手,搞清楚Java源码所在目录以及jsp代码所在目录。\x0d\x0a2.从Web.xml入手,搞清楚首页,上下文及配置情况。\x0d\x0a3.从lib目录里初步查看系统使用的框架和工具包。\x0d\x0a4.从页面大体浏览,看页面的scriptlet使用的主要语言。\x0d\x0a5.从代码包结构初步知晓代码的层次。\x0d\x0a6.从配置文件入手,弄清楚页面到Action/Servlet的配置关系。\x0d\x0a7.搞清楚代码提交的方式,前台请求如何传递到后台,又是如何返回到前台页面的,这里以Login页面为最佳切入点。\x0d\x0a8.从处理Login的Action/Servlet中观察,看在session中记录了多少重要的数据,后面程序又是怎样用到这些数据的。\x0d\x0a9.如果存在树形菜单,要搞清楚树形菜单的形成及传递请求的方式。\x0d\x0a10.归纳几种典型页面,搞清楚其处理和响应形式。\x0d\x0a11.归纳通用的页面组件如分页,上传下载,异步请求等原系统是如何处理的。\x0d\x0a12.搞清楚后台数据来源及配置,主要是数据库及通过WebService方式。\x0d\x0a13.归纳后台处理的主要业务。\x0d\x0a14.可能的话,把后台数据表的ER图画出来。\x0d\x0a15.典型业务的流程图可以绘制出来。
随着我们对web前端编程开发技术的掌握,越来越多的框架语言和架构方式被我们所熟知。
下面广西北大青鸟就一起来了解一下,web前端开发的一些常见框架结构。
1.全包型这类框架大的特点就是从底层的渲染引擎、布局引擎,到中层的DSL,再到上层的框架全部由自己开发,代表框架是Qt和Flutter。
这类框架优点非常明显:性能(的上限)高;各平台渲染结果一致。
缺点也非常明显:需要完全重新学习DSL(QML/Dart),以及难以适配中国特色的端:小程序。
这类框架是原始也是纯正的的多端开发框架,由于底层到上层每个环节都掌握在自己手里,也能大可能地去保证开发和跨端体验一致。
但它们的框架研发成本巨大,渲染引擎、布局引擎、DSL、上层框架每个部分都需要大量人力开发维护。
2.Web技术型这类框架把Web技术(JavaScript,CSS)带到移动开发中,自研布局引擎处理CSS,使用JavaScript写业务逻辑,使用流行的前端框架作为DSL,各端分别使用各自的原生组件渲染。
代表框架是ReactNative和Weex,这样做的优点有:开发迅速;复用前端生态;易于学习上手,不管前端后端移动端,多多少少都会一点JS、CSS。
缺点有:1.交互复杂时难以写出高性能的代码,这类框架的设计就必然导致JS和Native之间需要通信,类似于手势操作这样频繁地触发通信就很可能使得UI无法在16ms内及时绘制。
ReactNative有一些声明式的组件可以避免这个问题,但声明式的写法很难满足复杂交互的需求。
2.由于没有渲染引擎,使用各端的原生组件渲染,相同代码渲染的一致性没有一种高。
3.JavaScript编译型这类框架就是我们这篇文章的主角们:Taro、WePY、uni-app、mpvue、chameleon,它们的原理也都大同小异:先以JavaScript作为基础选定一个DSL框架,以这个DSL框架为标准在各端分别编译为不同的代码,各端分别有一个运行时框架或兼容组件库保证代码正确运行。