package com.oda.base.util;
import java.beans.IntrospectionException;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.json.JSONObject;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.oda.base.exception.ServiceException;
import com.oda.base.exception.UtilException;
/**
*
* @author xiaoming
* @since JDK 1.7
*
*/
public class RequestUtil {
private final static Logger log = Logger.getLogger(RequestUtil.class);
static final String KW_DASH = "-";
public static Object fetchParameter(Class<?> clazz, final HttpServletRequest request) throws UtilException {
Object object = null;
try {
object = clazz.newInstance();
if (object == null) return null;
// ------------------------------------------------------------------------------------------
fetchClassFieldParams(object, clazz, request);
} catch (InstantiationException e) {
throw new UtilException(e);
} catch (IllegalAccessException e) {
throw new UtilException(e);
} catch (IntrospectionException e) {
throw new UtilException(e);
} catch (IllegalArgumentException e) {
throw new UtilException(e);
} catch (InvocationTargetException e) {
throw new UtilException(e);
}
// ------------------------------------------------------------------------------------------
return object;
}
public static void fetchClassFieldParams(Object object, Class<?> clazz, final HttpServletRequest request) throws IntrospectionException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
if (clazz == null || clazz.isPrimitive()) return;
// ------------------------------------------------------------------------------------------------------------------------------------
Field[] fields = clazz.getDeclaredFields();
// ------------------------------------------------------------------------------------------------------------------------------------
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
Type type = field.getGenericType();
if (Modifier.isStatic(field.getModifiers())) continue;
// ------------------------------------------------------------------------------------------------------------------------------------
String fieldName = field.getName();
String valueStr = request.getParameter(fieldName);
if (valueStr == null) continue;
// ------------------------------------------------------------------------------------------------------------------------------------
Object value = processValue(type, valueStr);
// ------------------------------------------------------------------------------------------------------------------------------------
PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, clazz);
Method method = descriptor.getWriteMethod();
if (method == null) continue;
// ------------------------------------------------------------------------------------------------------------------------------------
method.invoke(object, value);
}
// ------------------------------------------------------------------------------------------------------------------------------------
fetchClassFieldParams(object, clazz.getSuperclass(), request);
}
public static Object fetchParameter(Object object, final MultipartHttpServletRequest request) throws UtilException {
try {
if (object == null) return null;
if (object.getClass().isPrimitive()) throw new UtilException("Unsupported object class '" + object.getClass().getName() + "'.");
// ------------------------------------------------------------------------------------------
Field[] fields = object.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
Type type = field.getGenericType();
if (Modifier.isStatic(field.getModifiers())) continue;
String fieldName = field.getName();
String valueStr = request.getParameter(fieldName);
if (valueStr == null) continue;
Object value = processValue(type, valueStr);
// ------------------------------------------------------------------------------------------------------------------------------------
PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, object.getClass());
Method method = descriptor.getWriteMethod();
if (method == null) continue;
method.invoke(object, value);
}
} catch (IllegalAccessException e) {
throw new UtilException(e);
} catch (IntrospectionException e) {
throw new UtilException(e);
} catch (IllegalArgumentException e) {
throw new UtilException(e);
} catch (InvocationTargetException e) {
throw new UtilException(e);
}
// ------------------------------------------------------------------------------------------
return object;
}
public static Object fetchParameter(Class<?> clazz, int index, final HttpServletRequest request) throws UtilException {
Object object = null;
try {
object = clazz.newInstance();
if (object == null) return null;
// ------------------------------------------------------------------------------------------
fetchParameter(object, clazz, index, request);
} catch (InstantiationException e) {
throw new UtilException(e);
} catch (IllegalAccessException e) {
throw new UtilException(e);
} catch (IllegalArgumentException e) {
throw new UtilException(e);
} catch (Exception e) {
throw new UtilException(e);
}
// ------------------------------------------------------------------------------------------
return object;
}
public static void fetchParameter(Object object, Class<?> clazz, int index, final HttpServletRequest request) throws UtilException {
if (clazz == null) return;
if (object.getClass().isPrimitive()) return;
try {
// ------------------------------------------------------------------------------------------
Field[] fields = clazz.getDeclaredFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
Type type = field.getGenericType();
if (Modifier.isStatic(field.getModifiers())) continue;
String fieldName = field.getName();
String tag = object.getClass().getSimpleName() + KW_DASH + index + KW_DASH + fieldName;
String valueStr = request.getParameter(tag);
if (valueStr == null) continue;
// ------------------------------------------------------------------------------------------
Object value = processValue(type, valueStr);
// ------------------------------------------------------------------------------------------------------------------
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计:基于JavaEE的健身房管理系统
共1300个文件
class:278个
java:233个
js:190个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 3 下载量 143 浏览量
2022-06-10
16:58:22
上传
评论 1
收藏 20.67MB ZIP 举报
温馨提示
本系统采用Windows7 旗舰版作为网络服务器,在jsp公共语言运行环境下进行开发,用myeclipse作为开发工具,MySQL数据库作为本系统的后台网络数据库。其中jsp的系统环境采用Tomcat服务器,这也是当今一个主流的jsp服务器,另外,系统采用时下流行的web开发框架SSM,也就是spring,springmvc以及mybatis框架的整合,搭建的系统框架也是经典的三层架构。另外使用了maven来管理项目。 内含项目完整代码,数据库及配套报告。
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计:基于JavaEE的健身房管理系统 (1300个子文件)
007610d905bd04d2779c5eed42baf4882da8d9 89B
04a0f8283b4ae47bac7fd78c115f603a212f76 183B
0739a5ec51b4199d5a783e32533c22ab114381 238B
07522b05395207a08afaf9169fc76ba91f41f2 96B
0798ffa5d6938019d49c7bd153221d71a84f02 45B
091ab375d3069116cd56066890797be0dbc82f 217B
0c2169e85abaec017b5b6966901791fc33624e 115B
0c3736abb0bddd57196cf05f1ed1003a2ae7c8 156B
0ff5452eb0ad61c1e9f2646bc5b744ca03d930 995B
1075c2766486edc1177b78fb92cbc57711a6ba 82B
140f545851e31a8d4ce65f6718150577adf8ad 784B
149c06068b09eaf7f2f4da7a2b2b779e6b6988 3KB
16f73bd32754fee8163f605444b16f6d16d7b2 172B
188cff8daec6420e080e3a1c9fd30a6cc6ea6f 96B
1b7e2267b39f970237b5acb7c1eff4c5819e3a 282B
20b4563ff0f050501f9fb409a44e9d75b4c8e2 156B
22b728dbf83a6231fe75a96f8cc4af2b3c8e6d 56B
258c2f9da09cc8491da057cbeb47bc142fe7c2 46B
286260359ab75fe478067b3726b54acf3d4aa7 681B
2946ad76b4402e5b3cab9243a9281aad228670 387B
294ed06295a2eb9e07654df359ccfa5c8cbf9a 1KB
2a318dcaef18e995e000df03451363894d505c 2KB
2ab8b00634c56720ecef4e1a2b8e0b525be2d8 3KB
2c5d53a47a72908be3fa2485e4e75b515430d7 77B
2d3755add921158ca44a2d2a97596bd056bb5d 50B
2d69a6d5e786ce91b50c64be313e8e53c43899 2KB
2f3fd71079946edcfaf679b654089a1486a898 552B
3217b4524a0e22fe8eadd0494233479b5c48d5 82B
36c869c14c9163feb0c76ea3e49c573e516c84 397B
3a78135a7a864818e7c12de5da983f6243f9af 330B
3f58f3657c32d49ea15680999c7d140d697ae9 518B
42799b9222d53ce37a0c0eb18a76734203dcc8 93B
4386bbd48d4c2b01c97ac8231bb686459047a9 89B
4926c9839794123167fa6b00d85bb8c71e07ac 544B
4b97f70cad029b5e8155328b3b29347e202977 495B
57bb4b444ce6bb8acc7ab6f89c804ce57bb434 1KB
5b742b8aab8e822aab6df70a03754b8989fb81 332B
5d20de264ca954cf1f36462af2d1c4fe04dbbf 185B
6c1f27f33117f86484148e915337b1a0581e5a 46B
702df23a59821afe32f50aabc051d5b6602be6 2KB
7714dec50600b86d8eec9670e11d9189acd6c2 702B
781a8dad0ff4afc7c40336ad51c7073fdc157d 765B
786c9c7a8a59ccd2898d99aea52ad8bd8c94e3 730B
8269f6f42ab24e054337d70264362cde7a1d61 905B
832dd4128079a656969434c3be3b9d6f3e1ef0 46B
85dee1cbb3a1d5603b4410424874cdb34817fe 2KB
863a02a44d05edf7fef52834838f82b2e5e282 57B
8bcd51e9b71127cda44266c914ca30f4bed904 46B
8d5743393cfab398b16ed68e71e9f995d41de0 62B
8d953ef1d932b1462d6558692d59a1ebc276ff 47B
8ea0a963f6b991eccf591b229d9b2e88357181 347B
934f3b33f18941e1880f918d379185c4c02bce 208B
95d05e2c0ac3f48de1f7e3197130672efe6abb 83B
961adfa09dd8b9ffdc276a25762384e2f4fadf 46B
9ac1b878931718be599dfbf88894755d200d56 135B
a7047a0b19982fc6192b263c07308be6ad0e19 92B
ad987138a8a1f83173fef99e4dfefb447e9cd0 45B
ae39ca13197778aa5bddb7c5fdd8d94c074fa1 79B
b0cabc87cf50106df6e15097dff816c8c3eb34 188B
b200025de9f928f0af41a8d17ccf3d0ae1021e 1KB
b520812bf5a10f0122e1cd6d76b3994f9b0be8 1KB
b72f7c98b08078a6624539d77993157549ebcc 71B
1.bmp 555KB
2.bmp 482KB
c9347ffaf1359ebc26757873627f1bb6510325 1KB
cf0fc904801780d201e9c530ec50a8d0ef6101 48B
cfcb925f681da0ebcdbb444c0474dc8f44c4b6 2KB
RequestUtil.class 12KB
JsonConvertor.class 12KB
FieldValidator.class 11KB
RequestMappingOverridableHandlerMapping.class 11KB
ExcelWriter.class 10KB
ExcelReader.class 10KB
DateUtil.class 10KB
Uploader.class 10KB
ImageUtil.class 10KB
RopRequestUtil.class 9KB
StringUtil.class 9KB
HttpClientUtils.class 9KB
RandomObject.class 9KB
UserWebController.class 8KB
RSAUtils.class 7KB
MailHelper.class 7KB
RSAUtilsZY.class 7KB
QRCodeUtil.class 6KB
UserWebService.class 6KB
ZtsmsMessageSender.class 6KB
ReflectionUtil.class 6KB
MapUtil.class 6KB
RowSet.class 5KB
DahantcMessageSender.class 5KB
UserController.class 5KB
PropertyUtil.class 5KB
RoleController.class 5KB
StandardCacheManagerImpl.class 5KB
DefaultCell.class 5KB
ImageConverterImpl.class 5KB
AbstractUmengNotification.class 5KB
ParseUtil.class 5KB
JiaoLianController.class 5KB
共 1300 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
- 念之2024-08-02资源很好用,有较大的参考价值,资源不错,支持一下。
- fw小轩轩2022-06-23用户下载后在一定时间内未进行评价,系统默认好评。
- Anonymity12012022-06-23用户下载后在一定时间内未进行评价,系统默认好评。
胥华引
- 粉丝: 98
- 资源: 439
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 信捷XC PLC与力士乐VFC-x610变频器通讯程序原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等 程序采用轮询,可靠稳定 器件:信捷XC3的PLC,博世
- CMIP6 变量详细表格
- KF2EDGK系列5.08接线端子,带3D封装
- 信捷XC PLC与3台力士乐VFC-x610变频器通讯通讯 原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等 程序采用轮询,可靠稳定 器件:信捷XC3的PLC
- org.xmind.ui.mindmap-3.6.1.jar
- 16台搅拌机定时控制程序16台搅拌机定时控制,使用三菱FX系列PLC,威伦通触摸屏,具备完善的控制功能
- 微网双层优化模型matlab 采用yalmip编写三个微网的分层优化模型,考虑电价的负荷响应,综合配电网运营商收益和用户购电成本,程序运行稳定
- rv1126交叉编译工具链gcc-arm-8.3-2019.02-x86-64-arm-linux-gnueabihf.tar.xz和安装步骤
- 1960-2023年世界各国国民总收入数据
- 风储深度调峰模型matlab 考虑风储的调峰模型,采用cplex作为求解器,实现不同主体出力优化控制,程序运行稳定,有参考资料,
- 计算机系统安全性与性能评估:IOMMU在Linux环境下的性能研究及其优化策略
- 电动汽车蒙特卡洛分析matlab 通过matlab程序编写电动汽车蒙特卡洛模型,得到汽车行驶里程的概率分布曲线和充电功率曲线,程序运行可靠,有参考资料
- 考虑交通流量的电动汽车充电站规划matlab 程序采用matlab编制,采用粒子群算法,结合交通网络流量,得到最终充电站规划方案,程序运行可靠
- rustdesk-1.3.6-x86-64.msi
- 电动汽车优化模型matlab 狼群算法
- 你还在为伺服驱动器 FPGA架构苦恼吗,本方案FPGA代码实现电流环 速度环 位置环 SVPWM 坐标变 测速 分频 滤波器等,程序方便移植不同的平台,具有很高的研究价值
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功