turbinejava的简单介绍

博主:adminadmin 2023-03-20 11:17:09 240

本篇文章给大家谈谈turbinejava,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

apache开源项目有哪些

这个多了去了 ,apache 绝对是 开源里面的领头羊

for example:

分类 项目名 说明 开发语言

服务器

(共20) Apache HTTP Server 全球第一HTTP服务器 C/C++

Tomcat Java的Web服务器 Java

James 邮件服务器 Java

SpamAssassin 反垃圾邮件 C/C++

Perl Apache的Perl编程语言支持 C/C++

Tcl TCL脚本语言 C/C++

Directory Server 超级目录服务器 Java

Axis WebServic服务器 Java

Kandula Axis中WS-Coordination、WS-AtomicTransaction、WS-BusinessActivity协议的实现 Java

Muse Axis中WS-ResourceFramework (WSRF), WS-BaseNotification (WSN), and WS-DistributedManagement (WSDM) 标准的实现(该项目Logo是个不认识的古汉字) Java

Pubscribe Web Services Notification (WSN) 标准实现 Java

Sandesha WS-ReliableMessaging 标准实现 Java

WSS4J WS-Security 标准实现 Java

WSRF Web Services Resource Framework 标准实现 Java

Addressing WebService的WS-Addressing标准(IBM、微软、BEA发布)实现 Java

XML Security XML签名与加密标准的Java、C++实现 Java/C++

jUDDI UDDI的Java实现 Java

XML-RPC XML-RPC实现 Java

Derby 纯Java做的关系数据库 Java

Xindice XML数据库 Java

开发工具(共5) Ant 自动编译 Java

Maven 项目管理工具,比Ant强大,支持插件开发 Java

Gump 每日集成工具,支持Ant、Maven Python

JMeter Web应用性能测试 Java

DdlUtils 用XML来定义DDL Java

Web开发框架(共19) Struts MVC的Web开发框架 Java

Cocoon Web开发框架,基于可运行的XML管道语言 Java

FOP XSL-FO 打印与输出解决方案,基于Java Java

AxKit 基于XML的Web发布 Java

Tapestry Web开发框架 Java

Turbine Web开发框架 Java

Shale 基于JSF的Web开发框架 Java

MyFaces 第一个开源的JSF实现 Java

Beehive 基于Structs的J2EE框架,简化J2EE编程;含Web界面、WebService开发框架 Java

Velocity 模板引擎 Java

Portals 门户解决方案 Java

Cactus Web开发测试框架 Java

Forrest 基于Cocoon的Web发布解决方案 Java

Slide 内容管理,支持WebDAV Java

Jackrabbit 内容库,用于内容管理 Java

Lenya 内容管理,支持版本管理、工作流、所见所得编辑器 Java

Xang 基于JavaScript进行动态Web开发 Java

Xindice 纯XML数据库 Java

JCS 分布式Cache系统(Java Caching System) Java

容器(共7) Geronimo J2EE容器,类似JBoss Java

iBATIS 简单OR映射,有.NET版本 Java/C#

Torque OR映射 Java

ORB ObjectRelationalBridge,OR映射 Java

JDO JDO标准的一个实现 Java

HiveMind 类似Spring的东西,微内核DI容器 Java

Excalibur IoC容器 Java

组件(共82) APR 不同操作系统间可移植运行时库 C/C++

Regexp Java正则表达式 Java

ORO Perl风格的正则表达式 Java

Xerces XML解析,Java/C两种版本 Java/C++

Crimson XML解析器 Java

AXIOM 更高效的DOM实现 Java

Lucene 全文检索,有.NET版本 Java/C#

Logging 不仅Log4j,各个语言的版本都有了 Java/C++/Perl/C#

XMLBeans XML转对象 Java

JaxMe Java/XML绑定的实现 Java

Taglibs JSP Tag库 Java

HttpComponents HTTP访问控件 Java

ECS 辅助生成标签(Element Construction Set) Java

WSIF WebService调用(Web Services Invocation Framework) Java

SOAP SOAP标准实现 Java

Woden WSDL书写工具 Java

Tuscany 简化SOA开发 Java

MIRAE 让手机支持基于XML的服务 Java

BSF 脚本语言框架(Bean Scripting Framework),支持JavaScript等多种脚本语言 Java

BCEL 用于直接生成字节码(Byte Code Engineering Library) Java

POI 存取Office文档 Java

Batik JAVA的SVG实现 Java

Attributes 访问Java 1.5语言中定义的meta 这些项目都在jakarta commons中,都是Java的

BeanUtils 反射支持

Betwixt XML/JavaBean转换

Chain 职责链模式实现

CLI 命令行参数解析

Codec 通用加密/加密算法

Collections Java容器类完善扩充

Configuration 各种来源配置文件存取

Daemon Java模拟Unix的Daemon

