easyjweb-0.7.0版本发布

2024-01-11 23:32
文章标签 发布 版本 0.7 easyjweb

本文主要是介绍easyjweb-0.7.0版本发布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Easyjweb-0.7easyjweb-0.6的版本上做了一些改进:

主要的功能改变有:

1,  去掉了0.6版本比较难于使用的intercpetor,增加了在执行Action前后的intercptor

2,  增加了主题功能的支持;

3,  增加了基于interceptor的权限或者安全控制接口;

4,  增加了ErrorHandler来统一管理框架中的错误的处理逻辑;

5,  增加了ForbitRep机制来禁止用户重复提交表单;

6,  改进了hello应用;

 

使用方法:

1,  interceptor是需要实现ActionIntercptor接口,该接口提供了在执行action之前和之后的拦截操作;并且提供了三个该接口的最简单的实现,你可以选择继承来实现之前,之后,或者两者的拦截器;在hello应用中,我们实现了一个TimeInterceptor,用来控制在一定时间范围内的访问请求;

2,  theme的功能,你可以根据自己的需要实现IThemeManager接口和ITheme接口。IthemeManager接口是需要根据某种策略从request中返回一个ITheme对象。ITheme对象中定义了返回到视图中的样式的Map。我们提供了一个通过properties文件来简单的实现主题的切换的类,你只需要把自己不同的样式以properties文件保存为theme_themeName.properties文件,并在请求中使用theme=themeName就可以获得该主题的样式,并且在没有改参数请求的时候,保持上一个请求的样式。在hello应用中我们也实现了一个这个功能的简单演示。

3,  权限控制是基于interceptor的,你只需要实现Icondition接口来实现自己对一个请求的判断,如果不通过抛出一个SecurityException即可,通过返回true。同样我们实现了一个基于properties文件的类,你需要把一个url样式和一个Icondition对象联系起来,保存到web-inf /url2ConditionMap.properties文件。在hello实例中,我们实现了一个简单的权限控制拦截。

4,  ErrorHandler统一管理的应用中的错误;你只需要在合时的地方抛出你的错误,并使用一个与之对应的实现了IerrorHandler接口的类来处理该错误即可。在IerrorHandler中,允许返回一个Page对象,来合成错误的视图。我们同样也实现了一个基于properties文件的ErrorHandlerManager类,你可以在web-inf/ErrorHandlerMap.properties文件中定义错误的类型和他对应的错误处理类。在hello实例中,我们也给出了一个简单的错误处理的应用。

5,ForbitRep机制使用ForbitRepProcessor方法根据用户的会话ID和系统时间智能生成一个十六进制的ID,用户只要在自己的表单里添加一个input type=hide,value=forbit的字段就可以解决重复提交的问题。

6,  现在的hello应用,包括了最新的4个功能的简单的例子。这4个新的功能,我们都作了默认的设置,你只需要简单的添加最少的配置文件和实现类来使用这些比较适用的功能。

 

对于新功能的更多的使用方法,参见相关的文章。也希望你在使用框架时,能发现并及时反馈错误信息,你对新的版本的功能的意见;或者提交你的改进代码,使框架能更完善及易用。下载Easyjf-jweb0.7.0

 

这篇关于easyjweb-0.7.0版本发布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/596067

相关文章

golang1.23版本之前 Timer Reset方法无法正确使用

《golang1.23版本之前TimerReset方法无法正确使用》在Go1.23之前,使用`time.Reset`函数时需要先调用`Stop`并明确从timer的channel中抽取出东西,以避... 目录golang1.23 之前 Reset ​到底有什么问题golang1.23 之前到底应该如何正确的

IDEA如何切换数据库版本mysql5或mysql8

《IDEA如何切换数据库版本mysql5或mysql8》本文介绍了如何将IntelliJIDEA从MySQL5切换到MySQL8的详细步骤,包括下载MySQL8、安装、配置、停止旧服务、启动新服务以及... 目录问题描述解决方案第一步第二步第三步第四步第五步总结问题描述最近想开发一个新应用,想使用mysq

java脚本使用不同版本jdk的说明介绍

《java脚本使用不同版本jdk的说明介绍》本文介绍了在Java中执行JavaScript脚本的几种方式,包括使用ScriptEngine、Nashorn和GraalVM,ScriptEngine适用... 目录Java脚本使用不同版本jdk的说明1.使用ScriptEngine执行javascript2.

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Linux Mint Xia 22.1重磅发布: 重要更新一览

《LinuxMintXia22.1重磅发布:重要更新一览》Beta版LinuxMint“Xia”22.1发布,新版本基于Ubuntu24.04,内核版本为Linux6.8,这... linux Mint 22.1「Xia」正式发布啦!这次更新带来了诸多优化和改进,进一步巩固了 Mint 在 Linux 桌面

多模块的springboot项目发布指定模块的脚本方式

《多模块的springboot项目发布指定模块的脚本方式》该文章主要介绍了如何在多模块的SpringBoot项目中发布指定模块的脚本,作者原先的脚本会清理并编译所有模块,导致发布时间过长,通过简化脚本... 目录多模块的springboot项目发布指定模块的脚本1、不计成本地全部发布2、指定模块发布总结多模

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

什么是 Ubuntu LTS?Ubuntu LTS和普通版本区别对比

《什么是UbuntuLTS?UbuntuLTS和普通版本区别对比》UbuntuLTS是Ubuntu操作系统的一个特殊版本,旨在提供更长时间的支持和稳定性,与常规的Ubuntu版本相比,LTS版... 如果你正打算安装 Ubuntu 系统,可能会被「LTS 版本」和「普通版本」给搞得一头雾水吧?尤其是对于刚入

windows端python版本管理工具pyenv-win安装使用

《windows端python版本管理工具pyenv-win安装使用》:本文主要介绍如何通过git方式下载和配置pyenv-win,包括下载、克隆仓库、配置环境变量等步骤,同时还详细介绍了如何使用... 目录pyenv-win 下载配置环境变量使用 pyenv-win 管理 python 版本一、安装 和