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

相关文章

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

IIS 7.0 及更高版本中的 FTP 状态代码

《IIS7.0及更高版本中的FTP状态代码》本文介绍IIS7.0中的FTP状态代码,方便大家在使用iis中发现ftp的问题... 简介尝试使用 FTP 访问运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上的内容时,IIS 将返回指示响应状态的数字代

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

查看MySQL数据库版本的四种方法

《查看MySQL数据库版本的四种方法》查看MySQL数据库的版本信息可以通过多种方法实现,包括使用命令行工具、SQL查询语句和图形化管理工具等,以下是详细的步骤和示例代码,需要的朋友可以参考下... 目录方法一:使用命令行工具1. 使用 mysql 命令示例:方法二:使用 mysqladmin 命令示例:方

Java版本不兼容问题详细解决方案步骤

《Java版本不兼容问题详细解决方案步骤》:本文主要介绍Java版本不兼容问题解决的相关资料,详细分析了问题原因,并提供了解决方案,包括统一JDK版本、修改项目配置和清理旧版本残留等步骤,需要的朋... 目录错误原因分析解决方案步骤第一步:统一 JDK 版本第二步:修改项目配置第三步:清理旧版本残留兼容性对

Maven 依赖发布与仓库治理的过程解析

《Maven依赖发布与仓库治理的过程解析》:本文主要介绍Maven依赖发布与仓库治理的过程解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录Maven 依赖发布与仓库治理引言第一章:distributionManagement配置的工程化实践1