DBCP 数据链连接池

DbUtils JDBC辅助类

Digester XML到Java对象映射工具

Discovery 根据名称来查找资源

EL JSP 2.0 表达式标准实现

Email 发送Email类

FileUpload 文件上传辅助类

HttpClient HTTP客户端

IO IO操作辅助类

Jelly 基于XML的脚本引擎

Jexl JSTL 表达式语言扩展

JXPath 用XPath语言来操作对象的辅助类

Lang java.lang.类扩充

Launcher 跨平台Java应用启动器

Logging 不同Log实现的封装

Math 数学、统计辅助类

Modeler 创建兼容JMX标准的MBeans

Net 各种网络协议实现

Pool 对象池

Primitives 很小的Java原始对象类型操作辅助类

SCXML 状态图XML标准实现

Transaction 多层次容器、文件操作事务支持

Validator 用XML定义校验器和校验规则

VFS 虚拟文件系统用于操作FTP、SMB、Zip等

Compress tar、zip、bzip2压缩格式文件操作 这些项目都在jakarta commons中的Sandbox中

CSV CSV文件格式支持

Exec 外部进程执行和环境设置辅助类

Finder 模拟Unix find命令

I18n 国际化辅助类

Id 生成ID辅助类

Javaflow 应用状态管理

JCI Java编译器接口

OpenPGP OpenPGP封装

Pipeline 管道辅助类用于并行或者顺序操作数据

Proxy 动态代码生成辅助类

Cache 对象缓存服务 这些项目都在jakarta commons中的Dormant(睡眠)中

Clazz class操作和反射操作

Contract 契约编程用到Java中

Convert Java对象类西转换辅助类

Events 事件管理容器

Feedparser RSS和Atom实现

Functor 用对象方式来操作函数

JJar Jar操作

Latka HTTP功能测试

Mapper 简单封装后可以选择不同的对象映射实现

Messenger JMS用于Web开发中的辅助类

Resources 国际化资源信息查找

Scaffold Web应用开发工具

ThreadPool 线程池

Workflow 工作流管理系统框架

XMLIO XML配置快速简便导入

java.lang.ExceptionInInitializerError

1 如楼上所说,你的 lucene.jar的版本不对

2 更大的可能,你根本没有把这个jar放到CLASSPATH里面,比如

tomcat/shared/lib

或者你的项目的

WEB-INF/lib

目录下面

java开源的其它

Quartz 【Java开源 Job调度】

Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。

Velocity 【Java开源 模板引擎】

Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。 当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。 【VeloEclipse :Velocity在Eclipse平台下的一个辅助开发插件】

Roller Weblogger 【Java开源 Blog博客】

这个weblogging 设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。

XPlanner 【Java开源 项目管理】

XPlanner 一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。

JOnAS 【Java开源 J2EE服务器】

JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。

FreeMarker 【Java开源 模板引擎】

FreeMarker允许Java servlet保持图形设计同应用程序逻辑的分离,这是通过在模板中密封HTML完成的。模板用servlet提供的数据动态地生成 HTML。模板语言是强大的直观的,编译器速度快,输出接近静态HTML页面的速度。

【FreeMarker Eclipse Plugin与FreeMarker IDE:Eclipse平台下的辅助开发工具】

Lucene 【Java开源 全文检索】

Apache Lucene是一个开放源程序的搜寻器引擎,利用它可以轻易地为Java软件加入全文搜寻功能。Lucene的最主要工作是替文件的每一个字作索引,索引让搜寻的效率比传统的逐字比较大大提高,Lucen提供一组解读,过滤,分析文件,编排和使用索引的API,它的强大之处除了高效和简单外,是最重要的是使使用者可以随时应自己需要自订其功能。

Beanshell 【Java开源 动态语言】

Beanshell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。它将脚本化对象看作简单闭包方法(simple method closure)来支持,就如同在Perl和JavaScript中的一样。 它具有以下的一些特点:使用Java反射API以提供Java语句和表达式的实时解释执行;可以透明地访问任何Java对象和API;可以在命令行模式、控制台模式、小程序模式和远程线程服务器模式等四种模式下面运行;与在应用程序中一样,可以在小程序中(Applet)正常运行(无需编译器或者类装载器);非常精简的解释器jar文件大小为175k

Big Two 【Java开源 Java游戏】

采用Java开发的中国式纸牌升级游戏。源码下载

JBoss SSO Framework 【Java开源 身份认证管理】

JBoss SSO Framework是一个组件集能够很容易集成到现有的web应用中提供单一登录功能.该框架已经能够支持一些重要的SSO标准如SAML。整个系统包括以下组件:

1.联合服务器(Federation Server)– 一个联合服务器用于为放置在不同安全域(security domain)中的web应用程序安全地传播Federation Token。

