- PettingZoo:多智能体强化学习的标准API
资源存储库
多智能体强化学习人工智能深度学习
PettingZoo:AStandardAPIforMulti-AgentReinforcementLearningPettingZoo:多智能体强化学习的标准API目录Abstract摘要1Introduction1介绍2BackgroundandRelatedWorks2背景及相关工作2.1PartiallyObservableStochasticGamesandRLlib2.1部分可观察随机
- 1910. 删除一个字符串中所有出现的给定子字符串
Joyner2018
python算法leetcode开发语言python
字符串反复删除子串问题的多种解法解析✨题目描述给定两个字符串s和part,我们需要对s执行以下操作,直到s中不再包含任何子串part:每次找到s中最左边出现的part子串,并将其从s中删除。最后,返回所有part都被删除后的最终字符串。注意:子串指的是字符串中连续的字符序列。删除操作是从左到右,每次只删除最左边的一个匹配部分。示例说明示例1:输入:s="daabcbaabcbc",part="ab
- Excel VBA属性、方法、事件大全——Part13(Complete List of Excel VBA attribute/method and event)
预见未来to50
对象/属性/方法/事件(Object/Attribute/Method/Event)描述(Description)Save保存指定工作簿所做的更改本示例保存当前活动工作簿。ActiveWorkbook.Save本示例保存所有打开的工作簿,然后关闭MicrosoftExcel。ForEachwInApplication.Workbooksw.SaveNextwApplication.QuitSave
- 大模型RLHF强化学习笔记(一):强化学习基础梳理Part1
Gravity!
大模型笔记大模型LLM算法机器学习强化学习人工智能
【如果笔记对你有帮助,欢迎关注&点赞&收藏,收到正反馈会加快更新!谢谢支持!】一、强化学习基础1.1Intro定义:强化学习是一种机器学习方法,需要智能体通过与环境交互学习最优策略基本要素:状态(State):智能体在决策过程中需要考虑的所有相关信息(环境描述)动作(Action):在环境中可以采取的行为策略(Policy):定义了在给定状态下智能体应该选择哪个动作,目标是最大化智能体的长期累积奖
- 让一个程序在后台运行
Hi_kenyon
pythonlinux网络
PartI:如何让一个程序在后台运行,在关闭终端的时候,命令或者进行不会被中断在Linux上,如果你希望一个命令在后台持续运行,即使你关闭终端,它不会被终止,有几种常用的方法可以实现这个目的:方法一:使用nohupnohup(nohangup)命令可以让进程忽略挂起(HUP)信号,这样即使关闭终端也不会结束。nohupyour-command>output.log2>&1&your-command
- Python创意爱心代码合集(7种实现方案)
我非常不满意
pythonpygame开发语言
方案一:动态粒子爱心(Pygame实现)importpygameimportmathimportrandompygame.init()W,H=1200,800screen=pygame.display.set_mode((W,H))particles=[]classParticle:def__init__(self):self.angle=random.uniform(0,2*math.pi)se
- 【力扣 中等 C】912. 排序数组
黑听人
c语言leetcode数据结构算法开发语言
目录题目解法一:快速排序解法二:归并排序题目解法一:快速排序voidswap(int*a,int*b){inttmp=*a;*a=*b;*b=tmp;}voidpartition(int*nums,intleft,intright,int*leftMax,int*rightMin){intrandomNum=nums[left+rand()%(right-left+1)];intl=left,r=
- Milvus中 Collections 级多租户 和 分区级多租户 的区别
背太阳的牧羊人
人工智能RAG优化方法milvus向量数据库
原文链接图片内容中。1,所有租户共用一个Collection:所有租户共享一个Collection,租户特定字段用于过滤。2,每个租户一个分区:租户共享一个Collections,但他们的数据存储在不同的分区中。我们可以通过为每个租户分配一个专用分区来隔离数据。3,基于PartitionKey的多租户:这是一种可扩展性更强的方案,其中单个Collections使用分区Key来区分租户。它们看起来相
- 12.分割区域
Echo``
Halcon系统化学习前端图像处理c#人工智能机器学习计算机视觉
目录1.拆分相邻区域12.拆分相邻区域23.分体区域合并4.正反检测5.芯片除尘1.拆分相邻区域1*Thisprogramsdemonstratestheuseofbasicmorphology*operators.*Theaimoftheprogramistodetecteachsinglepellet*(brightparticleonadarkerbackground).*dev_updat
- GaussDB SQL基础语法示例:BOOLEAN表达式详解
喜酱的探春
gaussdbsqltensorflow数据库
GaussDBSQL基础语法示例:BOOLEAN表达式详解BOOLEAN表达式是SQL中实现逻辑判断的核心工具,用于组合多个条件或处理真值判断。本文将结合GaussDB特性,通过实际场景解析其用法与最佳实践。一、基础语法结构简单条件组合--AND并列条件SELECT*FROMemployeesWHEREdepartment='IT'ANDsalary>10000;--OR选择条件SELECTpro
- C#仿CANoe设计面板PANL的设计思路
99乘法口诀万物皆可变
C#c#单片机stm32
usingSystem;usingSystem.Windows.Forms;usingUTS_Link_CANoe_Bridge.VariableManagerEnhanced;namespaceUTS_Link_CANoe_Bridge{publicpartialclassVariableManagerEnhanced_UIDebug:Form{publicVariableManagerEnha
- laravel中图片路径失效图片不显示的解决方法
一秒公司
laravelphp
先将目录public下的storage删除(这是个软链接,如果双击会提示错误路径),注意:操作前记得备份!!!然后在项目目录下运行命令行:phpartisanstorage:link运行结果如下图后
- C#-获取屏幕分辨率
dxm809
C#
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceGetScreenSize{publicpartialclassFrm_Main
- Laravel 项目中图片上传后无法访问的问题
TO_WebNow
Laravellaravelphp
情况:Laravel提供了phpartisanstorage:link命令,用于创建符号链接(SymbolicLink),将storage/app/public映射到public/storage。但是上传图片之后文件目录确实有但是无法访问。1.删除已经创建的rm-rfpublic/storage2.重新创建符号链接:phpartisanstorage:link3.检查符号链接是否正确:ls-lpu
- 【Unity关于Windows文件的一些常用操作1】
灬悟空不悟灬
Unity小技巧unity游戏引擎
Unity关于Windows文件的一些常用操作本人项目中遇到的一些Unity关于Windows文件的一些常用操作。以后还会继续进行扩展。usingSystem;usingSystem.IO;usingSystem.Linq;usingUnityEngine;namespaceWKFrame.Controller{publicpartialclassUtils:Singleton{//////清空文
- [置顶] libtool: link: cannot find the library `/usr/lib/libuuid.la' 找不到
许一沐
libuuidispartoftheutil-linux-ngpackagesinceversion2.15.1andisavailablefromftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/util-linux-2.21.1.tar.gz编译安装httpd2.2.24时出现libtool:link:cannotfindthelibr
- Spark 之 UT
zhixingheyi_tian
sparkspark大数据分布式
AQEOFFpartitionpruninginbroadcasthashjoinswithaliases==OptimizedLogicalPlan==Project[date_id#5283,pid#5281,sid#5282]+-JoinInner,(si
- Java服务器文件上传及获取
guxiaohai_
后端java服务器
一:简介最近项目中有用到将图片及文件上传到服务器上,并实现从服务器获取文件以及删除服务器文件信息二:编码上传文件/***@Author:guwenhai*@Description:图片上传*@paramfile文件信息*@paramabsoluteImgPath绝对路径地址*@Date:2021-03-2716:42*/publicstaticList>imgUpload(MultipartFil
- GCB | 土地利用变化对土壤矿物结合态和颗粒有机碳的影响
生态学者
大数据r语言
本文首发于“生态学者”微信公众号!西北农林科技大学任成杰教授指导的博士生赵雨晴在《GlobalChangeBiology》发表题为《AGlobalMeta-AnalysisofLandUseChangeonSoilMineral-AssociatedandParticulateOrganicCarbon》的研究成果。文章发表后被美国科学院院刊《PNAS》编委会选中(每月从已发表的国际期刊挑选3-4
- 详解Redission分布式锁脑裂问题
码上库利南
redis分布式
Redisson在RedisCluster模式下实现的分布式锁(基于RedLock思想),理论上仍然存在脑裂(NetworkPartition)导致锁失效的风险。这是由其依赖的“多数派”(Quorum)机制和分布式系统的不可能三角(CAP)决定的。一、脑裂发生的核心场景:假设一个拥有5个主节点(A,B,C,D,E)的RedisCluster:网络分区发生:集群被分裂成两个独立且无法通信的子集:分区
- Kafka 核心术语详解
showyoui
Kafkakafka分布式
文章目录1.集群架构层Cluster(集群)Broker(代理服务器)2.存储架构层Topic(主题)Partition(分区)Message(消息)3.副本机制Leader/FollowerISR(In-SyncReplicas)副本加入ISR的条件副本被移出ISR的条件Leader选举机制ISR维护机制4.客户端Producer(生产者)Consumer(消费者)ConsumerGroup(消
- 磁盘分区及挂载
风奇休休
运维linux服务器逻辑卷lvm磁盘分区
将大于2T的磁盘进行分区,格式化,挂载,创建逻辑卷,便于后期扩缩容例:sdc盘空间5T,需要分两个均等分区,并创建逻辑卷:(1)查看磁盘详情lsblk #查看未挂载分区:lsblk-f #查看磁盘文件系统类型fdisk-l#查看未分区详情(2)磁盘分区parted/dev/sdcmklabelgpt #5TB磁盘必须使用GPT分区,MBR不支持>2TBparted/dev/sdcmk
- Silverlight中OneTime,OneWay,TwoWay及INotifyPropertyChanged 接口的理解
大然Ryan
.NET&C#silverlightbuttontextboxbindingobjectstring
今天有时间把Silverlight中OneTime,OneWay,TwoWay及INotifyPropertyChanged接口的理解等数据绑定方面的东西理解学习了下!下面是我的笔记。(一)前台代码:(二)后台代码publicpartialclassMainPage:UserControl{Bookbook=newBook();publicMainPage(){InitializeComponen
- (18)java+ selenium自动化测试-元素定位之By css中篇
程序员的世界你不懂
javaseleniumcss
1.简介我们继续-css的定位元素的方法:ID属性值定位、其他属性值定位和使用属性值的一部分定位(这个类似xpath的模糊定位)。2.常用定位方法(8种)(1)id(2)name(3)classname(4)tagname(5)linktext(6)partiallinktext(7)xpath(8)cssselector(本篇讲解)3.自动测试实战以百度首页为例,将CSS的各种定位方法一一讲解和
- Vue+Java导入excel文件解析(xlsx格式文件)
青莳吖
vue.jsjavaexcel
Java代码/***导入总表数据*/@PostMapping("/importGeneralTable")publicAjaxResultimportGeneralTable(@RequestBody@RequestParam("files")MultipartFilefiles,@RequestParam("devType")Stringtype){try{//文件转换Filefile=Mult
- 字符串内置函数
Uzizi
Python
一、实验字符串二、函数1、find函数2、rfind函数3、index函数rindex函数4、count函数5、replace6、join函数7、split函数8、title函数9、capitalize10、startwithendwith11、lowerupper12、lstriprstrip13、strip14、partionrpartion函数15、isalpha函数16、isdigit函数
- Linux分区介绍(一)
自豪的搬运工007
运维linux
硬盘挂载上,需要进行分区和格式化才能使用,常用的分区命令的是fdisk,但是当硬盘大于2T的时候不能使用fdisk命令来进行分区,需要使用parted命令来进行分区,本文主要介绍fdisk分区,fdisk的参数如下:参数作用m查看全部可用的参数n添加新的分区d删除某个分区信息l列出所有可用的分区类型t改变某个分区的类型p查看分区表信息w保存并退出q不保存直接退出以在虚拟机中添加一块硬盘来进行分区演
- 贪心算法part03
sjtu_哈基坤
Leetcode刷题日记贪心算法windows算法
134加油站在一条环路上有N个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。classSolution:defcanCompleteCircuit(self,gas:List[int],cost:L
- 生成 Html报告
习惯有梅自傲举
pythonpython
importdatetimeclassReportGenerator:def__init__(self):self.title=""self.subtitle="MainPartofTestCase"self.column_names=[]self.data=[]self.html_report=""defgenerate_html_report(self):#检查是否有失败的测试结果test_s
- parted分区
我爱云计算
数据库linux运维
1.检查磁盘信息在开始操作之前,你需要先确认/dev/vdb磁盘的可用空间是否足够。可以使用lsblk命令查看磁盘信息:lsblk该命令会列出系统中所有的块设备及其分区情况,你可以从中确认/dev/vdb的大小和当前分区状态。2.使用parted命令进行分区执行以下命令进入parted交互模式并选择/dev/vdb磁盘:parted/dev/vdb在parted交互模式下,依次执行以下操作:2.1
- SAX解析xml文件
小猪猪08
xml
1.创建SAXParserFactory实例
2.通过SAXParserFactory对象获取SAXParser实例
3.创建一个类SAXParserHander继续DefaultHandler,并且实例化这个类
4.SAXParser实例的parse来获取文件
public static void main(String[] args) {
//
- 为什么mysql里的ibdata1文件不断的增长?
brotherlamp
linuxlinux运维linux资料linux视频linux运维自学
我们在 Percona 支持栏目经常收到关于 MySQL 的 ibdata1 文件的这个问题。
当监控服务器发送一个关于 MySQL 服务器存储的报警时,恐慌就开始了 —— 就是说磁盘快要满了。
一番调查后你意识到大多数地盘空间被 InnoDB 的共享表空间 ibdata1 使用。而你已经启用了 innodbfileper_table,所以问题是:
ibdata1存了什么?
当你启用了 i
- Quartz-quartz.properties配置
eksliang
quartz
其实Quartz JAR文件的org.quartz包下就包含了一个quartz.properties属性配置文件并提供了默认设置。如果需要调整默认配置,可以在类路径下建立一个新的quartz.properties,它将自动被Quartz加载并覆盖默认的设置。
下面是这些默认值的解释
#-----集群的配置
org.quartz.scheduler.instanceName =
- informatica session的使用
18289753290
workflowsessionlogInformatica
如果希望workflow存储最近20次的log,在session里的Config Object设置,log options做配置,save session log :sessions run ;savesessio log for these runs:20
session下面的source 里面有个tracing 
- Scrapy抓取网页时出现CRC check failed 0x471e6e9a != 0x7c07b839L的错误
酷的飞上天空
scrapy
Scrapy版本0.14.4
出现问题现象:
ERROR: Error downloading <GET http://xxxxx CRC check failed
解决方法
1.设置网络请求时的header中的属性'Accept-Encoding': '*;q=0'
明确表示不支持任何形式的压缩格式,避免程序的解压
- java Swing小集锦
永夜-极光
java swing
1.关闭窗体弹出确认对话框
1.1 this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
1.2
this.addWindowListener (
new WindowAdapter () {
public void windo
- 强制删除.svn文件夹
随便小屋
java
在windows上,从别处复制的项目中可能带有.svn文件夹,手动删除太麻烦,并且每个文件夹下都有。所以写了个程序进行删除。因为.svn文件夹在windows上是只读的,所以用File中的delete()和deleteOnExist()方法都不能将其删除,所以只能采用windows命令方式进行删除
- GET和POST有什么区别?及为什么网上的多数答案都是错的。
aijuans
get post
如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历
前几天有人问我这个问题。我说GET是用于获取数据的,POST,一般用于将数据发给服务器之用。
这个答案好像并不是他想要的。于是他继续追问有没有别的区别?我说这就是个名字而已,如果服务器支持,他完全可以把G
- 谈谈新浪微博背后的那些算法
aoyouzi
谈谈新浪微博背后的那些算法
本文对微博中常见的问题的对应算法进行了简单的介绍,在实际应用中的算法比介绍的要复杂的多。当然,本文覆盖的主题并不全,比如好友推荐、热点跟踪等就没有涉及到。但古人云“窥一斑而见全豹”,希望本文的介绍能帮助大家更好的理解微博这样的社交网络应用。
微博是一个很多人都在用的社交应用。天天刷微博的人每天都会进行着这样几个操作:原创、转发、回复、阅读、关注、@等。其中,前四个是针对短博文,最后的关注和@则针
- Connection reset 连接被重置的解决方法
百合不是茶
java字符流连接被重置
流是java的核心部分,,昨天在做android服务器连接服务器的时候出了问题,就将代码放到java中执行,结果还是一样连接被重置
被重置的代码如下;
客户端代码;
package 通信软件服务器;
import java.io.BufferedWriter;
import java.io.OutputStream;
import java.io.O
- web.xml配置详解之filter
bijian1013
javaweb.xmlfilter
一.定义
<filter>
<filter-name>encodingfilter</filter-name>
<filter-class>com.my.app.EncodingFilter</filter-class>
<init-param>
<param-name>encoding<
- Heritrix
Bill_chen
多线程xml算法制造配置管理
作为纯Java语言开发的、功能强大的网络爬虫Heritrix,其功能极其强大,且扩展性良好,深受热爱搜索技术的盆友们的喜爱,但它配置较为复杂,且源码不好理解,最近又使劲看了下,结合自己的学习和理解,跟大家分享Heritrix的点点滴滴。
Heritrix的下载(http://sourceforge.net/projects/archive-crawler/)安装、配置,就不罗嗦了,可以自己找找资
- 【Zookeeper】FAQ
bit1129
zookeeper
1.脱离IDE,运行简单的Java客户端程序
#ZkClient是简单的Zookeeper~$ java -cp "./:zookeeper-3.4.6.jar:./lib/*" ZKClient
1. Zookeeper是的Watcher回调是同步操作,需要添加异步处理的代码
2. 如果Zookeeper集群跨越多个机房,那么Leader/
- The user specified as a definer ('aaa'@'localhost') does not exist
白糖_
localhost
今天遇到一个客户BUG,当前的jdbc连接用户是root,然后部分删除操作都会报下面这个错误:The user specified as a definer ('aaa'@'localhost') does not exist
最后找原因发现删除操作做了触发器,而触发器里面有这样一句
/*!50017 DEFINER = ''aaa@'localhost' */
原来最初
- javascript中showModelDialog刷新父页面
bozch
JavaScript刷新父页面showModalDialog
在页面中使用showModalDialog打开模式子页面窗口的时候,如果想在子页面中操作父页面中的某个节点,可以通过如下的进行:
window.showModalDialog('url',self,‘status...’); // 首先中间参数使用self
在子页面使用w
- 编程之美-买书折扣
bylijinnan
编程之美
import java.util.Arrays;
public class BookDiscount {
/**编程之美 买书折扣
书上的贪心算法的分析很有意思,我看了半天看不懂,结果作者说,贪心算法在这个问题上是不适用的。。
下面用动态规划实现。
哈利波特这本书一共有五卷,每卷都是8欧元,如果读者一次购买不同的两卷可扣除5%的折扣,三卷10%,四卷20%,五卷
- 关于struts2.3.4项目跨站执行脚本以及远程执行漏洞修复概要
chenbowen00
strutsWEB安全
因为近期负责的几个银行系统软件,需要交付客户,因此客户专门请了安全公司对系统进行了安全评测,结果发现了诸如跨站执行脚本,远程执行漏洞以及弱口令等问题。
下面记录下本次解决的过程以便后续
1、首先从最简单的开始处理,服务器的弱口令问题,首先根据安全工具提供的测试描述中发现应用服务器中存在一个匿名用户,默认是不需要密码的,经过分析发现服务器使用了FTP协议,
而使用ftp协议默认会产生一个匿名用
- [电力与暖气]煤炭燃烧与电力加温
comsci
在宇宙中,用贝塔射线观测地球某个部分,看上去,好像一个个马蜂窝,又像珊瑚礁一样,原来是某个国家的采煤区.....
不过,这个采煤区的煤炭看来是要用完了.....那么依赖将起燃烧并取暖的城市,在极度严寒的季节中...该怎么办呢?
&nbs
- oracle O7_DICTIONARY_ACCESSIBILITY参数
daizj
oracle
O7_DICTIONARY_ACCESSIBILITY参数控制对数据字典的访问.设置为true,如果用户被授予了如select any table等any table权限,用户即使不是dba或sysdba用户也可以访问数据字典.在9i及以上版本默认为false,8i及以前版本默认为true.如果设置为true就可能会带来安全上的一些问题.这也就为什么O7_DICTIONARY_ACCESSIBIL
- 比较全面的MySQL优化参考
dengkane
mysql
本文整理了一些MySQL的通用优化方法,做个简单的总结分享,旨在帮助那些没有专职MySQL DBA的企业做好基本的优化工作,至于具体的SQL优化,大部分通过加适当的索引即可达到效果,更复杂的就需要具体分析了,可以参考本站的一些优化案例或者联系我,下方有我的联系方式。这是上篇。
1、硬件层相关优化
1.1、CPU相关
在服务器的BIOS设置中,可
- C语言homework2,有一个逆序打印数字的小算法
dcj3sjt126com
c
#h1#
0、完成课堂例子
1、将一个四位数逆序打印
1234 ==> 4321
实现方法一:
# include <stdio.h>
int main(void)
{
int i = 1234;
int one = i%10;
int two = i / 10 % 10;
int three = i / 100 % 10;
- apacheBench对网站进行压力测试
dcj3sjt126com
apachebench
ab 的全称是 ApacheBench , 是 Apache 附带的一个小工具 , 专门用于 HTTP Server 的 benchmark testing , 可以同时模拟多个并发请求。前段时间看到公司的开发人员也在用它作一些测试,看起来也不错,很简单,也很容易使用,所以今天花一点时间看了一下。
通过下面的一个简单的例子和注释,相信大家可以更容易理解这个工具的使用。
- 2种办法让HashMap线程安全
flyfoxs
javajdkjni
多线程之--2种办法让HashMap线程安全
多线程之--synchronized 和reentrantlock的优缺点
多线程之--2种JAVA乐观锁的比较( NonfairSync VS. FairSync)
HashMap不是线程安全的,往往在写程序时需要通过一些方法来回避.其实JDK原生的提供了2种方法让HashMap支持线程安全.
- Spring Security(04)——认证简介
234390216
Spring Security认证过程
认证简介
目录
1.1 认证过程
1.2 Web应用的认证过程
1.2.1 ExceptionTranslationFilter
1.2.2 在request之间共享SecurityContext
1
- Java 位运算
Javahuhui
java位运算
// 左移( << ) 低位补0
// 0000 0000 0000 0000 0000 0000 0000 0110 然后左移2位后,低位补0:
// 0000 0000 0000 0000 0000 0000 0001 1000
System.out.println(6 << 2);// 运行结果是24
// 右移( >> ) 高位补"
- mysql免安装版配置
ldzyz007
mysql
1、my-small.ini是为了小型数据库而设计的。不应该把这个模型用于含有一些常用项目的数据库。
2、my-medium.ini是为中等规模的数据库而设计的。如果你正在企业中使用RHEL,可能会比这个操作系统的最小RAM需求(256MB)明显多得多的物理内存。由此可见,如果有那么多RAM内存可以使用,自然可以在同一台机器上运行其它服务。
3、my-large.ini是为专用于一个SQL数据
- MFC和ado数据库使用时遇到的问题
你不认识的休道人
sqlC++mfc
===================================================================
第一个
===================================================================
try{
CString sql;
sql.Format("select * from p
- 表单重复提交Double Submits
rensanning
double
可能发生的场景:
*多次点击提交按钮
*刷新页面
*点击浏览器回退按钮
*直接访问收藏夹中的地址
*重复发送HTTP请求(Ajax)
(1)点击按钮后disable该按钮一会儿,这样能避免急躁的用户频繁点击按钮。
这种方法确实有些粗暴,友好一点的可以把按钮的文字变一下做个提示,比如Bootstrap的做法:
http://getbootstrap.co
- Java String 十大常见问题
tomcat_oracle
java正则表达式
1.字符串比较,使用“==”还是equals()? "=="判断两个引用的是不是同一个内存地址(同一个物理对象)。 equals()判断两个字符串的值是否相等。 除非你想判断两个string引用是否同一个对象,否则应该总是使用equals()方法。 如果你了解字符串的驻留(String Interning)则会更好地理解这个问题。
- SpringMVC 登陆拦截器实现登陆控制
xp9802
springMVC
思路,先登陆后,将登陆信息存储在session中,然后通过拦截器,对系统中的页面和资源进行访问拦截,同时对于登陆本身相关的页面和资源不拦截。
实现方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23