当前位置: 首页 > news >正文

《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木

       学习JAVA不难,难的是没有多余的时间给你仔细学习。
       伴随着项目的不断跟进,责任重于泰山,必须快速提升。
       我不能期望把一本书或者一个项目完全吃透,只希望能用数量去换取多一点的进步。
       看了多本JAVA基础教程以及快速的项目代码浏览之后,挑了本框架的书。
       其实作为个人来说,感觉JAVA技术变更太快,以至于对于3年前书,就会感觉已经过时了,学了也没什么用。但是没办法,自己也没有更好的选择,只好随便捡起一杯老旧的框架书籍。读了起来!(质量确实不咋样,不过对自己至少有用,已够)
【jsp技术简介】
        JSP作为早期的java web技术,自然是要成为一章讲的,只是对于JSP的语法,就完全没必要去死磕了,看看就好。
【设计模式简介】
        设计模式,作为软件的通用语言,其他语言开发已涉及,粗看了下,有那么一点点用吧。
【struts框架简介】
  配置一个filter拦截器,将struts核心类库加载进入,从而接管控制。如下:
<filter> 
   <filter-name>struts2</filter-name> 
   <filter-class> org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
</filter> 
<filter-mapping> 
   <filter-name>struts2</filter-name> 
   <url-pattern>/*</url-pattern> 
</filter-mapping> 

框架体系结构图,刚刚去搜了下,struts的核心架构图都是必须的,如下:

常用jar包:

  struts2-core-x.x.x.jar Struts2的核心包

  struts2-json-plugin-x.x.x.jar json进行异步刷新操作(非必要)

  xwork-core-x.x.x.jar Command模式框架,WebWork和Struts2都基于xworkcommons-logging-1.0.4.jar Java日志工具类包

  freemarker-x.x.x.jar 表现层框架,定义了struts2的可视组件主题

  ognl-x.x.x.jar OGNL表达式语言,struts2支持该EL

  antlr-2.7.6.jar HQL解析

 【 hibernate框架简介】
  hibernate是一个ORM(Object Relation Mapping)框架,使得操作数据库就像操作对象一样。
  其工作原理如下:
通过上面的图,个人感觉还是比较好理解其是怎样工作的。
全面解决方案架构如下(待理解更多):

 【spring框架简介】
 Spring目的:就是让对象与对象(模块与模块)之间的关系没有通过代码来关联,都是通过配置类说明管理的(Spring根据这些配置 内部通过反射去动态的组装对象)
spring 原理:
  spring的核心有两个概念,IOC,AOP
一、 IoC(Inversion of control): 控制反转  
1、IoC:  
概念:控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系  
核心:bean工厂;在Spring中,bean工厂创建的各个实例称作bean  
二、AOP(Aspect-Oriented Programming): 面向方面编程   
1、 代理的两种方式:  
静态代理:  
  针对每个具体类分别编写代理类;  
  针对一个接口编写一个代理类;  
动态代理:  
  针对一个方面编写一个InvocationHandler,然后借用JDK反射包中的Proxy类为各种接口动态生成相应的代理类
spring架构图如下:

 【ssh整合】
 
。。。

相关文章:

  • PHP课程总结20161222
  • 画虚线
  • SFB 项目经验-09-用Lync 2013或Skype for Business 2015抢火车票
  • SEO优化---学会建立高转化率的网站关键词库
  • ★平衡法则在生活中的应用
  • (十五)使用Nexus创建Maven私服
  • 利用cmdline和gradle快速编译出apk
  • SOA和微服务
  • TreeMap按照value进行排序
  • chrome设置书签默认显示
  • markdown编辑器简评
  • Linux操作系统启动流程梳理
  • [译]MySQL 5.7 Reference Manual::The InnoDB Recovery Process
  • 重拾smslib
  • 【linux命令】之MV
  • Android 架构优化~MVP 架构改造
  • Apache Zeppelin在Apache Trafodion上的可视化
  • github从入门到放弃(1)
  • Java深入 - 深入理解Java集合
  • laravel with 查询列表限制条数
  • PhantomJS 安装
  • python docx文档转html页面
  • react 代码优化(一) ——事件处理
  • yii2权限控制rbac之rule详细讲解
  • 创建一个Struts2项目maven 方式
  • 订阅Forge Viewer所有的事件
  • 读懂package.json -- 依赖管理
  • 给github项目添加CI badge
  • 基于web的全景—— Pannellum小试
  • 利用jquery编写加法运算验证码
  • 聊一聊前端的监控
  • 前端学习笔记之观察者模式
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (离散数学)逻辑连接词
  • (七)Java对象在Hibernate持久化层的状态
  • (三)终结任务
  • (五)Python 垃圾回收机制
  • .apk 成为历史!
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET的数据绑定
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @column注解_MyBatis注解开发 -MyBatis(15)
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ai笔记4] 将AI工具场景化,应用于生活和工作
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [C++]STL之map
  • [C++]类和对象【下】
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [GN] 后端接口已经写好 初次布局前端需要的操作(例)