感谢原作者:http://www.cnblogs.com/lzb1096101803/p/4907775.html

一、学会如何读一个JavaWeb项目源代码

步骤:表结构->web.xml->mvc->db->spring ioc->log->代码

先了解项目数据库的表结构,这个方面是最容易忘记的,有时候我们只顾着看每一个方法是怎么进行的,却没有去了解数据库之间的主外键关联。其实如果先了解数据库表结构,再去看一个方法的实现会更加容易。

然后需要过一遍web.xml,知道项目中用到了什么拦截器,监听器,过滤器,拥有哪些配置文件。如果是拦截器,一般负责过滤请求,进行AOP等;如果是监听器,可能是定时任务,初始化任务;配置文件有如 使用了spring后的读取mvc相关,db相关,service相关,aop相关的文件。

查看拦截器,监听器代码,知道拦截了什么请求,这个类完成了怎样的工作。有的人就是因为缺少了这一步,自己写了一个action,配置文件也没有写错,但是却怎么调试也无法进入这个action,直到别人告诉他,请求被拦截了。

接下来,看配置文件,首先一定是mvc相关的,如springmvc中,要请求哪些请求是静态资源,使用了哪些view策略,controller注解放在哪个包下等。然后是db相关配置文件,看使用了什么数据库,使用了什么orm框架,是否开启了二级缓存,使用哪种产品作为二级缓存,事务管理的处理,需要扫描的实体类放在什么位置。最后是spring核心的ioc功能相关的配置文件,知道接口与具体类的注入大致是怎样的。当然还有一些如apectj等的配置文件,也是在这个步骤中完成

log相关文件,日志的各个级别是如何处理的,在哪些地方使用了log记录日志

从上面几点后知道了整个开源项目的整体框架,阅读每个方法就不再那么难了。

当然如果有项目配套的开发文档也是要阅读的。

如何读一个JavaWeb项目源代码相关推荐

  1. 不借助idea开发工具构建一个Javaweb项目

    不借助idea开发工具构建一个Javaweb项目 目录结构 webappsroot|----------WEB-INF|----------classes(存放字节码)|----------lib(存 ...

  2. 如何创建一个javaWeb项目

    一.使用IDEA创建一个javaweb项目 截图中文可以直接按照截图查看,未汉化可以根据提示来进行创建 1.File->New Project选择Web Application 然后填写好路径和 ...

  3. IDEA-第一个Javaweb项目

    配置Tomcat服务器: 下载(略,附地址) 地址:https://tomcat.apache.org/ 以apache-tomcat-7.0.73为例 启动Tomcat 找到apache-tomca ...

  4. 如何使用 IntelliJ IDEA(2020.2)构建一个JavaWeb项目

    如何使用 IntelliJ IDEA(2020.2)构建一个JavaWeb项目 针对 IntelliJ IDEA 2020.2 这个新版本,不管是在创建项目上,还是在进行一些选项的配置上,与之前的版本 ...

  5. 部署一个Javaweb项目到腾讯云服务器上,在腾讯云轻量应用服务器上部署javaweb项目

    博主每篇博文的浪漫主义 [听说,思念是一种病?] https://www.bilibili.com/video/BV1z14y177VT?share_source=copy_web&vd_so ...

  6. Jsp+Servlet 的一个JavaWeb项目千里眼影视售票院

    千里眼影视售票院 开发工具:idea jsp+servlet java语言开发 Mysql数据库 前段layui+bootsrtap B/S架构 mvc的设计思想 文章目录 千里眼影视售票院 前言 需 ...

  7. IDEA创建一个JavaWeb项目详细步骤

    刚好最近在写数据库大作业任务书,留了一份,发在博客上 提前说明 使用IDEA+Html5+CSS+JavaWeb+MySql开发,并使用Tomcat部署在本地服务器上. 其中JDK版本为1.8, My ...

  8. Idea搭建一个JavaWeb项目(一)

    说明: IntelliJ IDEA 版本为2017.2.6 JDK 版本为1.9 tomcat 版本为apache-tomcat-9 1.先创建一个工程: 2.输入项目名称和项目路径,点击next 3 ...

  9. 初学者第一个JavaWeb项目实战【附源码】

    我把项目打包了,下载完整项目:[链接:https://pan.baidu.com/s/1lpInPKynMriSvAKlgh53eg 提取码:zq6y],导入后记得将数据库改为自己的. JDK:jdk ...

最新文章

  1. 运用策略路由实现双出口数据的分流
  2. C++用数组和链表分别实现Stack
  3. 大学毕业出路利弊浅谈
  4. DBeaverEE7.3.0安装教程
  5. GitHub标星6000+!Python带你实践机器学习圣经PRML
  6. @Intercepts-mybatis拦截器
  7. Resharper F12下载dll源码
  8. hibernate之c3p0连接池配置详解
  9. 详述差分进化算法(DE)代码复现
  10. 微型计算机的cpu分类,微处理器分类及组成
  11. Ubuntu firefox无法加载视频
  12. 拳皇FANS们不得不看的动画
  13. docker 网络的解释
  14. 解决vmware虚拟机和宿主机之间不能复制粘贴问题
  15. S-SDLC(Secure Software Development Lifecycle) 安全编码规范
  16. 深度学习之目标检测(九)--YOLOv3 SPP理论介绍
  17. 新手怎么重装系统?只需3步看完小白也会装!
  18. 计算机 教案,计算机教案.doc
  19. 小米8 解账户锁 线刷包 刷入 教程 MIUI12系统
  20. 【安卓】腾讯Bugly之应用升级热更新-热更新

热门文章

  1. 华为od机考真题-特殊计算
  2. 创业时全力以赴和留有后路的结果相同吗?
  3. Flutter基础-(3)Widget之文本Text
  4. Mac系统解决ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘方法
  5. javascript简介(概念)
  6. 如何直接修改exe文件
  7. 多元时间序列预测之(一)DA-RNN模型
  8. 某厂向用户提供饲料matlab,Matlab习题
  9. linux 用户环境变量介绍
  10. Cocos2dx3.10常侍之移驾UBUNTU