2.Token编排框架(Token Marshalling Framework)– 这是一组灵活的/可插件的Java API用来marshal/unmarshal一个Federation Token。该系统默认提供一个SAML兼容的编排器(Marshaller) 。

3.身份管管理框架(Identity Management Framework)–这是一组灵活的/可插件的Java API用来连接中中央身份存储库(Identity Store)。该系统默认提供一个Provider来连接基于LDAP的身份存储库。

JawFlow 【Java开源 开源工作流】

JawFlow是一个部分遵循WfMC规范,采用JMX技术开发的工作流引擎。它能够解析XPDL,并能够用Java或BSF支持的脚本语言来自定义行为。

rails-asyncweb 【Java开源 Web服务器】

用于JRuby on Rails的一个快速Http服务器。

jBatchEngine 【Java开源 Job调度】

jBatchEngine是一个采用Java开发的批任务spooler。jBatchEngine与其它以时间为驱动的Job调度引擎不同之处在于它是以事件以驱动,可用于启动任何批处理程序。jBatchEngine可以安装成一个Windows Service或一个Unix Daemon。

Gant 【Java开源 项目构建】

Gant是一个基于Ant的构建工具,它采用Groovy脚本代替XML来编写构建逻辑。 Gant完全依赖于Ant task来做真正的事情,所以你如果用Ant实现构建,但不喜欢用XML构建文件,Gant是一个不错的选择。

Jaxmao 【Java开源 Web服务器】

Tomcat是开源的JSP/Servlet服务器。多年的开发使Tomcat已越来越完善,被越来越多的网站采用。Jaxmao(中文版Tomcat)项目的任务是为Tomcat提供一个友好的中文界面,推广Tomcat在中文JSP/Serlet 开发者中的使用。

Metanotion BlockFile 【Java开源 DBMS数据库】

BlockFile一个100%纯Java,轻量级,单个文件嵌入式数据库。它的功能介于SQLite与BerkeleyDB之间。专门为PDA和Mobile应用程序而开发。

JRuleEngine 【Java开源 规则引擎】

JRuleEngine基于JSR94规范的java规则引擎。

JBasic 【Java开源 动态语言】

JBasic是一个完全采用Java开发的BASIC语言解释器。JBasic可运行在大部分Unix系统(包括Mac OS X),Windows command shell,或VMS DCL command line。

jSoapServer 【Java开源 Web Service】

jSoapServer这个Java类包可以集成到Java应用程序中为外部程序提供一个SOAP接口。jSoapServer是一个独立的SOAP服务器,因此不需要让Java程序运行在像Tomcat这样的容器中。

Artistic Style 【Java开源 代码优化】

Artistic Style是一个C,C++,C#和Java源代码缩排/格式化/美化工具。

JLoom 【Java开源 模板引擎】

JLoom是一个采用类似于JSP语法的模板引擎。参数可以是任何Java类型,甚至是泛型(generic)。JLoom还提供一个Eclipse插件来辅助开发。

Liquid lookfeel 【Java开源 Swing外观】

基于Mosfet Liquid KDE 3.x主题的Swing外观。

MicroNova YUZU 【Java开源 JSP标签】

MicroNova YUZU开源基于EL的JSP标签库。这是一个增强的JSTL(兼容JSP1.2与JSP 2.0)。

java框架有哪些常用框架?

十大常用框架:

一、SpringMVC

二、Spring

三、Mybatis

四、Dubbo

五、Maven

六、RabbitMQ

七、Log4j

八、Ehcache

九、Redis

十、Shiro

延展阅读:

一、SpringMVC

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

模型(Model )封装了应用程序的数据和一般他们会组成的POJO。

视图(View)是负责呈现模型数据和一般它生成的HTML输出,客户端的浏览器能够解释。

控制器(Controller )负责处理用户的请求,并建立适当的模型,并把它传递给视图渲染。

Spring的web模型 - 视图 - 控制器(MVC)框架是围绕着处理所有的HTTP请求和响应的DispatcherServlet的设计。

Spring Web MVC处理请求的流程

具体执行步骤如下:

1、 首先用户发送请求————前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;

2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;

3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;

4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。

二、Spring

2.1、IOC容器:

IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。应用程序无需直接在代码中new相关的对象,应用程序由IOC容器进行组装。在Spring中BeanFactory是IOC容器的实际代表者。

2.2、AOP:

简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可操作性和可维护性。AOP代表的是一个横向的关系

AOP用来封装横切关注点,具体可以在下面的场景中使用:

Authentication 权限 

Caching 缓存 

Context passing 内容传递 

Error handling 错误处理 

Lazy loading 懒加载 

Debugging调试 

logging, tracing, profiling and monitoring 记录跟踪 优化 校准 

Performance optimization 性能优化 

Persistence持久化 

Resource pooling 资源池 

Synchronization 同步 

Transactions 事务

