- uniapp 测试 IPA 包安装到测试 iPhone
一只月月鸟呀
uni-app#iOSuni-appiphoneios
将uniapp测试IPA包安装到测试iPhone有以下几种方法:使用Xcode安装确保计算机上安装了Xcode,并将iOS设备通过数据线连接到计算机。打开Xcode,在菜单栏中选择Window->DevicesandSimulators,在设备列表中找到要安装的iPhone。将IPA文件拖到Xcode的Devices窗口中的InstalledApps区域,Xcode将自动为设备安装IPA文件。使用
- chromedriver自动下载 —— python
(* ̄︶ ̄)(*^▽^*)
python开发语言
#工作实践webdriver自带的ChromeDriverManager().install()方法,对应的驱动地址自从114版本后没有更新了;隔一段时间就需要手动下载驱动,所以写了一个简单的自动更新方法,还有一些不足,勉强够用吧1、查看源码,大致是保存了一个json文件,每次获取driver最后更新版本,并更新到json文件中;然后下载最新的资源并解压到文件夹2、本来想改源码,但是有修改提示,考
- 如何用python将pdf转为text并提取其中的图片
dev.null
Pythonpythonpdf服务器
要将PDF转为文本并提取其中的图片,可以使用Python的几个库来实现:PDF转文本:使用PyMuPDF或pdfplumber来提取文本。提取图片:使用PyMuPDF或pdf2image来提取图像。以下是实现的步骤和代码示例:1.安装必要的库你需要安装以下库:pipinstallPyMuPDFpdfplumberPillow2.代码示例提取PDF中的文本你可以使用PyMuPDF或pdfplumbe
- Linux 常用工具(yum、vim、gcc、gdb、git)
东区东区!
Linuxlinux服务器
目录1.yum:软件包管理工具2.vim:linux下最受欢迎的命令行下的编辑器底行模式下的常见操作:普通模式下的常见操作:文本操作:其他操作:3.gcc/g++:编译器库4.gdb:调试器调试过程:5.项目的自动化构建工具make的解释执行规则:6.git项目的版本管理工具编辑1.yum:软件包管理工具查看搜索软件包:yumlistyumsearchkeyword安装软件包:yuminstall
- npm : 无法加载文件 D:\dev\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=1
学不完@根本学不完
npm前端node.js
vscode终端npminstall提示:npm:无法加载文件D:\dev\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅https:/go.microsoft.com/fwlink/?LinkID=1解决:
- Solidity开发之Foundry快速安装(Windows版)
这有一只小爪子
web3
目录VSCode安装WSLFoundry库安装Foundry测试案例ℹ️NoteIfyou’reonWindows,youwillneedtoinstallanduseGitBASHorWSL,asyourterminal,sinceFoundryupcurrentlydoesnotsupportPowershellorCmd.官方提示:如果当前使用的Windows操作系统,可以通过WSL的方式安
- 1.4常规es报错问题
AustinCien
ELFK运维elkelasticsearch
问题一:unabletoinstallsyscallfilter[2016-11-06T16:27:21,712][WARN][o.e.b.JNANatives]unabletoinstallsyscallfilter:Java.lang.UnsupportedOperationException:seccompunavailable:requireskernel3.5+withCONFIG_SE
- python创建Excel文件 xlwt
茂叶繁枝
pythonxlwtExcelpythonexcelpythonxlwt
这个功能并不难,但不知道方法的同学也是很苦恼的。由此记录一下我的环境为python2.7首先安装xlwtpipinstallxlwt然后直接看代码#-*-coding:utf-8-*-importxlwtfromxlwtimportWorkbookbook=Workbook(encoding='utf-8')sheet1=book.add_sheet('Sheet1')sheet1.write(0
- Python爬虫selenium框架基本使用
啧不应该啊
Python爬虫python爬虫selenium
一、安装导入使用包管理器安装pip3installselenium二、WebDriver工具要使用这个工具我们需要保证安装了一个浏览器的驱动器。Python的WebDriver是一个用于自动化Web浏览器操作的工具,它属于Selenium的一部分,特别是Selenium2.0及以后版本中,WebDriver已经成为了Selenium的主要组件。WebDriver为Web自动化提供了一个简单的接口,
- 【SQL数据库】MySQL的下载和使用(windows)
奖励0216
数据库sqlmysql
1在网页上搜索MySQLcommunity2点击mysqlcommunitydownloads3选择MySQLinstallerforwindows4选择上面那个download5不用登录6下载完就安装7Choosingasetuptype选custom就够了8selectproductsMySQLServes-MySQLServe8.0-选最上面的最新版-点右边的箭头,加入右边Applicati
- CMake学习记录
Spoon_94
C/C++CMake
参考文章:CMakePractice文章目录PROJECTSETMESSAGEADD_EXECUTABLE变量ADD_SUBDIRECTORYLIBRARY_OUTPUT_PATH/EXECUTABLE_OUTPUT_PATHINSTALL安装普通文件非目标文件的可执行程序安装(脚本)目录安装CMAKE脚本执行静态库与动态库SET_TARGET_PROPERTIESGET_TARGET_PROPE
- ubuntu安装配置docker
qq_32622799
ubuntudockereureka
这里不再进行分步解读了,所有操作见下面命令sudoapt-getupdatesudoapt-getinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg|sudogpg--dearmor-o/etc
- electron-builder打包配置说明
我们一般使用electron-builder对electron项目进行打包,在package.json中配置打包的详细操作pnpminstallelectron-builder-Dpackage.json中的详细字段解释:"build":{"appId":"your.id",//应用的唯一ID"productName":"YourProductName",//安装后生成的文件夹和快捷方式的名称"c
- 【Python】工作流:Jupyter Notebook、Airflow
浪子西科
Pythonpythonjupyter开发语言
工作流:JupyterNotebook、Airflow1.JupyterNotebook1.1安装可以使用pip或者conda进行安装。使用pip安装:pipinstallnotebook使用conda安装:condainstall-cconda-forgenotebook1.2基本概念Notebook文件:以.ipynb为扩展名,它是一个包含代码、文本(支持Markdown格式)、图像和计算结果
- axios请求和axios常见的请求方式
小 汐
前端javascript开发语言
1、axios请求下载和引入1.1、下载指令可以直接用下面指令或者也可以查看axios中文文档:axios中文文档|axios中文网|axios(axios-js.com)npminstallaxios可以简写成:npmiaxios1.2、axios的引入方式importaxiosfrom"axios"2、请求封装(最简单封装)2.1axios二次封装api封装一importaxiosfrom'a
- nodejs npm run build 打包压缩zip文件
xiaoxiao_0721
vue
步骤1:安装npminstallarchiver-D步骤2:根目录下新建zip.js,内容如下constfs=require('fs')constarchiver=require('archiver')//创建文件输出流letoutput=fs.createWriteStream(__dirname+'/dist.zip')letarchive=archiver(
- nodejs 的 npm install , npm run 问题 dev webpack-dev-server‘ 不是内部或外部命令,也不是可运行的程序
倾旎
nodejsvue
nodejs的npminstall,npmrun问题devwebpack-dev-server’不是内部或外部命令,也不是可运行的程序1.安装脚手架安装脚手架命令:npminstall-globalvue-cli2.升级脚手架有时候需要把整个脚手架升级一下,这个用到命令npminstall--globalvue-cli,这个命令会把整个脚手架升级一下,但是我发现使用上面npm-check命令可以把
- Yolov8分割训练自己的数据集记录
小俊俊的博客
yolov8分割训练自己的数据集
Yolov8分割训练自己的数据集记录第一章、标签制作一、安装labelmelabelme安装很简单,直接在终端输入:pipinstalllabelme启用labelme在终端输入:labelme接下来就是标注数据了。实例分割数据标注选择“创建多边形”标注就行。二、json转txt使用labelme标注的label数据格式为json格式,但是yolov8分割使用的依旧是txt格式。需要进行转换。转换
- Rocky Linux9下安装Docker和卸载Docker
Hadoop_Liang
dockerdocker容器运维
前提条件安装好RockyLinux9,可参考Vmware下安装RockyLinux9.4安装Docker精简版命令yuminstall-yyum-utilsyum-config-manager--add-repohttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyuminstall-ydocker-cesystemctl
- Git最佳实践指南(Windows/Linux双系统详解)
i建模
前端开发gitwindowslinuxweb
Git最佳实践指南:从入门到熟练(Windows/Linux双系统详解)一、环境搭建与基础配置(适用Windows/Linux)1.1Git安装与验证#Windows系统安装(推荐Chocolatey包管理)#直接下载git二进制文件安装包更方便chocoinstallgit#Linux系统安装(Debian系)sudoapt-getupdate&&sudoapt-getinstallgit#验证
- React + TypeScript 复杂布局开发实战
i建模
前端开发前端框架react
React+TypeScript复杂布局开发实战一、项目架构设计(基于最新技术栈)1.1技术选型与工程创建#使用Vite5.x+React19+TypeScript5.4npxcreate-vite@latestpower-designer-ui--templatereact-tscdpower-designer-ui&&npminstall#添加核心组件库npminstall@ant-desig
- MediaToolkit:.NET 开发者的多媒体处理工具
今晚打老虎z
.net
在开发过程中处理音频和视频文件是许多应用程序的重要功能。MediaToolkit是一个强大的库,帮助轻松处理这些多媒体文件。封装了FFmpeg的功能,使得复杂的任务变得简单。支持更多功能,如视频裁剪、缩略图提取和转码等。安装第一步,老规矩,先安装PM>Install-PackageMediaToolkit主要功能1.解析媒体元数据MediaToolkit可以解析媒体文件的元数据,视频的时长、分辨率
- 【R语言】在Jupyter Notebook中使用conda管理的R语言
小丫么小阿豪
R语言
Motivation忽然发现jupyter竟然能拿来写R,帮教授配了个环境结果g了,试了一下感觉像是conda管理包的问题,记录一下正确的步骤。步骤创建一个新conda环境condacreate-nr-kernel激活环境condaactivater-kernel安装JupyternotebookcondainstallJupyter安装Rkernel(好像下面两步可以替换为condainstal
- 在 Linux 系统上安装 Nginx
nginx
在Linux系统上安装Nginx的步骤如下,根据不同的发行版选择对应的方法:一、基于Debian/Ubuntu的系统1.更新软件包列表sudoaptupdate2.安装Nginxsudoaptinstallnginx3.启动并启用Nginxsudosystemctlstartnginx#启动服务sudosystemctlenablenginx#设置开机自启4.验证安装访问服务器IP或域名,查看是否
- Nginx+Promtail+Loki+Grafana Nginx日志展示
通过将Nginx、Promtail、Loki和Grafana结合在一起,你可以实现对Nginx日志的集中化管理、查询和可视化。下面是一步一步的安装和配置过程,详细介绍如何展示Nginx的日志。1.安装和配置Nginx首先,确保你的服务器上已经安装了Nginx,并配置日志格式使其与Promtail兼容。安装Nginx:sudoaptupdatesudoaptinstallnginx安装完成后,检查N
- K8S集群搭建(kubeadm+calico)
kubernetes
准备阶段环境显卡:4060ti系统:ubuntu22.041.安装docker官网安装步骤:#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://download.docker.
- Python命令速查
hongyuT
pythonPython
什么也不做donothingpass安装依赖sudoapt-getinstall-fpip更换源pipinstallpackage_name-ihttps://pypi.tuna.tsinghua.edu.cn/simplepip安装pip:python2.x:sudoaptinstallpython-pippython3.x:sudoaptinstallpython3-pip升级pip:pyth
- flash_attn安装出现的错误及本地安装package
flow_code
人工智能深度学习经验分享
前言flash_attn安装包是在大模型的建立过程中是一个非常重要的package,但是直接使用命令行安装会出现报错。1.报错直接安装:pipinstallflash_attn错误:Buildingwheelsforcollectedpackages:flash_attnBuildingwheelforflash_attn(setup.py)…errorerror:subprocess-exite
- flash_attn安装
壶小旭
PythonLinuxpython
flash_attn安装1.cuda-nvcc安装https://anaconda.org/nvidia/cuda-nvcc2.torch安装#https://pytorch.org/#找到对应cuda版本的torch进行安装pip3installtorchtorchvisiontorchaudio--index-urlhttps://download.pytorch.org/whl/cu1213
- 【python】flash-attn安装
x66ccff
python开发语言
这个命令:确保使用正确的CUDA12.6工具链设置必要的CUDA环境变量包含了常见的GPU架构支持利用你的128核心进行并行编译#清理之前的安装proxychains4pipuninstall-yflash-attn#获取CUDA路径CUDA_PATH=$(dirname$(dirname$(whichnvcc)))#使用proxychains4安装CUDA_HOME=$CUDA_PATH\TOR
- 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