- 浏览: 311639 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
-
di1984HIT:
不错,不错。
Jquery.LazyLoad.js插件修正版下载,实现图片延迟加载特效 -
fncj:
好东西,
freemarker常用技巧 -
xwy55555:
说得很清楚
大型网站框架的演变 -
gxz1989611:
这个东西好,我转载了~~
40 个轻量级 JavaScript 库 -
gxz1989611:
恩,这个标题真是考虑到了SEO啊!!!
这才是真正的JQuery.ajax传递中文参数的解决方法
DisCuz论坛与网站集成
参考文件 http://www.discuz.net/usersguide/advanced_passport.htm#title
1) 以admin(admin,admin)身份登陆bbs 点击系统设置 à 扩展设置à 通行证设置
2) 在通行证设置中应用程序URL地址填写网站的地址(http://localhost:8080/mall/)
3) 通行证私有密匙(1234567890)
4) 应用程序注册地址(member/regist.shtml)
5) 应用程序登陆地址(member/welcome.shtml)
6) 应用程序推出地址(member/logoff.shtml)
7) 保存退出
在Constants中设置参数
//用于discuz登陆验证和通行证
public static String DISCUZKEY="1234567890"; //通行密匙
public static String DZURL="http://localhost:82/discuz/";可改
再suning.properties中
web.url=http://localhost:8080/mall/
bbs.url=http://localhost:82/discuz/
在网站的登陆程序(在com.arvato.suning.member.web.action.loginAction)中添加
查找当前数据库如果参数正确,且用户存在则登陆bbs
//设置登陆时所需的参数username,password,time,email是必填的具体的内容见参考文件
//member为会员的模型
String info = "username=" + member.getNickname() + "&password="
+ member.getPassword() + "&time="
+ DiscuzPassport.time() + "&email=" + member.getEmail();
// Constants.DISCUZKEY是admin在discuz中设置的通行证私有密匙
String auth = DiscuzPassport.passport_encrypt(info,
Constants.DISCUZKEY);
//disforward为forward的参数 在地址栏中可以得到forward的内容
String discuzforward = disforward;
String verify = DiscuzPassport.md5("login" + auth
+ discuzforward + Constants.DISCUZKEY);
//auth和discuzford一定要经过
auth=URLEncoder.encode(auth, "UTF-8");
discuzforward=URLEncoder.encode(discuzforward, "UTF-8");
//登陆discuz的路径 action ,auth,forward,verifty是必需的不能少,如果错了报Illegal request等错误,祥见参考文件
String disurl = PropertiesMgt.getPropertiesKey(Constants.PROPERTIES_FILE_PATH, "bbs.url")+"api/passport.php?action=login&auth=" + auth
+ "&forward=" + discuzforward + "&verify=" + verify;
//跳转到设置好的路径,注意redirect一定为true
request.setAttribute("disurl", disurl);
forward = new ActionForward(disurl);
forward.setRedirect(true);
return forward;
在网站的注销程序(com.arvato.suning.member.web.action.LoginOffAction)中
Member memberModel = (Member) request.getSession().getAttribute(Constants.SESSION_MEMBER_MODEL);
request.getSession().removeAttribute(Constants.SESSION_MEMBER_MODEL);
//得到如果注销discuz后跳转的路径
String discuzforward = request.getParameter("forward");
//得到配置文件中网站所在的ip及路径
String weburl = PropertiesMgt.getPropertiesKey(Constants.PROPERTIES_FILE_PATH, "web.url");
//得到配置文件中discuz所在的ip及路径
String discuzurl = PropertiesMgt.getPropertiesKey(Constants.PROPERTIES_FILE_PATH, "bbs.url");
//如果得到了forward则可以设定discuzforward的跳转路径
if (discuzforward != null && !discuzforward.equals("")){
discuzforward = weburl+"/member/welcome.shtml";
//verify为discuz注销时需要的通行证包括(logout:action的动作,discuzforward:跳转的路径,Constants. DISCUZKEY admin设置在 discuz的通行证私有密匙);
String verify = DiscuzPassport.md5("logout" + discuzforward+ Constants.DISCUZKEY);
//disurl为调用discuz注销的实际路径需要 action,forward,discuz路径
String disurl = discuzurl+"api/passport.php?action=logout&auth=&forward="
+ discuzforward + "&verify=" + verify;
return new ActionForward(disurl, true);
}
else{
return mapping.findForward(Constants.SUCCESS_KEY);
}
package com.arvato.suning.util;
import java.io.IOException;
import java.security.MessageDigest;
import java.util.Date;
import java.util.Random;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class DiscuzPassport {
/**
* 通行证编码
*
* @param txt
* @param key
* @return
*/
public static String passport_encrypt(String txt, String key) {
Random random = new Random();
int dd = random.nextInt(32000);
String encryptKey = md5(String.valueOf(dd));
byte[] keybyte = encryptKey.getBytes();
byte[] txtbyte = txt.getBytes();
int ctr = 0;
int j = 0;
byte[] tmp = new byte[2 * txtbyte.length];
for (int i = 0; i < txt.length(); i++) {
ctr = ctr == keybyte.length ? 0 : ctr;
tmp[j++] = keybyte[ctr];
tmp[j++] = xor(txtbyte[i], keybyte[ctr++]);
}
return new BASE64Encoder().encode(passport_key(tmp, key));
}
/**
* 通行证密匙处理函数
*
* @param btxt
* @param key
* @return
*/
public static byte[] passport_key(byte[] btxt, String key) {
key =md5(key);
byte[] keyAry = key.getBytes();
int ctr = 0;
byte[] tmp = new byte[btxt.length];
for (int i = 0; i < btxt.length; i++) {
ctr = (ctr == keyAry.length) ? 0 : ctr;
tmp[i] = xor(btxt[i], keyAry[ctr++]);
}
return tmp;
}
/**
* 通行证解码
*
* @param txt
* @param key
* @return
* @throws IOException
*/
public String passport_decrypt(String txt, String key) throws IOException {
byte[] t = new BASE64Decoder().decodeBuffer(txt);
byte[] btxt = passport_key(t, key);
byte[] btmp = new byte[btxt.length];
int j = 0;
for (int i = 0; i < btxt.length; i++, j++)
btmp[j] = xor(btxt[i], btxt[++i]);
return btmp.toString();
}
/**
* 异或操作
发表评论
-
Kaptcha使用
2012-07-04 10:18 1967简单的装备起来很简单,网上一大把,就不说了。 ... -
kaptcha 验证码在spring mvc 中的使用
2012-07-04 10:11 2146... -
Java编程中“为了性能”尽量要做到的一些地方
2012-05-29 16:09 1034下面是参考网络资源总结的一些在Java编程中尽可能要做到的 ... -
freemarker常用技巧
2012-05-03 10:21 313941. freemarker 简介 ... -
Spring邮件发送(可带附件,模板,群发,异步发送等功能)
2011-09-20 16:19 2399... -
Quartz
2011-09-14 16:35 1521博客 ... -
eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的
2011-06-08 16:08 3462在eclipse中启动tomcat时 ... -
Maven常用插件使用说明之deploy
2011-06-02 23:37 5349Maven的deploy插件用于把Maven自动构 ... -
Hudson+Maven+SVN 快速搭建持续集成环境
2011-06-01 10:35 1720hudson 是一个可扩展的持 ... -
struts2 中使用 chain Result 时 actionMessage 和 actionError 未复制的原因
2011-05-24 22:43 2197在网上查询N久,未解决。 一说必须使用 chain Res ... -
Quartz时间规则
2011-03-07 16:26 1985* * * * * ... -
Spring Quartz 任务调度
2011-03-07 16:07 1533关 ... -
可以设置你提交代码是必须写注释,可以规定长度至少为多少
2010-12-23 13:58 3809不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不 ... -
Tomcat UTF-8 乱码问题解决办法
2010-12-20 16:13 2239关于java的乱码,一直是双字节字符环境开发者的问题,不同 ... -
eclipse中将java项目转换为web项目
2010-11-19 16:03 28721、进入项目目录,找到.project文件,打开。 2、 ... -
poi 新手教程
2010-10-28 15:10 1275poi 新手教程 Jakarta_POI 使用Ja ... -
Subversion Windows迁移到Linux服务器的步骤
2010-06-01 09:59 1486首先在Windows上,使用svnadmin dump res ... -
JAVA读写Properties文件
2009-04-30 21:05 3384JAVA读写Properties文件 ... -
Tomcat out of memory解决
2009-03-01 23:09 6880Tomcat 默认可以使用的内存为 128MB ,在较大型 ... -
Tomcat加入到系统服务中
2009-01-20 09:55 1506命令行使用sc命令.关于sc命令的详解,请自 ...
相关推荐
这个项目虽然在设计和功能上可能无法与互联网上的大型知名网站相媲美,但它为学习和理解J2EE应用程序开发提供了宝贵的实践案例。 **J2EE技术介绍** J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的...
TinyYolo2实时视频流物体检测ONNX模型 运行 ONNX 模型,并结合 OpenCV 进行图像处理。具体流程包括: 1. 加载并初始化 ONNX 模型。 2. 从摄像头捕获实时视频流。 3. 对每一帧图像进行模型推理,生成物体检测结果。 4. 在界面上绘制检测结果的边界框和标签。
chromedriver-linux64-134.0.6998.23(Beta).zip
Web开发:ABP框架4-DDD四层架构的详解
chromedriver-linux64-135.0.7029.0(Canary).zip
实现人脸识别的考勤门禁系统可以分为以下步骤: 1. 采集人脸图像数据集:首先需要采集员工的人脸图像数据集,包括正面、侧面等多个角度的图像。可以使用MATLAB中的图像采集工具或者第三方库进行采集。 2. 预处理人脸图像数据:对采集到的人脸图像数据进行预处理,包括人脸检测、人脸对齐、人脸裁剪等操作。MATLAB提供了相关的图像处理工具箱,可以用于实现这些处理步骤。 3. 特征提取与特征匹配:使用人脸识别算法提取人脸图像的特征,比如使用人脸识别中常用的特征提取算法如Eigenfaces、Fisherfaces或者基于深度学习的算法。然后将员工的人脸数据与数据库中的人脸数据进行匹配,判断是否为注册员工。 4. 考勤记录与门禁控制:如果人脸匹配成功,系统可以记录员工的考勤时间,并且控制门禁系统进行开启。MATLAB可以与外部设备进行通信,实现门禁控制以及考勤记录功能。
yugy
企业IT治理体系规划.pptx
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
基于多目标粒子群算法的冷热电联供综合能源系统优化调度与运行策略分析,基于多目标粒子群算法的冷热电联供综合能源系统优化调度与运行策略分析,MATLAB代码:基于多目标粒子群算法冷热电联供综合能源系统运行优化 关键词:综合能源 冷热电三联供 粒子群算法 多目标优化 参考文档:《基于多目标算法的冷热电联供型综合能源系统运行优化》 仿真平台:MATLAB 平台采用粒子群实现求解 优势:代码注释详实,适合参考学习,非目前烂大街的版本,程序非常精品,请仔细辨识 主要内容:代码构建了含冷、热、电负荷的冷热电联供型综合能源系统优化调度模型,考虑了燃气轮机、电制冷机、锅炉以及风光机组等资源,并且考虑与上级电网的购电交易,综合考虑了用户购电购热冷量的成本、CCHP收益以及成本等各种因素,从而实现CCHP系统的经济运行,求解采用的是MOPSO算法(多目标粒子群算法),求解效果极佳,具体可以看图 ,核心关键词: 综合能源系统; 冷热电三联供; 粒子群算法; 多目标优化; MOPSO算法; 优化调度模型; 燃气轮机; 电制冷机; 锅炉; 风光机组; 上级电网购售电交易。,基于多目标粒子群算法的CCHP综合
DSP28379D串口升级方案:单核双核升级与Boot优化,C#上位机开发串口通信方案,DSP28379D串口升级方案:单核双核升级与Boot优化,C#上位机开发实现串口通信,DSP28379D串口升级方案 单核双核升级,boot升级,串口方案。 上位机用c#开发。 ,DSP28379D; 串口升级方案; 单核双核升级; boot升级; 上位机C#开发,DSP28379D串口双核升级方案:Boot串口升级技术使用C#上位机开发
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
基于PLC的双层自动门控制:光电传感触发,有序开关与延时功能实现,附程序、画面及参考文档。,基于PLC的双层自动门控制系统:精准控制,保障无尘环境;门间联动,智能安防新体验。,基于plc的双层自动门控制系统,全部采用博途仿真完成,提供程序,画面,参考文档,详情见图。 实现功能(详见上方演示视频): ① 某房间要求尽可能地保持无尘,在通道上设置了两道电动门,门1和门2,可通过光电传感器自动完成门的打开和关闭。 门1和门2 不能同时打开。 ② 第 1 道门(根据出入方向不同,可能是门 1 或门 2),是由在通道外的开门者通过按开门按钮打开的,而第 2 道门(根据出入方向不同,可能是门 1 或门 2 )则是在打开的第 1 道门关闭后自动地打开的(也可以由通道内的人按开门按钮来打开第2 道门)。 这两道门都是在门开后,经过 3s 的延时而自动关闭的。 ③ 在门关闭期间,如果对应的光电传感器的信号被遮断,则门立即自动打开。 如果在门外或者在门内的开门者按对应的开门按钮时,立即打开。 ④ 出于安全方面的考虑,如果在通道内的某个人经过光电传感器时,对应的门已经打开,则通道外的开门者可以不按开门按钮。
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
DeepSeek+DeepResearch——让科研像聊天一样简单 (1)DeepSeek如何做数据分析? (2)DeepSeek如何分析文件内容? (3)DeepSeek如何进行数据挖掘? (4)DeepSeek如何进行科学研究? (5)DeepSeek如何写综述? (6)DeepSeek如何进行数据可视化? (7)DeepSeek如何写作润色? (8)DeepSeek如何中英文互译? (9)DeepSeek如何做降重? (10)DeepSeek论文参考文献指令 (11)DeepSeek基础知识。
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
1、文件内容:jdepend-demo-2.9.1-10.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/jdepend-demo-2.9.1-10.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊
项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
内容概要:本文档详细介绍了如何利用 MATLAB 实现鲸鱼优化算法 (WOA) 和长短期记忆网络 (LSTM) 相结合的技术——WOA-LSTM,在数据分类和预测领域的应用。文章首先概述了LSTM在网络训练中超参数依赖的问题以及WOA作为一种新颖的全局优化算法的优势。接着阐述了该项目的研究背景、目的及其重要意义,并深入讨论了项目面临的六大主要挑战,从模型优化到超参数空间管理。文档特别强调WOA-LSTM融合所带来的性能提升、降低计算复杂度的能力及其实现自动化的超参数优化流程。除此之外,文中展示了模型的应用广泛性,覆盖了从金融市场的股票预测到智能制造业的各种实际场景,并提供了具体的模型架构细节和代码实例,以帮助理解模型的工作原理和技术要点。 适合人群:具有一定编程技能的研究人员、工程师和科学家们,尤其是对深度学习技术和机器学习感兴趣的专业人士。 使用场景及目标:该文档的目标是向用户传授使用MATLAB实现WOA-LSTM进行复杂数据分类和预测的方法论,旨在指导读者理解和掌握如何利用WOA进行超参数寻优,从而改善LSTM网络性能。 其他说明:通过阅读这份文档,使用者不仅能够获得有关WOA-LSTM技术的具体实现方式的知识,而且还可以获取关于项目规划和实际部署过程中的宝贵经验。
tomcat安装及配置教程.md