package com.foru.business.common.util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.ServletRequestUtils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* SpringMVC+Hibernate +MySql+ EasyUI ---CRUD
* @author learnworm
* 类名称:StringUtil
* @date 2018-11-15 下午4:36:20
* 备注:
*/
public class StringUtil extends StringUtils {
@SuppressWarnings("unused")
private static Log log = LogFactory.getLog(StringUtil.class);
public static void main(String[] args) {
System.out.println(Integer.MAX_VALUE);
}
// 将字符串转移为ASCII码
public static String getCnASCII(String cnStr) {
StringBuffer strBuf = new StringBuffer();
byte[] bGBK = cnStr.getBytes();
for (int i = 0; i < bGBK.length; i++) {
// System.out.println(Integer.toHexString(bGBK[i]&0xff));
strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
}
return strBuf.toString();
}
/**
* 计算显示的页数,特殊数据已被处理,不会报错
* @param total 总数据个数
* @param pageSize 每页显示的个数
* @return
*/
public static int getPageNum(int total, int pageSize){
if(total <=0 || pageSize <= 0){
return 0;
}
if(total%pageSize == 0){
return total/pageSize;
}else{
return total/pageSize + 1;
}
}
/**
* 验证某字符串是否符合邮箱格式
* @param str
* @return
*/
public static boolean isEmail(String str){
String regex = "\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
return m.matches();
}
/**
* 验证某字符串是否符合手机格式
* @param str
* @return
*/
public static boolean isMobile(String str){
String regular = "1[3,4,5,8]{1}\\d{9}";
Pattern pattern = Pattern.compile(regular);
boolean flag = false;
if (str != null) {
Matcher matcher = pattern.matcher(str);
flag = matcher.matches();
}
return flag;
}
/**
* 解决GET方式乱码问题
* @param s
* @return
* @throws UnsupportedEncodingException
*/
public static String encode(String s) throws UnsupportedEncodingException {
if(null == s || s.length() == 0){
return "";
}
s = new String(s.getBytes("iso-8859-1"),"UTF-8");
return s;
}
/**
* 计算当前的起始页数,特殊数据已被处理,不会报错
* @param startPage 当前的起始数
* @param pageSize 每页个数
* @return
*/
public static int getStartPage(int startPage, int pageSize){
if(startPage <= 0 || pageSize <= 0){
return 0;
}
return startPage/pageSize;
}
/**
* 根据提供的参数,生成md5值</br>
* 会对传过来的值用UTF-8方式编码
* @param source
* @return 正常的字符串,出错会返回null
*/
public static String getMD5(String ss) {
byte[] source;
try {
source = ss.getBytes("UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
return null;
}
String s = null;
char hexDigits[] = { // 用来将字节转换成 16 进制表示的字符
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd',
'e', 'f' };
try {
java.security.MessageDigest md = java.security.MessageDigest
.getInstance("MD5");
md.update(source);
byte tmp[] = md.digest(); // MD5 的计算结果是一个 128 位的长整数,
// 用字节表示就是 16 个字节
char str[] = new char[16 * 2]; // 每个字节用 16 进制表示的话,使用两个字符,
// 所以表示成 16 进制需要 32 个字符
int k = 0; // 表示转换结果中对应的字符位置
for (int i = 0; i < 16; i++) { // 从第一个字节开始,对 MD5 的每一个字节
// 转换成 16 进制字符的转换
byte byte0 = tmp[i]; // 取第 i 个字节
str[k++] = hexDigits[byte0 >>> 4 & 0xf]; // 取字节中高 4 位的数字转换,
// >>> 为逻辑右移,将符号位一起右移
str[k++] = hexDigits[byte0 & 0xf]; // 取字节中低 4 位的数字转换
}
s = new String(str); // 换后的结果转换为字符串
} catch (Exception e) {
}
return s;
}
/**
* 本方法封装了往前台设置的header,contentType等信息
* @param message 需要传给前台的数据
* @param type 指定传给前台的数据格式,如"html","json"等
* @param response HttpServletResponse对象
* @throws IOException
* @createDate 2010-12-31 17:55:41
*/
public static void writeToWeb(String message, String type, HttpServletResponse response) throws IOException {
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/" + type +"; charset=utf-8");
response.getWriter().write(message);
response.getWriter().close();
}
/**
* 如果传过来个空,则返回""</br>
* 否则返回原对象
* @param o
* @return
*/
public static Object nullToSpace(Object o){
if(null == o){
return "";
}
return o;
}
/**
* 提供字符串是否可转换成数值型的判断</br>
* 如果可转成数值,则返回false</br>
* 如果不可转成数值,则返回true</br>
* isnan == is not a number</br>
* @param s 需要测试的字符串
* @return true or false
*/
public static boolean isNAN(String s){
if(null == s || s.length() == 0){
return true;
}
Pattern pattern = Pattern.compile("[-+]?[0-9]*\\.?[0-9]+$");
Matcher isNum = pattern.matcher(s);
if(isNum.matches()){
return false;
}else{
return true;
}
}
public static boolean isInteger(String s){
if(null == s || s.length() == 0){
return false;
}
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
return pattern.matcher(s).matches();
}
/**
* 删除掉JSON串前后的[],某些插件不能解析带[]的json格式
* @param json
* @return
*/
public static String treatJson(String json){
if(null == json || json.length() < 3){
return "";
}
json = json.substring(1, json.length());
json = json.substring(0, json.length()-1);
return json;
}
/**
* 取随机的32位uuid
* @return
*/
public static String getUUID () {
return UUID.randomUUID().toString().replaceAll("-", "");
}
/**
*
* @param request
* @return
*/
public static String getOrderString(HttpServletRequest request){
String orderString = "";
String sortName = ServletRequestUtils.getStringParameter(request, "sort", "");
String sortOrder = ServletRequestUtils.getStringParameter(request, "order", "");
if(sortName.length() > 0){
orderString = sortName;
if(sortOrder.length() > 0){
orderString += " " + sortOrder;
}
}
return orderString;
}
/**
* 判断一个字符串是不是空或者为""
* @param s
* @return
*/
public static boolean isNullOrSpace(String s){
if(null == s || s.trim().length() == 0){
return true;
}else{
return false;
}
}
/**
* 把Map<String,Object>处理成实体类
* @param clazz 想要的实体类
* @param list 包含信息的列表
* @return
*/
public static <T> List<T> mapToList(Class<T> clazz, List<Map<String, Object>> list){
if(null == list || list.size() == 0){
return null;
}
List<T> result = new ArrayList<T>();
Map<String, Object> map;
for(Iterator<Map<String, Object>> iter = list.iterator(); iter.hasNext();){
map = iter.next();
result.add(mapToObject(clazz, map));
}
return result;
}
/**
* 把Map<String,Object>处理成实体类
* @param clazz 想要的实体类
* @param map 包含信息的Map对象
* @return
*/
public static <T> T mapToObject(Class<T> clazz, Map<String, Object> m
没有合适的资源?快使用搜索试试~ 我知道了~
Java基于SpringBoot酒店客房预定管理系统+javaweb酒店官网项目源码.zip
共555个文件
java:140个
js:139个
jpg:87个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 5 下载量 86 浏览量
2022-06-13
09:45:37
上传
评论 8
收藏 7.11MB ZIP 举报
温馨提示
Java基于SpringBoot酒店客房预定管理系统+javaweb酒店官网项目源码 功能主要包括管理员后台包括:酒店客房预定管理系统+酒店官网 用户登录、用户注册、角色管理、菜单管理、客房管理、库存管理、客房类型管理、连锁管理等功能 Java基于SpringBoot酒店客房预定管理系统+javaweb酒店官网项目源码 功能主要包括管理员后台包括:酒店客房预定管理系统+酒店官网 用户登录、用户注册、角色管理、菜单管理、客房管理、库存管理、客房类型管理、连锁管理等功能Java基于SpringBoot酒店客房预定管理系统+javaweb酒店官网项目源码 功能主要包括管理员后台包括:酒店客房预定管理系统+酒店官网 用户登录、用户注册、角色管理、菜单管理、客房管理、库存管理、客房类型管理、连锁管理等功能
资源推荐
资源详情
资源评论
收起资源包目录
Java基于SpringBoot酒店客房预定管理系统+javaweb酒店官网项目源码.zip (555个子文件)
apple-app-site-association 193B
app.css 236KB
bootstrap.css 138KB
bootstrap.css 138KB
material-design-iconic-font.min.css 81KB
animate.css 71KB
style.css 56KB
animate.min.css 52KB
style.css 33KB
hover_pack.css 32KB
font-awesome.min.css 30KB
style.min.css 27KB
jquery.scrollbar.css 22KB
summernote-bs4.css 20KB
sweetalert2.css 19KB
summernote.css 18KB
component.css 15KB
_all.css 14KB
bootstrap-datetimepicker.min.css 12KB
daterangepicker.css 7KB
bootstrap-table.css 7KB
login.css 6KB
multiple-select.css 4KB
lightbox.css 4KB
team.css 3KB
yellow.css 2KB
orange.css 2KB
purple.css 2KB
green.css 2KB
pink.css 1KB
grey.css 1KB
aero.css 1KB
blue.css 1KB
red.css 1KB
minimal.css 1KB
autocomplete.css 1KB
jquery.treegrid.css 913B
fontawesome-webfont.eot 75KB
Material-Design-Iconic-Font.eot 41KB
Roboto-Medium-webfont.eot 21KB
Roboto-Regular-webfont.eot 21KB
Roboto-Bold-webfont.eot 20KB
Roboto-Light-webfont.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
throbber.gif 2KB
.gitignore 176B
menuIcon.html 132KB
index.html 43KB
shortcodes.html 30KB
gallery.html 16KB
index.html 15KB
single.html 14KB
news.html 11KB
profile.html 10KB
about.html 8KB
contact.html 8KB
workUserAdd.html 8KB
userAdd.html 7KB
menuAdd.html 6KB
inventoryAdd.html 6KB
stayRecordAdd.html 5KB
roomAdd.html 5KB
dict.html 5KB
stayRecord.html 5KB
workUser.html 5KB
room.html 4KB
user.html 4KB
menu.html 4KB
log.html 4KB
login.html 3KB
inventory.html 3KB
header.html 3KB
dictAdd.html 3KB
role.html 3KB
share.html 3KB
stayRecordCount.html 3KB
dept.html 3KB
roleAdd.html 3KB
index.html 3KB
updatePassword.html 2KB
common.html 2KB
deptAdd.html 2KB
terminal.html 2KB
qukucun.html 2KB
kucun.html 2KB
roomTypeAdd.html 1KB
roomType.html 1KB
aside.html 1KB
info.html 1KB
online.html 392B
main.html 314B
footer.html 110B
favicon.ico 4KB
StringUtil.java 25KB
ExcelUtils.java 13KB
Quant.java 11KB
FileUtils.java 11KB
RedisInfo.java 9KB
UserController.java 9KB
共 555 条
- 1
- 2
- 3
- 4
- 5
- 6
程序员张小妍
- 粉丝: 1w+
- 资源: 2604
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页