三、Mybatis

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

总体流程:

(1)加载配置并初始化 

触发条件:加载配置文件 

将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中。

(2)接收调用请求 

触发条件:调用Mybatis提供的API 

传入参数:为SQL的ID和传入参数对象 

处理过程:将请求传递给下层的请求处理层进行处理。

(3)处理操作请求 触发条件:API接口层传递请求过来 

传入参数:为SQL的ID和传入参数对象

处理过程:

(A)根据SQL的ID查找对应的MappedStatement对象。

(B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。

(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。

(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果。

(E)释放连接资源。

(4)返回处理结果将最终的处理结果返回。

MyBatis 最强大的特性之一就是它的动态语句功能。如果您以前有使用JDBC或者类似框架的经历,您就会明白把SQL语句条件连接在一起是多么的痛苦,要确保不能忘记空格或者不要在columns列后面省略一个逗号等。动态语句能够完全解决掉这些痛苦。

四、Dubbo

Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC(远程过程调用协议)远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架。

1、透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。

2、软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。

3、 服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。

节点角色说明: 

Provider: 暴露服务的服务提供方。 

Consumer: 调用远程服务的服务消费方。 

Registry: 服务注册与发现的注册中心。 

Monitor: 统计服务的调用次调和调用时间的监控中心。 

Container: 服务运行容器。

五、Maven

Maven这个个项目管理和构建自动化工具,越来越多的开发人员使用它来管理项目中的jar包。但是对于我们程序员来说,我们最关心的是它的项目构建功能。

六、RabbitMQ

消息队列一般是在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。

RabbitMQ是用Erlang实现的一个高并发高可靠AMQP消息队列服务器。

Erlang是一门动态类型的函数式编程语言。对应到Erlang里,每个Actor对应着一个Erlang进程,进程之间通过消息传递进行通信。相比共享内存,进程间通过消息传递来通信带来的直接好处就是消除了直接的锁开销(不考虑Erlang虚拟机底层实现中的锁应用)。

AMQP(Advanced Message Queue Protocol)定义了一种消息系统规范。这个规范描述了在一个分布式的系统中各个子系统如何通过消息交互。

七、Log4j

日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。

八、Ehcache

EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。Ehcache是一种广泛使用的开源Java分布式缓存。主要面向通用缓存,Java EE和轻量级容器。它具有内存和磁盘存储,缓存加载器,缓存扩展,缓存异常处理程序,一个gzip缓存servlet过滤器,支持REST和SOAP api等特点。

优点: 

1、 快速 

2、 简单 

3、 多种缓存策略 

4、缓存数据有两级:内存和磁盘,因此无需担心容量问题 

5、 缓存数据会在虚拟机重启的过程中写入磁盘 

6、可以通过RMI、可插入API等方式进行分布式缓存 

7、 具有缓存和缓存管理器的侦听接口 

8、支持多缓存管理器实例,以及一个实例的多个缓存区域 

9、提供Hibernate的缓存实现

缺点: 

1、使用磁盘Cache的时候非常占用磁盘空间:这是因为DiskCache的算法简单,该算法简单也导致Cache的效率非常高。它只是对元素直接追加存储。因此搜索元素的时候非常的快。如果使用DiskCache的,在很频繁的应用中,很快磁盘会满。

2、 不能保证数据的安全:当突然kill掉java的时候,可能会产生冲突,EhCache的解决方法是如果文件冲突了,则重建cache。这对于Cache数据需要保存的时候可能不利。当然,Cache只是简单的加速,而不能保证数据的安全。如果想保证数据的存储安全,可以使用Bekeley DB Java Edition版本。这是个嵌入式数据库。可以确保存储安全和空间的利用率。

九、Redis

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

Redis数据库完全在内存中,使用磁盘仅用于持久性。相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。Redis可以将数据复制到任意数量的从服务器。

1.2、Redis优点:

(1)异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。

(2)支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

(3)操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

(4)多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

1.3、Redis缺点: 

(1)单线程 

(2)耗内存

十、Shiro

Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权。Shiro在JavaSE和JavaEE项目中都可以使用。它主要用来处理身份认证,授权,企业会话管理和加密等。Shiro的具体功能点如下:

(1)身份认证/登录,验证用户是不是拥有相应的身份;

(2)授权,即权限验证,验证某个已认证的用户是否拥有某个权限;即判断用户是否能做事情,常见的如:验证某个用户是否拥有某个角色。或者细粒度的验证某个用户对某个资源是否具有某个权限;

(3)会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中;会话可以是普通JavaSE环境的,也可以是如Web环境的;

(4)加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储;

(5)Web支持,可以非常容易的集成到Web环境; 

Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率;

(6)shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

(7)提供测试支持;

(8)允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

(9)记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。

turbinejava的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、turbinejava的信息别忘了在本站进行查找喔。