使用STRUTS2进展TOKEN验证注意事项怎么解决

使用STRUTS2进展TOKEN验证注意事项怎么解决,第1张

1、架设WEB服务器,并开放80端口;

2、注册并备案可用域名;

3、在WEB服务器上部署TOMCAT服务器(使用80端口);

4、创建WEB工程,配置微信接入URL对应的ACTION(不必配置跳转页面);

5、【重点】程序中的TOKEN值必须于验证的TOKEN值一致;

6、【重点】验证通过后将echostr的值写入到response中去,如下语句

【response.getWriter().write(echostr)】

7、【重点】execute()方法的返回值必须制定为null,切记;

我来给你解释下。机制:

1,其实,你在调用这个ACTION的时候是首选调用了2的一个拦截机制(拦截器)

2,调用拦截机制的时候,2会把你的URL作为一个参数进行解析

3,通过一个反射机制和STRUTS2.XML的配置解析出你的动作

4,通过解析后得到你的域名。类名,方法名,属性名

5,然后通过你的类名(其实是个字符串比如com.cn.test.myname.myaction)然后用反射机制初始化你的类实例

6,然后透过线程保存JSP页面传过来的REQUEST

7,然后得到你的属性(type),第4步已经得到了你在类中定义的GET,SET方法了。然后把这个TYPE=1的值,利用反射得到SET方法,并且赋值给类的TYPE属性,

在以上的步骤中并没有真正调用方法,但属性值已经赋值了

8.其次,如果你的配置文件中配置了要调用的方法名,在解析的时候会得到,如果没有定义方法名(也即是只有一个方法,这样解释是只有一个,如果是多个,那必须是有方法别名的,不然是找不到的)

9,通过方法名然后反射到你的类中的方法名,

10,执行你的方法

11,执行完成后,通过返回的STRING(1)找到当时解析XML时保存的STRING(2)返回值(这个返回是XML定义的,不要搞混了)而第一个STRING(1)是你执行方法后返回的

12,他们直接匹配后拦截器返回当时你配置的页面,

13,成功返回你的结果否则内部报错,拦截失败(报错可能不是你想像的有时拦截器没有那么智能)

14,当再次提交是会和内存的匹配,如果有变动,一新的解析为准,进行从1-13的循环。

15,整个过程就是这样

可能有些粗糙,希望这样的白话你能看的更明白。

楼主进tomcat上传目录去看,有的时候很奇怪,我也遇到这种问题,因为服务器是Linux的,有的地方可能是编码问题,而且服务器如果用Mysql数据库的话,表名只能是小写,没有大写,你最好看一下tomcat报错日志

http://域名:8080/manager/html你去看看为什么启动不了。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/483226.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-09
下一篇2023-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存