首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
rsa
email
timestamp
hashcode
less
buffer
range
request
text
runtime
go
shell
const
bitmap
actionscrip
input
typescript
spring
copy
window
hashset
usb
uml
hook
main
dockerfile
js
metadata
cPlusPlus
controller
java
tags
future
ip
dll
express
random
vbscript
replace
instance
cSharp
export
httprequest
case
expression
hash
vba
import
process
include
int
ascii
javascript
bytecode
byte
python3
settings
merge
tree
heatmap
eval
match
function
netty
perl
jar
jsp
flutter
object
cmd
uri
datetime
iostream
httpclient
lua
php7
emoji
utf-8
default
当前位置:
开发笔记
>
编程语言
> 正文
spring配置aop后,struts2的请求全部失效了,请问这是什么原因?
作者:爱在西元前2502938591 | 来源:互联网 | 2023-09-10 16:19
spring配置
spring配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
* 描述:
* 修改人:17109
* 修改时间:2018年3月13日
*/
package com.otw.common.aspect;
import java.lang.reflect.Method;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.apache.shiro.SecurityUtils;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import com.google.gson.Gson;
import com.otw.common.annotation.SysLogAnnotation;
import com.otw.utils.HttpContextUtils;
import com.otw.utils.IPUtils;
import com.otw.web.pojo.SysLog;
import com.otw.web.pojo.SysLogin;
import com.otw.web.service.SysLogService;
@Aspect
public class SysLogAspect
{
@Autowired
private SysLogService sysLogService;
@Pointcut("@annotation(com.otw.common.annotation.SysLogAnnotation)")
public void logPointCut()
{
}
@Around("logPointCut()")
public Object around(ProceedingJoinPoint point)
throws Throwable
{
long beginTime = System.currentTimeMillis();
// 执行方法
Object result = point.proceed();
// 执行时长(毫秒)
long time = System.currentTimeMillis() - beginTime;
// 保存日志
saveSysLog(point, time);
return result;
}
private void saveSysLog(ProceedingJoinPoint joinPoint, long time)
{
MethodSignature signature = (MethodSignature)joinPoint.getSignature();
Method method = signature.getMethod();
SysLog sysLog = new SysLog();
SysLogAnnotation sysLogAnnotation = method.getAnnotation(SysLogAnnotation.class);
if (sysLogAnnotation != null)
{
// 注解上的描述
sysLog.setOperation(sysLogAnnotation.value());
}
// 请求的方法名
String className = joinPoint.getTarget().getClass().getName();
String methodName = signature.getName();
sysLog.setMethod(className + "." + methodName + "()");
// 请求的参数
Object[] args = joinPoint.getArgs();
try
{
String params = new Gson().toJson(args[0]);
sysLog.setParams(params);
}
catch (Exception e)
{
}
// 获取request
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
// 设置IP地址
sysLog.setIp(IPUtils.getIpAddr(request));
// 用户名
String username = ((SysLogin)SecurityUtils.getSubject().getPrincipal()).getName();
sysLog.setUsername(username);
sysLog.setTime(time);
sysLog.setCreateDate(new Date());
// 保存系统日志
sysLogService.insert(sysLog);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
* 系统日志注解
*
* @author linyuting
* @since 2018-3-13
*/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SysLogAnnotation {
String value() default "";
}
spring
日志
syslog
config
int
express
io
web
package
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
spring
在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ...
[详细]
蜡笔小新 2023-12-13 15:19:01
spring
使用 Ubuntu 中的 Python 获取浏览器历史记录
使用Ubuntu中的Python获取浏览器历史记录原文: ...
[详细]
蜡笔小新 2023-12-14 08:57:59
request
页面请求方法参数最长_关于 HTTP GET/POST 请求参数长度最大值的一个理解误区
http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ...
[详细]
蜡笔小新 2023-12-13 19:20:03
request
使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ...
[详细]
蜡笔小新 2023-12-12 19:16:21
spring
r2dbc配置多数据源
R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ...
[详细]
蜡笔小新 2023-12-12 16:38:53
request
解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ...
[详细]
蜡笔小新 2023-12-12 13:19:04
js
网络请求模块选择——axios框架的基本使用和封装
本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ...
[详细]
蜡笔小新 2023-12-12 10:16:43
js
PHP调用实现波场交互[支持TRX/TRC20]的开发包
本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ...
[详细]
蜡笔小新 2023-12-11 17:02:09
const
超级简单加解密工具的方案和功能
本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ...
[详细]
蜡笔小新 2023-12-10 16:38:34
spring
使用Spring AOP实现切面编程的步骤和注意事项
本文介绍了使用Spring AOP实现切面编程的步骤和注意事项。首先解释了@EnableAspectJAutoProxy、@Aspect、@Pointcut等注解的作用,并介绍了实现AOP功能的方法。然后详细介绍了创建切面、编写测试代码的过程,并展示了测试结果。接着讲解了关于环绕通知的使用方法,并修改了FirstTangent类以添加环绕通知方法。最后介绍了利用AOP拦截注解的方法,只需修改全局切入点即可实现。使用Spring AOP进行切面编程可以方便地实现对代码的增强和拦截。 ...
[详细]
蜡笔小新 2023-12-09 10:25:26
spring
Android Studio命令行使用gradle及解决常见问题的方法
本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ...
[详细]
蜡笔小新 2023-12-09 10:11:06
js
如何优化Webpack打包后的代码分割
本文介绍了如何通过优化Webpack的代码分割来减小打包后的文件大小。主要包括拆分业务逻辑代码和引入第三方包的代码、配置Webpack插件、异步代码的处理、代码分割重命名、配置vendors和cacheGroups等方面的内容。通过合理配置和优化,可以有效减小打包后的文件大小,提高应用的加载速度。 ...
[详细]
蜡笔小新 2023-12-09 08:10:47
js
使用rsync实现文件同步
则将追究法律责任。[url]http:future.blog.51cto.com2695983651[url]使用rsync来实现文件同步 ...
[详细]
蜡笔小新 2023-10-12 12:19:25
input
通过Go SDK(Amazon S3)从Bucket生成Torrent - Generate Torrent from Bucket via Go SDK (Amazon S3)
Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ...
[详细]
蜡笔小新 2023-12-12 14:13:01
copy
Jboss的EJB部署描述符standardjaws.xml配置步骤详解
本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ...
[详细]
蜡笔小新 2023-12-09 18:15:53
爱在西元前2502938591
这个家伙很懒,什么也没留下!
Tags | 热门标签
rsa
email
timestamp
hashcode
less
buffer
range
request
text
runtime
go
shell
const
bitmap
actionscrip
input
typescript
spring
copy
window
hashset
usb
uml
hook
main
dockerfile
js
metadata
cPlusPlus
controller
RankList | 热门文章
1
大话集群和负载均衡
2
图论trainningpart1 F. Highways
3
封装构造函数
4
mysql ddl和dml
5
虚拟组合示波器(高性能、高配置):【MySQL】
6
win7怎样在任务栏添加显示桌面快捷图标?
7
URAL 1517 后缀数据+最长公共前缀LCP
8
autoexec解释篇
9
html阅读开放试用阶段,泰克为不同行业提供100种应用功能免费试用
10
C/C++编程笔记:BFS 广度优先搜索基本思想,图算法就是这么简单
11
ld 无法找到项目符号 链接失败_链接选项 rpath 的原理和应用
12
和android打个招呼
13
linux 查看redis数据库大小,【数据库】linux查看redis是否启动
14
作为大三的学生,压力很大,并且前途十分迷茫,何去何从?
15
Flyway版本化管理数据库常见错误和解决方法
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有