eap 是主要做面向后台管理的程序
技术栈 包括
- spring 4
- spring mvc 4
- spring security 4
- spring data redis
- spring message
- (spring session) 1.3.1
- (cas sso) 3.5.2
- jpa+hibernate 5.2.12
- servlet 3.0
- jdk8
- require js + bootstrap + ztree + treetable
- Thymeleaf
技能点包括
- maven的熟练使用
- 面向对象 面向接口 面向bean 编程
- IDEA 的熟练使用
- JRebel 的安装与使用
- Tomcat 内嵌使用
- java config + xml config
- 序列化 session 共享
- redis cluster 集群 搭建+使用
- job crud
- lambda + stream + optional
- WebApplicationInitializer
- spring 4 常见的注解
- servlet 3.1 规范
- spel表达式引擎
- ognl
通过一个流程图来说明eap 的架构
一个普通的http请求顺序是这样的:
浏览器发起请求(a标签/地址栏/location.href ... )
↓
web服务器(tomcat(prod)/jetty(dev))监听端口将请求封装成request 和response 对象
↓
根据二级路径找到对应的context (eg:/vac /callcenter eap采用的根路径部署)
↓
根据是否启用session共享 启用springSessionRepositoryFilter过滤器(包装session存储在redis)
↓
org.springframework.web.filter.CharacterEncodingFilter(字符集转换)
↓
com.hfvast.platform.view.EditFilter(是否是进入开发模式页面 getParamter("dev")!=null)
↓
springSecurityFilterChain进行角色权限的判断拦截 过滤器链(目前拦截/* 后期会修改放过静态资源)
↓
org.springframework.web.servlet.DispatcherServlet进行调度请求 把请求交给对应的controller 的对应的requestMapping 方法中
↓
自己写的service
↓
框架的dao操作
↓
返回一个view 或者 纯数据
↓
由spring 根据返回的view 和数据 最终返回的数据写入response流中,并设置对应的 content-type 原路返回到浏览器
eap 升级之后 部分启用了 java config 所以要快速掌握 eap 并不能靠之前的 挖 web.xml
就可以的,配置 比较分散
- spring 1 : xml config
<bean id = "" class="com.hfavst"/>
- spring 3 : @interface
@Compant
,@Controller
- spring 4 : java config
@Bean
,@Configuration
- spring 5 : lambda config
context.registerBean(MyService.class, () -> new MyService());
spring 5 正式版已经发布 前路且艰