package com.cn.travel.utils;
import java.util.UUID;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 说明:常用工具
*
*
* @version
*/
public class Tools {
/**
* 随机生成六位数验证码
* @return
*/
public static int getRandomNum(){
Random r = new Random();
return r.nextInt(900000)+100000;//(Math.random()*(999999-100000)+100000)
}
/**
* 检测字符串是否不为空(null,"","null")
* @param s
* @return 不为空则返回true,否则返回false
*/
public static boolean notEmpty(String s){
return s!=null && !"".equals(s) && !"null".equals(s);
}
/**
* 检测字符串是否不为空(null,"","null")
* @param s
* @return 不为空则返回true,否则返回false
*/
public static boolean notEmpty(Object s){
return s!=null && !"".equals(s) && !"null".equals(s);
}
/**
* 检测字符串是否为空(null,"","null")
* @param s
* @return 为空则返回true,不否则返回false
*/
public static boolean isEmpty(String s){
return s==null || "".equals(s) || "null".equals(s);
}
/**
* 检测字符串是否为空(null,"","null")
* @param s
* @return 为空则返回true,不否则返回false
*/
public static boolean isEmpty(Object s){
return s==null || "".equals(s) || "null".equals(s);
}
/**
* 字符串转换为字符串数组
* @param str 字符串
* @param splitRegex 分隔符
* @return
*/
public static String[] str2StrArray(String str,String splitRegex){
if(isEmpty(str)){
return null;
}
return str.split(splitRegex);
}
/**
* 用默认的分隔符(,)将字符串转换为字符串数组
* @param str 字符串
* @return
*/
public static String[] str2StrArray(String str){
return str2StrArray(str,",\\s*");
}
/**
* 按照yyyy-MM-dd HH:mm:ss的格式,日期转字符串
* @param date
* @return yyyy-MM-dd HH:mm:ss
*/
public static String date2Str(Date date){
return date2Str(date,"yyyy-MM-dd HH:mm:ss");
}
/**
* 按照yyyy-MM-dd HH:mm:ss的格式,字符串转日期
* @param date
* @return
*/
public static Date str2Date(String date){
if(notEmpty(date)){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return sdf.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return new Date();
}else{
return null;
}
}
/**
* 按照参数format的格式,日期转字符串
* @param date
* @param format
* @return
*/
public static String date2Str(Date date,String format){
if(date!=null){
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.format(date);
}else{
return "";
}
}
/**
* 把时间根据时、分、秒转换为时间段
* @param StrDate
*/
public static String getTimes(String StrDate){
String resultTimes = "";
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now;
try {
now = new Date();
Date date=df.parse(StrDate);
long times = now.getTime()-date.getTime();
long day = times/(24*60*60*1000);
long hour = (times/(60*60*1000)-day*24);
long min = ((times/(60*1000))-day*24*60-hour*60);
long sec = (times/1000-day*24*60*60-hour*60*60-min*60);
StringBuffer sb = new StringBuffer();
//sb.append("发表于:");
if(hour>0 ){
sb.append(hour+"小时前");
} else if(min>0){
sb.append(min+"分钟前");
} else{
sb.append(sec+"秒前");
}
resultTimes = sb.toString();
} catch (ParseException e) {
e.printStackTrace();
}
return resultTimes;
}
/**
* 写txt里的单行内容
* @param fileP 文件路径
* @param content 写入的内容
*/
public static void writeFile(String fileP,String content){
String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../"; //项目路径
filePath = (filePath.trim() + fileP.trim()).substring(6).trim();
if(filePath.indexOf(":") != 1){
filePath = File.separator + filePath;
}
try {
OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(filePath),"utf-8");
BufferedWriter writer=new BufferedWriter(write);
writer.write(content);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 验证邮箱
* @param email
* @return
*/
public static boolean checkEmail(String email){
boolean flag = false;
try{
String check = "^([a-z0-9A-Z]+[-|_|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
Pattern regex = Pattern.compile(check);
Matcher matcher = regex.matcher(email);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
/**
* 验证手机号码
* @param mobileNumber
* @return
*/
public static boolean checkMobileNumber(String mobileNumber){
boolean flag = false;
try{
Pattern regex = Pattern.compile("^1[3|4|5|7|8][0-9]{9}$");
Matcher matcher = regex.matcher(mobileNumber);
flag = matcher.matches();
}catch(Exception e){
flag = false;
}
return flag;
}
/**
* 读取txt里的单行内容
* @param fileP 文件路径
*/
public static String readTxtFile(String fileP) {
try {
String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../"; //项目路径
filePath = filePath.replaceAll("file:/", "");
filePath = filePath.replaceAll("%20", " ");
filePath = filePath.trim() + fileP.trim();
if(filePath.indexOf(":") != 1){
filePath = File.separator + filePath;
}
String encoding = "utf-8";
File file = new File(filePath);
if (file.isFile() && file.exists()) { // 判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file), encoding); // 考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while ((lineTxt = bufferedReader.readLine()) != null) {
return lineTxt;
}
read.close();
}else{
System.out.println("找不到指定的文件,查看此路径是否正确:"+filePath);
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
}
return "";
}
/**
* 校验字符串是否为数字
* @param str
* @return
*/
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9.]*");
Matcher isNum = pattern.matcher(str);
if( !isNum.matches() ){
return false;
}
return true;
}
/**
* 自动生成32位的UUid,对应数据库的主键id进行插入用。
* @return
*/
public static String getUUID() {
return UUID.randomUUID().toString().replace("-", "");
}
public static void main(String[] args) {
System.out.println(getRandomNum());
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于SSM的“携手同游”旅游社交平台的设计与实现
共1263个文件
jpg:474个
html:150个
gif:150个
3 下载量 11 浏览量
2023-10-13
15:01:54
上传
评论
收藏 40.67MB RAR 举报
温馨提示
开发框架ssm,数据库MySQL5.7 jdk1.8 开发工具eclipse/idea。源码齐全可用。需要配套Lw可私信作者。 管理员核心模块: (1)用户管理:通过用户名称对用户筛选查看用户、删除用户、增加用户操作。 (2)后台首页:通过图像化地图展示注册用户地域分布。 (3)数据分析:系统对各个模块的客流量进行分段分析统计。 (4)内容管理:对已经添加在网站的路线、景点、酒店、攻略、车票、保险等信息的管理功能。 (5)业务管理:管理员对用户预约下的订单在该模块统一处理。 用户模块:系统模块基本为登录注册、首页、景点旅游路线、旅游景点、餐饮住宿、旅游车票、旅游保险以及网站温馨提醒等模块。
资源推荐
资源详情
资源评论
收起资源包目录
基于SSM的“携手同游”旅游社交平台的设计与实现 (1263个子文件)
Tools.class 7KB
StrategyController.class 6KB
UserPortalController.class 6KB
TravelRouteController.class 6KB
ScenicSpotController.class 6KB
InsuranceController.class 6KB
HotelController.class 6KB
CarController.class 6KB
HotelPortalController.class 6KB
ScenicSpotPortalController.class 5KB
UserController.class 5KB
TravelRoutePortalController.class 5KB
InsurancePortalController.class 5KB
CarPortalController.class 5KB
AdminController.class 5KB
MessageController.class 5KB
DataController.class 5KB
OrderController.class 4KB
OrderService.class 4KB
Test.class 4KB
MessagePortalController.class 4KB
MessageService.class 4KB
InsuranceService.class 4KB
TravelRouteService.class 4KB
ScenicSpotService.class 4KB
CarService.class 4KB
HotelService.class 3KB
UserService.class 3KB
StrategyService.class 3KB
Order.class 3KB
OrderPortalController.class 3KB
AdminService.class 3KB
LoginController.class 3KB
CarSqlProvider.class 3KB
OrderSqlProvider.class 3KB
PageBean.class 3KB
InsuranceSqlProvider.class 3KB
TravelRouteSqlProvider.class 3KB
ScenicSpotSqlProvider.class 3KB
TravelRoute.class 3KB
StrategyPortalController.class 3KB
Car.class 3KB
UserSqlProvider.class 3KB
HotelSqlProvider.class 2KB
PageParam.class 2KB
StrategySqlProvider.class 2KB
ManagerController.class 2KB
BaseController.class 2KB
ScenicSpot.class 2KB
MessageSqlProvider.class 2KB
AdminSqlProvider.class 2KB
Flower.class 2KB
Hotel.class 2KB
WebAppConfig.class 2KB
UserDao.class 2KB
Insurance.class 2KB
ManagerInterceptor.class 2KB
User.class 2KB
InsuranceDao.class 2KB
TravelRouteDao.class 2KB
OrderDao.class 2KB
ScenicSpotDao.class 2KB
CarDao.class 2KB
BaseDomain.class 2KB
AdminDao.class 2KB
StrategyDao.class 2KB
TravelApplicationTests.class 2KB
HotelDao.class 2KB
MessageDao.class 2KB
Strategy.class 2KB
Message.class 2KB
IndexController.class 2KB
TravelApplication.class 1KB
Admin.class 1KB
MybatisConf.class 1KB
IOrderService.class 1KB
IMessageService.class 1KB
IUserService.class 979B
IScenicSpotService.class 946B
ITravelRouteService.class 932B
IInsuranceService.class 906B
UserCenterController.class 897B
IStrategyService.class 893B
IHotelService.class 854B
IAdminService.class 853B
Porvice.class 837B
ICarService.class 828B
AttentionController.class 634B
BaseDao.class 345B
IBaseDomainService.class 144B
mvnw.cmd 5KB
common.css 42KB
common.css 42KB
layui.css 31KB
layui.css 31KB
layer.css 14KB
layer.css 14KB
laydate.css 8KB
laydate.css 8KB
layui.mobile.css 8KB
共 1263 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13
资源评论
程序猿麦小七
- 粉丝: 1725
- 资源: 115
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java的车辆保险理赔平台的设计与实现源码(java毕业设计完整源码).zip
- 声音数字化入门基础:基本概念、过程及应用
- 多传感器信息融合,介绍中图片为INS+ DVL组合程序,此外还有imu+ gps组合等其他程序
- 基于JAVA的高校毕业生就业信息管理系统源码(java毕业设计完整源码+LW).zip
- 基于JAVA的高校社团管理系统的设计与实现源码(java毕业设计完整源码+LW).zip
- python入门-Python编程入门基础与实践指南
- qt联合halcon视觉流程框架 正常编译 测试正常 qt5.12.4
- 欧洲性别薪酬差距数据集.zip
- 基于java语言的医疗设备管理系统源码(java毕业设计完整源码+LW).zip
- 基于MyBatis的在线车辆租赁信息管理系统的设计与实现源码(java毕业设计完整源码).zip
- 基于SSM的鲜花商城、网上花店、鲜花销系统 后端技术:Spring、SpringMVC、MyBatis + Tomcat 前端技术:JSP、jQuery 、BootStrap 数据库:MySQL 软
- 机械设计洗墙灯玻璃板包密封胶条设备sw21全套设计资料100%好用.zip
- 图像安全保护领域的图像加解密算法及其Python实现
- 28省2023国庆中秋旅游人数收入数据.zip
- 基于Spring Boot和Vue的美容店信息管理系统源码(java毕业设计完整源码).zip
- 机械设计详细AGV小车(sw18可编辑+工程图)全套设计资料100%好用.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功