spring aop 异常处理 Java后端1年经验和技术总结(4)

电脑杂谈  发布时间:2018-02-02 12:07:51  来源:网络整理

spring data 注解方式定义实体,属性等

spring mvc 简单明了的mvc框架。url传值、数组传值、对象传值、对象数组等传值类型,上传/下载文件类型需要注意。

spring restful 注意命名,对命名要求很严格。spring aop 异常处理

spring shell 命令行方式执行命令,救火、导入导出数据等用起来非常方便、制作报表。

5. Web基础5.1 web容器启动

web.xml加载顺序: listener -> filter -> servlet

spring的aop的异常处理_spring异常处理机制_spring aop 异常处理

webt容器启动过程,java新手很怕配置文件,理解完这些有助于熟悉配置文件

5.2 Servlet、Interceptor、Listener、Filter

Servlet 接收请求返回响应,最原始的web业务处理类。

Interceptor ,可以实现HandlerInterceptor接口自定义,在日志记录、权限检查、性能监控、通用行为等场景使用,本质是AOP。

Listener 器 常用于统计人数等纵向功能。

Filter 过滤器 在请求接口处理业务之前改变requset,在业务处理之后响应用户之前改变response。如果某些数据不加密,很容易用抓包工具加filter作弊。

5.3 web项目结构

5.3.1 mvn结构

熟练掌握几种常见的mvn项目结构,mvn可以自动生成,这里不再详述。

5.3.2 mvn包管理

版本号尽量几种在一个文件中便于管理。

spring milestone包解决spring包冲突问题。

mvn dependency:tree命令分析所有包依赖,对于冲突的在pom文件中 包围起来

5.3.3 版本控制

git、svn等

代码冲突解决方案

分支管理。

对于某个稳定版本上线后,如果在此基础上开发新功能,一定要新建分支,在新分支上提交代码,最后在新版发布时合并分支。修改运营环境bug切换到主分支进行修改

5.4 Http请求

5.4.1 请求方法

post、get、put、head、delete、copy、move、connect、link、patch,最常用的是前4、5个。

5.4.2 请求头,状态码

常用的请求头有Accept(下载文件会特殊使用)、Accept-Charset(设置utf-8字符集)、Content-Type(json等配置)等常用的响应头有Content-Type、Content-Type、Content-Length等,偏前端,不再详述。

6. 系统架构

接触的不是特别多,目前用到的只是服务器主从备份。Nginx反向代理进行配置。

多个项目nginx配置。

Spring Mvc 用json数据进行交互,配置json转换的servlet。

封装返回值。

自定义RunEnvironmentException(状态码,原因),覆盖原有Exception,切面ExceptionHandler抓取Exception并封装到返回值中(前后端松耦合)。

令人头疼的用户重复(连续快速点击)提交问题,前端限制治标不治本;后端用sessonid在切面上实现,又需要前端存储,对所有请求数据加sessionId。最后用jedis中存储,用接口名+用户名当做key,根据不同的接口对不同的key可以单独设置时间,不仅保证了重复提交问题,也避免了恶意请求问题,同时还能自定义请求间隔。(期初担心redis缓存读写时间延误导致限制失效,后来发现多虑了,对一般的小系统来说,经性能测试,发现即使请求频率再提高100被也不会导致限制失效)。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-64566-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...