- 设计模式学习--观察者模式(Observer Pattern)
小巫技术博客
【技能提升之设计模式】HeadFirst设计模式学习记录设计模式
设计模式学习--观察者模式(OberserPattern)2013年5月18日天气:热!下午15:28设计模式学习中学习者:小巫什么是观察者模式?定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。怎么设计一个观察者模式的程序?确定两个对象:1.主题2.观察者确定这两个对象之间的关系:主题对象管理某些数据,一旦数据发生改变,会主动向观察者进行通知,然而
- Java调用WebSocket的服务端和客户端
LuckyLay
websocketjava
服务端实现原生注解导入依赖文件需要一个配置类一个Server类org.springframework.bootspring-boot-starter-websocket//配置类@Configuration@EnableWebSocketpublicclassWSConfig{@BeanpublicServerEndpointExporterserverEndpoint(){returnnewSe
- nvm 使用
werch
npmnode.js前端
1环境Windows11家庭版安装nvm卸载原有nodejs版本如不卸载原有版本,会造成冲突,安装完nvm发现不了已安装的nodejs版本,建议卸载之前的版本。2.下载nvmnvmnvm-setup,推荐下载zip版本nvm-setup.zip。下载完解压,选择没有特殊字符及中文的目录(否则会提示找不到命令或目录)后一直下一步安装即可。验证是否安装成功3.nvmversion4.配置nvm淘宝镜像
- 【Zinx】Day2-Part1:Zinx框架基础路由模块
YGGP
GolangProject网络服务器golang
目录Day2-Part1:Zinx框架基础路由模块IRequest消息请求抽象类创建抽象IRequest层实现Request类IRouter路由配置抽象类创建抽象的IRouter层实现Router类在Zinxv0.3当中集成简单的路由功能IServer增添路由添加功能为Server添加Router成员Connection结构绑定一个Router成员在Connection的方法中调用注册的Route
- 基于 .Net 的websocket服务端
Gene Z
.Net工具.netwebsocket网络协议
git仓库1、构建代码//Seehttps://aka.ms/new-console-templateformoreinformationusingSystem.Net;usingSystem.Net.WebSockets;usingSystem.Text;//WebSocket服务器地址和端口varserverUrl="http://localhost:5000/";varhttpListene
- MySQL快速搭建主从复制
枯河垂钓
MySQL主从复制mysql数据库dba
一、基于位点的主从复制部署流程确定主库Binlog是否开启修改主从server_id主库导出数据从库导入数据确定主库备份时的位点在从库配置主库信息查看复制状态并测试数据是否同步二、准备阶段(主库和从库配置都需要修改)1、确定主库Binlog是否开启2、修改主从server_id(建议修改成IP的后两段)select@@global.server_id;setglobalserver_id=5435
- 最节省成本的架构方案:无服务器架构
fxrz12
无服务云计算个人博客架构云原生serverless
无服务器架构(ServerlessArchitecture)是一种颠覆性的云计算执行模型,它允许开发者专注于编写和部署代码,而无需担心底层服务器基础设施的管理。这种架构以其按需付费、自动伸缩和简化部署等优势,在成本优化方面表现出色,成为越来越多企业降低IT成本、提升效率的首选方案。无服务器架构的成本优势相比传统架构,无服务器架构在成本控制方面具有显著优势:按需付费,避免资源浪费:传统架构需要为预先
- .NET 9 发布了,有哪些令人激动的特性?
向上的车轮
笔记.net
.NET9是微软宣布的最新版本,它被认为是迄今为止最高效、最现代、最安全、最智能、性能最高的.NET版本。一、.NET9的一些主要特点和改进性能提升:.NET9包含了超过1000项与性能相关的改进,这些改进覆盖了运行时、工作负载和语言,通过更高效的算法生成更好的代码。ServerGC(垃圾回收)经过重大改变,以适应应用程序的内存需求,而不是环境中可用的资源(内存和CPU)。TechEmpower基
- 高频Postman接口测试面试题
字节程序员
软件测试postmanlua测试工具软件测试
一、Postman在工作中使用流程是什么样的?新建集合管理根据接口所属的模块,在集合中不同模块下编写接口测试用例处理接口之间的数据关联操作添加环境变量在teststab下中增加断言调试接口,确保接口能被正常调用批量运行用例或者导出通过Newman去运行生成html报告二、你使用过Postman的哪些功能?自动化测试MockServer请求调试代理抓包环境变量设置用例导入与导出生成在线API文档三、
- Tp5 获取IPV6地址
君子……如玉
ThinkPHP5phpthinkphp
修改Request类ip()方法publicfunctionip($type=0,$adv=true){$type=$type?1:0;static$ip=null;if(null!==$ip){return$ip[$type];}$httpAgentIp=Config::get('http_agent_ip');if($httpAgentIp&&isset($_SERVER[$httpAgent
- 深入解析Redis:核心特性与应用场景
月落星还在
redisredis数据库缓存
1.Redis的本质与定位Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对存储系统,属于NoSQL数据库的范畴。与传统的关系型数据库(如MySQL)不同,Redis以极致的性能和灵活的数据结构为核心设计目标,被广泛应用于缓存、实时数据分析、消息队列等场景。核心定位:Redis并非替代传统数据库,而是作为高性能的数据中间层,解决磁盘存储无法满足的高并发、低延迟
- 使用Bulletproof Node.js打造坚如磐石的Web应用
谢璋声Shirley
使用BulletproofNode.js打造坚如磐石的Web应用bulletproof-nodejsImplementationofabulletproofnode.jsAPI️项目地址:https://gitcode.com/gh_mirrors/bu/bulletproof-nodejs是一个开源项目,它提供了一套最佳实践和模板,旨在帮助开发者构建安全、可扩展且易于维护的Node.js应用程序
- Bulletproof Node.js 项目教程
邴治盟Walton
BulletproofNode.js项目教程bulletproof-nodejsImplementationofabulletproofnode.jsAPI️项目地址:https://gitcode.com/gh_mirrors/bu/bulletproof-nodejs项目介绍BulletproofNode.js是一个基于Node.js的后端框架,旨在帮助开发者快速构建安全、可扩展的Web应用程
- 解决 ERROR 1130 (HY000): Host is not allowed to connect to this MySQL server
鸠摩智首席音效师
mysql
当使用MySQL时,您可能会遇到错误信息“ERROR1130(HY000):Host‘hostname’isnotallowedtoconnecttothisMySQLserver”这是MySQL用于防止未经授权的访问的标准安全特性。实际上,服务器还没有配置为接受来自相关主机的连接。CommonCauses:(1)ConnectionRestrictionsMySQL默认配置为只允许来自本地主机(
- Oracle ora12805,ORA-12805: parallel query server died unexpectedly ORA-04030 (sort subheap,sort key)...
王杰森
Oracleora12805
今日,某服务器pga调整为30G,_pga_max_size调整为8G之后(原来是2G,但是onepasses语句较多,性能太低),执行出现ORA-12805:parallelqueryserverdiedunexpectedly错误,即使仅使用了parallel(2),一发一收算4,而且pga_aggregate_target是个软限制,理论上不应该会出现才对,调整为6G之后依然如此。有些提及u
- linux系统监控shell脚本
shell系统监控
1.设置系统名称hostnamectlset-hostnameopenEuler-192-168-88-1232.设置时间同步①配置文件修改cp/etc/chrony.conf/etc/chrony.conf_defaultvi/etc/chrony.conf修改server即可,删掉其他的,添加要同步时间的源服务器ip,格式如下:serverx.x.x.xiburstpool10.238.104
- Linux C语言TCP协议实战
:눈_눈:
Linux系统编程linuxc语言tcp/ip
文章目录1.TCP简介2.搭建框图3.相关函数介绍3.1socket函数3.2bind函数3.3listen函数3.4accept函数3.5connect函数3.6send函数3.7recv函数3.8其他函数4.实战4.1一对一模型4.1.1server.c4.1.2client.c4.1.3终端结果4.2多进程模型4.2.1server.c4.2.2client.c4.2.3终端结果4.3多线程
- sql server 复制从备份初始化数据
woshilys
sqlserversqlserver
参考:从备份初始化订阅(事务)-SQLServer|MicrosoftLearnsqlserver复制默认是用快照初始化数据的,也支持从备份初始化数据,参考如上
- sql server 用户信息查询
woshilys
sqlserversqlserver
查询检查SQL用户密码策略信息select*fromsys.sysloginsSELECTname,is_policy_checked,is_expiration_checked,LOGINPROPERTY(name,'IsMustChange')ASIsMustChange,LOGINPROPERTY(name,'IsLocked')ASIsLocked,LOGINPROPERTY(name,'
- 查询0-60分,60-80分,80-90分,90-100分的人数及所占百分比
东方巴黎~Sunsiny
web
需求:查询0-60分,60-80分,80-90分,90-100分的人数及所占百分比0-60:及格60-80:良好80-90:优秀90-100:特优sql语句是:/*NavicatMySQLDataTransferSourceServer:localhostSourceServerVersion:50727SourceHost:localhost:3306SourceDatabase:fw_myba
- sql server 版本更新日期
woshilys
sqlserversqlserver
SQLServer2019内部版本(KB4518398)-SQLServer|MicrosoftLearnSQLServer的最新更新和版本历史记录-SQLServer|MicrosoftLearnsqlserver2019版本更新时间和补丁版本号
- SpringBoot启动端口配置
走在时光柱上的程序员
Javahttpsspringboot
###serverserver:port:443###端口配置,如果是https,80端口要配置成433address:0.0.0.0###服务地址,0.0.0.0表示内外网都可以访问,如果不配置Adress,端口可能不会生效servlet:context-path:/###url根路径tomcat:uri-encoding:UTF-8###编码ssl:###https配置protocol:TLS
- springboot端口指定无效
web18334137065
java
今天需要启动两个项目来调试各自的功能,结果因为springboot的默认端口占用导致不能同时启动。尝试修改application.yml的server.port配置之后还是无效后来才知道,server.port只能针对tomcat的服务器,如果是jetty的服务器,需要修改web的maven文件,在jettyplugin(org.eclipse.jetty)中添加。8089才可以成功。在此记录一下
- 配置Spring Boot应用程序端口的几种方式
华戈息息
书:《SpringBoot实战派》
如果不对端口进行配置,则springboo会启用默认的8080端口。如果想自定义端口,则有以下几种方式可以配置。方式一:通过配置文件使用配置文件是最常用的,这里以properties为例,yml的方式也一样,则可以在/src/main/resources/下的application.properties文件中加入配置项,如下面代码是配置8090端口:server.port=8090如果要配置spr
- 【SpringBoot】 配置文件的拆分
2301_78399805
程序员springboot后端java
profiles:active:devserver:port:8080#生产和测试为同一个端口生产配置文件:application-pord.ymlserver:servlet:context-path:/cmfz测试配置文件:application-dev.ymlserver:servlet:context-path:/springbootyml多文档块方式server:port:8081spr
- Html常用代码
坐吃山猪
前端Html
Html常用代码文章目录Html常用代码1-常用的Html代码1-Html模板2-快速部署Live-Server1-Windows系统步骤1:安装Node.js步骤2:安装`live-server`步骤3:使用`live-server`运行本地项目2-Mac系统步骤1:安装Node.js步骤2:安装`live-server`步骤3:使用`live-server`运行本地项目注意事项1-常用的Htm
- TCP 全连接队列与 tcpdump 抓包
ketil27
tcp/iptcpdump网络
TCP相关实验理解listen的第二个参数基于刚才封装的TcpSocket实现以下测试代码对于服务器,listen的第二个参数设置为1,并且不调用accepttest_server.ccC#include"tcp_socket.hpp"intmain(intargc,char*argv[]){if(argc!=3){printf("Usage./test_server[ip][port]\n");
- TCP的四次挥⼿为什么是四次?为什么不能是三 次
冰糖心书房
2025Java面试系列tcp/ip网络协议
TCP四次挥手(Four-wayHandshake)用于终止一个已经建立的TCP连接。之所以是四次挥手,而不是三次,是因为TCP是全双工的(full-duplex),这意味着数据可以在两个方向上同时传输。因此,关闭连接需要双方分别确认关闭请求。四次挥手的过程:FIN(Client->Server):客户端想要关闭连接(假设客户端主动关闭)。客户端发送一个FIN报文段(FIN=1,seq=u)到服务
- Kotlin观察者模式
tangweiguo03051987
kotlin观察者模式java
观察者模式是一种设计模式,它定义了对象之间的一对多依赖关系,当一个对象改变状态时,所有依赖于它的对象都会得到通知并自动更新。这种模式在许多编程场景中非常有用,例如事件处理、数据绑定和通知系统。观察者模式的主要组成部分主题(Subject):维护观察者的列表,并提供添加和删除观察者的方法。当主题的状态发生变化时,它会通知所有观察者。观察者(Observer):定义了一个更新接口,当主题状态发生变化时
- addPointers - overlap with incoming pointers 异常分析
惠(xi)斌
framework稳定性android
一.描述项目做老化测试,遇到systemserver重启,导致执行中间.报错信息:Buildfingerprint:'Dish/Spence/T715DS:15/AP3A.240905.015.A2/1732765343:user/release-keys'Revision:'0'ABI:'arm64'Timestamp:2024-12-0510:45:07.201198654+0800Proce
- 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