Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

使用struts1+注解做权限管理

使用struts1+注解做权限管理

实现思想:1. 写一个接受用户请求的action,继承DispatchAction,然后这个action里面处理各种业务需求,比如说add,delete等等,在各个方法上添加注解,然后在调用这个action的方法时检查有没有注解。2. 关键是要弄明白是谁调的action?查看有没有注解的代码怎么写?写在哪?3. 首先要弄明白struts1的流程,用户请求提交给ActionServlet之后,ActionServlet调用requestProcessor这个...
Struts1运用Java注解实现简单的权限控制

Struts1运用Java注解实现简单的权限控制

看到标题,不要以为看错,没错,就是Struts1! 对于一个目前只能编码的人来说,在公司做项目,技术框架基本不会是你自己决定的。唉,最近的一个项目,他们要求就是要用Struts1,对于我刚接触Struts就是版本2的人来说,Struts1几乎就没再关注过,而且大家也应该都了解Struts1与Struts2的区别到底有多大。一把辛酸泪,就不多说了。 闲话不说,先说下需求。 由于项目规模不大,要求加入简单的权限管理,要求是, 1.不同权限角色进入系统后,显示对...
Bootloader设计

Bootloader设计

引导加载程序是系统加电后运行的第一段代码。我们熟悉的 PC 中的引导程序一般由BIOS(Basic Input/Output System) 和位于 MBR(Master boot record) 的 OS bootloader(例如 LILO 或者 GRUB)一起组成。然而在嵌入式系统中通常没有像 BIOS 那样的固件程序,因此整个系统的加载启动任务就完全由 bootloader 来完成。设计bootloader的主要目的在于初始化系统的软硬件环境进行引...
ARM汇编语言(Assembly Language)

ARM汇编语言(Assembly Language)

ARM汇编语言(Assembly Language)是ARM CPU所能接受的最底层唯一语言(所有的高级语言最终都要转换成汇编语言然后汇编成processor instruction codes)。ARM汇编的核心是ARM指令集。理解ARM汇编有助于理解底层processor内部的工作原理,有助于对高级语言的优化。由于ARM汇编小、快的特点,经常被用在processor的初始化配置中(常见于bootloader、kernel的初始化代码)。ARM Asse...
内存管理单元MMU(memory management unit)

内存管理单元MMU(memory management unit)

内存管理单元MMU(memory management unit)的主要功能是虚拟地址(virtual memory addresses)到物理地址(physical addresses)的转换。除此之外,它还可以实现内存保护(memory protection)、缓存控制(cache control)、总线仲裁(bus arbitration)以及存储体切换(bank switching)。工作机制CPU将要请求的虚拟地址传给MMU,然后MMU先在高速缓...
OK6410,MMU,内存管理 杂谈

OK6410,MMU,内存管理 杂谈

一、MMU学习 MMU其实就是一个页表。将虚拟地址通过查表的方式,对应到物理地址去他由一个或一组芯片组成,一般存在与协处理器中。 1.将虚拟地址转化为物理地址 2.访问权限管理1.1得出mmu功能 这个图就说明了MMU的作用: 有三个任务在运行,运行的地址都是0x400000,如果不进行处理,肯定是不行的。所以加入了MMU,MMU其实就是一个页表。将虚拟地址通过查表的方式,对应到物理地址去。虽然三个任务的运行地址都是0x400000,但是这个地址...
使用Python crontab设置Linux定时任务

使用Python crontab设置Linux定时任务

熟悉Linux的朋友应该知道在Linux中可以使用crontab设置定时任务。可以通过命令crontab -e编写任务。当然也可以直接写配置文件设置任务。但是有时候希望通过脚本自动设置,比如我们应用程序部署时等。有需求当然就得想办法解决,不然在程序猿界混(一群自得其乐的猿)。下面进入正题,开始想通过以写文件的形式设置,通过在配置文件中直接追加一行即可。但是读写文件难免有点繁琐,再比如:设置任务时要检查任务是否已经存在;根据输入参数设置相应的任务等。以读写文...
Linux设备驱动之阻塞I/O与异步通知

Linux设备驱动之阻塞I/O与异步通知

阻塞与非阻塞访问是 I/O 操作的两种不同模式,前者在 I/O 操作暂时不可进行时会让进程睡眠,后者则不然。在设备驱动中阻塞 I/O一般基于等待队列来实现,等待队列可用于同步驱动中事件发生的先后顺序。使用非阻塞 I/O 的应用程序也可借助轮询函数来查询设备是否能立即被访问,用户空间调用 select()和 poll()接口,设备驱动提供 poll()函数。设备驱动的 poll()本身不会阻塞,但是 poll()和 select()系统调用则会阻塞地等待文件...
Java IO流 之 字符流

Java IO流 之 字符流

字符流 :读的也是二进制文件,他会帮我们解码成我们看的懂的字符。字符流 = 字节流 + 解码(一)字符输入流:Reader : 它是字符输入流的根类 ,是抽象类 FileReader :文件字符输入流 ,读取字符串。 用法: 1.找到目标文件 2.建立数据的通道 3.建立一个缓冲区 4.读取数据 5.关闭资源。(二)字符流输出流: Writer : 字符输出流的根类 ,抽象的类 FileWiter :文件数据的输出字...
自定义Spring Security权限控制管理(实战篇)

自定义Spring Security权限控制管理(实战篇)

上篇《Spring Security权限管理(源码)杂谈》介绍了Spring Security权限控制管理的源码及实现,然而某些情况下,它默认的实现并不能满足我们项目的实际需求,有时候需要做一些自己的实现,本次将围绕上次的内容进行一次项目实战。实战背景背景描述项目中需要做细粒的权限控制,细微至url + httpmethod (满足restful,例如: https://.../xxx/users/1, 某些角色只能查看(HTTP GET), 而无权进行增...
SpringMVC错误页面配置

SpringMVC错误页面配置

当前SpringMVC非常流行,在大多数情况,我们都需要自定义一些错误页面(例如:401, 402, 403, 500…),以便更友好的提示。对于spring mvc,这些当然是支持自定义的,spring是怎么做的? 还是去看看spring的源码吧:原理DispatcherServlet众所周知,springmvc的入口是DispatcherServlet, 在DispatcherServlet的源码中,不知你是否注意到了以下方法:prote...
C++实现输入多行数字到数组

C++实现输入多行数字到数组

前天做某公司笔试题的时候,其输入格式是多行数字,每行以空格为分隔符,以换行符号为结束输入到多个数组。在JAVA中有相应的函数直接将一行拆成数组,感觉在C++中这中输入方式还是挺奇怪的,今天想出一种解决方式。思路:每次读入一个字符,判断是不是EOF,如果是的话跳出循环;不是EOF将字符放回缓冲区;读入换行符,说明一行结束,处理数组;读入字符,如果不是空格,存入一个临时的字符串;如果是空格,字符串转换成整数并压入数组;注意:对于连续的空格输入要进行判断,否则会...
<< 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 >>