登录使按钮无效
<input style="float:left;" type="submit" id = "loginSub" class="type05_button" value="登录" />
<script type="text/javascript">
function loginDeal(){
$("#loginSub").val("登录中...");
$("#loginSub").attr("disabled", "true");
}
</script>
trim():除去多余的空格。
//获取客户端ip
public static String getIpAddr() {
String ipAddress = null;
//ipAddress = this.getRequest().getRemoteAddr();
ipAddress = ServletActionContext.getRequest().getHeader("x-forwarded-for");
if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
ipAddress = ServletActionContext.getRequest().getHeader("Proxy-Client-IP");
}
if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
ipAddress = ServletActionContext.getRequest().getHeader("WL-Proxy-Client-IP");
}
if(ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) {
ipAddress = ServletActionContext.getRequest().getRemoteAddr();
if(ipAddress.equals("127.0.0.1")){
//根据网卡取本机配置的IP
InetAddress inet = null;
try {
inet = InetAddress.getLocalHost();
}catch (UnknownHostException e) {
e.printStackTrace();
}
ipAddress= inet.getHostAddress();
}
}
//对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割
if(ipAddress!=null && ipAddress.length()>15){ //"***.***.***.***".length() = 15
if(ipAddress.indexOf(",")>0){
ipAddress = ipAddress.substring(0,ipAddress.indexOf(","));
}
}
return ipAddress;
}
//时间工厂类
/**
* 日期格式化工具类
* @author sl 2011-11-17
*
*/
public class FormatDate {
/**
* 得到当前系统日期,格式:yyyy-mm-dd
*
* @return
*/
public static String getCurrentDate(){
return getFormatDate("yyyy-MM-dd");
}
/**
* 返回年份
* @return
*/
public static String getCurrentYear(){
return getFormatDate("yyyy");
}
/**
* 返回月份
*/
public static String getCurrentMonth(){
return getFormatDate("MM");
}
/**
* 返回特定格式的日期
* 格式如下:
* yyyy-mm-dd
* @param formatString
* @return
*/
protected static String getFormatDate(String formatString){
String currentDate="";
SimpleDateFormat format1 = new SimpleDateFormat(formatString);
currentDate = format1.format(new Date());
return currentDate;
}
/**
* 返回时间格式样式
* @return
*/
public static String getFormateDateAll(){
return getFormatDate("yyyy-MM-dd HH:mm:ss");
}
/**
* 获取简化时间格式
* @return
*/
public static String getFormateDateSimple(){
return getFormatDate("yyyyMMddHHmmss");
}
/**
* 获取几天后的时间
* @param d
* @param day
* @return
*/
public static Date getDateAfterDay(Date d, int day) {
Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.DATE, now.get(Calendar.DATE) + day);
return now.getTime();
}
public static String getDateAfterDay(String d, int day) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = sdf.parse(d);
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.DATE, day);
return sdf.format(calendar.getTime());
}
/**
* 获得几个月后的时间
* */
public static String getDateAfterMonth(String d, int month) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = sdf.parse(d);
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.MONTH, month);
return sdf.format(calendar.getTime());
}
/**
* 得到几天前的时间
* @param d
* @param day
* @return
* @throws ParseException
*/
public static String getDateBefore(String d,int day) throws ParseException{
Date date = stringToDate(d);
Calendar now =Calendar.getInstance();
now.setTime(date);
now.set(Calendar.DATE,now.get(Calendar.DATE)-day);
return dateToString(now.getTime());
}
/**
* 返回几个小时后的时间
* @param d
* @param hour
* @return
* @throws ParseException
*/
public static String getDateAfterHour(String d,int hours) throws ParseException{
/*Date date = stringToDate(d);
Calendar now = Calendar.getInstance();
now.setTime(date);
now.set(Calendar.HOUR, now.get(Calendar.HOUR) + hour);
return dateToString(now.getTime());*/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = sdf.parse(d);
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.HOUR, hours);
return sdf.format(calendar.getTime());
}
/**
* 返回几分钟后的某个时间
* @param d
* @param minutes
* @return
* @throws ParseException
*/
public static String getDateAfterMinute(String d,int minutes) throws ParseException{
/*Calendar now = Calendar.getInstance();
now.setTime(d);
now.set(Calendar.MINUTE, now.get(Calendar.MINUTE) + minutes);
return now.getTime();*/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date now = sdf.parse(d);
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
calendar.add(Calendar.MINUTE, minutes);
return sdf.format(calendar.getTime());
}
/**
* 比较两个日期的大小
* true date1比date2前
* false date1比date2后
* @param date1
* @param date2
* @return
*/
public static boolean dateCompare(Date date1,Date date2){
boolean dateComPareFlag = true;
if (date2.compareTo(date1) != 1) {
dateComPareFlag = false;
}
return dateComPareFlag;
}
public static boolean dateCompare(String date1,String date2) throws ParseException{
boolean dateComPareFlag = true;
if (stringToDateAll(date2).compareTo(stringToDateAll(date1)) != 1) {
dateComPareFlag = false;
}
return dateComPareFlag;
}
/*public static void main(String[] args) throws ParseException {
System.out.println(dateCompare(stringToDate("2012-02-01"),stringToDate("2012-02-02")));
}*/
/**
* 返回两时间之差
* @param startTime
* @param endTime
* @return
*/
public static long dateMinus(Date startTime,Date endTime){
return endTime.getTime()-startTime.getTime();
}
//计算两个string类的时间差
public static String time(String startTime, String endTime) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化时间
Date outdate = sdf.parse(endTime);
Date indate = sdf.parse(startTime);
long totalhours = (outdate.getTime()-indate.getTime())/(1000*60*60);//时
long totalminutes = (outdate.getTime()-indate.getTime())/(1000*60)-totalhours*60;//分
long totalseconds = (outdate.getTime()-indate.getTime())/(1000)-totalminutes*60;//秒
String total_time = totalhours+"时"+totalminutes+"分"+totalseconds+"秒";
return total_time;
}
//计算两个时间之差,返回秒数
public static long totalseconds(String startTime, String endTime) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化时间
Date outdate = sdf.parse(endTime);
Date indate = sdf.parse(startTime);
long totalseconds = (outdate.getTime()-indate.getTime())/1000; //秒
return totalseconds;
}
/**
* String类型日期转Date
* @throws ParseException
* */
public static Date stringToDate(String date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 格式化时间
Date toDate = sdf.parse(date);
return toDate;
}
/**
* Date类型日期转String类型
* */
public static String dateToString(Date date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化时间
String toStrDate = sdf.format(date);
return toStrDate;
}
/**
* String类型日期转Date
* @throws ParseException
* */
public static Date stringToDateAll(String date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 格式化时间
Date toDate = sdf.parse(date);
return toDate;
}
/**
* Date类型日期转String类型
* */
public static String dateToStringAll(Date date) throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");// 格式化时间
String toStrDate = sdf.format(date);
return toStrDate;
}
/**
* 取得两个时间段的时间间隔
*
* @author color
* @param t1
* 时间1
* @param t2
* 时间2
* @return t2 与t1的间隔天数
* @throws ParseException
* 如果输入的日期格式不是0000-00-00 格式抛出异常
*/
public static int getBetweenDays(String t1, String t2)
throws ParseException {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
int betweenDays = 0;
Date d1 = format.parse(t1);
Date d2 = format.parse(t2);
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(d1);
c2.setTime(d2);
// 保证第二个时间一定大于第一个时间
if (c1.after(c2)) {
c1 = c2;
c2.setTime(d1);
}
int betweenYears = c2.get(Calendar.YEAR) - c1.get(Calendar.YEAR);
betweenDays = c2.get(Calendar.DAY_OF_YEAR)
- c1.get(Calendar.DAY_OF_YEAR);
for (int i = 0; i < betweenYears; i++) {
c1.set(Calendar.YEAR, (c1.get(Calendar.YEAR) + 1));
betweenDays += c1.getMaximum(Calendar.DAY_OF_YEAR);
}
return betweenDays;
}
/**
* 根据年月得到最后一天和第一天
* 需要注意的是:月份是从0开始的,比如说如果输入5的话,实际上显示的是4月份的最后一天
* 这里好像有点问题
* */
public static String getLastDayOfMonth(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH,cal.getActualMaximum(Calendar.DATE));
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
}
public static String getFirstDayOfMonth(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month);
cal.set(Calendar.DAY_OF_MONTH,cal.getMinimum(Calendar.DATE));
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
}
/**
* 获取某年第一天日期
* @param year 年份
* @return Date
* @throws ParseException
*/
public static String getCurrYearFirst(int year) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
Date currYearFirst = calendar.getTime();
return dateToString(currYearFirst);
}
/**
* 获取某年最后一天日期
* @param year 年份
* @return Date
* @throws ParseException
*/
public static String getCurrYearLast(int year) throws ParseException{
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.YEAR, year);
calendar.roll(Calendar.DAY_OF_YEAR, -1);
Date currYearLast = calendar.getTime();
return dateToString(currYearLast);
}
//获取季度
public static String getThisSeasonTime(int month){
String quarter="";
if(month>=1&&month<=3){
quarter="Spring";
}
if(month>=4&&month<=6){
quarter="Summer";
}
if(month>=7&&month<=9){
quarter = "Autumn";
}
if(month>=10&&month<=12){
quarter = "Winter";
}
return quarter;
}
//获取几月到几月
public static String getMonthToMonth(int month){
String monthToMonth="";
String[] months={"(January-March)","(April-June)","(July-September)","(October-December)"};
int index=month/3;
monthToMonth=months[index];
return monthToMonth;
}
//根据月得到该季度的第一个月
public static int getFirstMonthByQuarter(int month){
int quarter = 0;
if(month>=1&&month<=3){
quarter = 1;
}
if(month>=4&&month<=6){
quarter = 4;
}
if(month>=7&&month<=9){
quarter = 7;
}
if(month>=10&&month<=12){
quarter = 10;
}
return quarter;
}
//取得当前时间
public static Date getDateTime(String dateTime){
Date strDate=java.sql.Date.valueOf(dateTime);
return strDate;
}
@SuppressWarnings("static-access")
public static int getMonth(String dateTime)
{
Calendar c=Calendar.getInstance();
c.setTime(getDateTime(dateTime));
int month=c.get(c.MONTH)+1;
return month;
}
@SuppressWarnings("static-access")
public static int getYear(String dateTime)
{
Calendar c=Calendar.getInstance();
c.setTime(getDateTime(dateTime));
int year=c.get(c.YEAR);
return year;
}
// 用来全局控制 上一周,本周,下一周的周数变化
private static int weeks = 0;
// 获得当前日期与本周一相差的天数
private static int getMondayPlus(String date) {
Calendar cd = Calendar.getInstance();
cd.setTime(getDateTime(date));
// 获得今天是一周的第几天,星期日是第一天,星期二是第二天......
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);
if (dayOfWeek == 1) {
return -6;
} else {
return 2 - dayOfWeek;
}
}
// 获得上周星期一的日期
public static String getPreviousMonday(String date) {
weeks--;
int mondayPlus = getMondayPlus(date);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.setTime(getDateTime(date));
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);
Date monday = currentDate.getTime();
DateFormat df = DateFormat.getDateInstance();
String preMonday = df.format(monday);
return preMonday;
}
// 获得本周星期一的日期
public static String getCurrentMonday(String date) {
weeks = 0;
int mondayPlus = getMondayPlus(date);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.setTime(getDateTime(date));
currentDate.add(GregorianCalendar.DATE, mondayPlus);
Date monday = currentDate.getTime();
DateFormat df = DateFormat.getDateInstance();
String preMonday = df.format(monday);
return preMonday;
}
// 获得下周星期一的日期
public static String getNextMonday(String date) {
weeks++;
int mondayPlus = getMondayPlus(date);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.setTime(getDateTime(date));
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks);
Date monday = currentDate.getTime();
DateFormat df = DateFormat.getDateInstance();
String preMonday = df.format(monday);
return preMonday;
}
// 获得相应周的周日的日期
public static String getSunday(String date) {
int mondayPlus = getMondayPlus(date);
GregorianCalendar currentDate = new GregorianCalendar();
currentDate.setTime(getDateTime(date));
currentDate.add(GregorianCalendar.DATE, mondayPlus + 7 * weeks + 6);
Date monday = currentDate.getTime();
DateFormat df = DateFormat.getDateInstance();
String preMonday = df.format(monday);
return preMonday;
}
//获得该日期所在周的所有日期
public static List<String> getWeekAllDate(String date) {
SimpleDateFormat dateformat = new SimpleDateFormat("MM-dd");
Calendar c = new GregorianCalendar();
c.setFirstDayOfWeek(Calendar.MONDAY);
c.setTime(getDateTime(date));
List<String> dateList = new ArrayList<String>();
for(int i=0;i<7;i++){
c.set(Calendar.DAY_OF_WEEK, c.getFirstDayOfWeek()+i);
dateList.add(dateformat.format(c.getTime()));
}
return dateList;
}
//获得两个日期所在周的所有日期组合
public static List<String> getTwoWeekAllDate(String date1, String date2) {
System.out.println("ppp"+date1+date2);
SimpleDateFormat dateformat = new SimpleDateFormat("MM-dd");
Calendar c1 = new GregorianCalendar();
c1.setFirstDayOfWeek(Calendar.MONDAY); //中国传统每个星期是从星期一开始的,如需从星期天开始则为 Calendar.MONDAY-1
c1.setTime(getDateTime(date1));
Calendar c2 = new GregorianCalendar();
c2.setFirstDayOfWeek(Calendar.MONDAY);
c2.setTime(getDateTime(date2));
List<String> dateList = new ArrayList<String>();
for(int i=0;i<7;i++){
c1.set(Calendar.DAY_OF_WEEK, c1.getFirstDayOfWeek()+i);
c2.set(Calendar.DAY_OF_WEEK, c2.getFirstDayOfWeek()+i);
dateList.add(dateformat.format(c1.getTime())+"/"+dateformat.format(c2.getTime()));
}
return dateList;
}
/*public static void main(String[] args) {
System.out.println(getTwoWeekAllDate("2012-08-22","2012-08-30").get(0));
//System.out.println(getPreviousMonday("2012-08-30"));
//System.out.println(getLastDayOfMonth(2012, 1));
List<Date> list = getAllTheDateOftheMonth(new Date());
for(Date date: list){
SimpleDateFormat matter1=new SimpleDateFormat("MM-dd");
System.out.println(matter1.format(date));
//System.out.println(date.toString());
}
}*/
/**
* 获得指定日期的月中的所有日期
* */
public static List<Date> getAllTheDateOftheMonth(Date date) {
List<Date> list = new ArrayList<Date>();
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.set(Calendar.DATE, 1);
int month = cal.get(Calendar.MONTH);
while(cal.get(Calendar.MONTH) == month){
list.add(cal.getTime());
cal.add(Calendar.DATE, 1);
}
return list;
}
/**
* 根据日期计算所在周的周一和周日
* @param time 指定的日期
*/
public static String convertWeekByDate(Date time) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //设置时间格式
Calendar cal = Calendar.getInstance();
cal.setTime(time);
//判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了
int dayWeek = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
if(1 == dayWeek) {
cal.add(Calendar.DAY_OF_MONTH, -1);
}
System.out.println("要计算日期为:"+sdf.format(cal.getTime())); //输出要计算日期
cal.setFirstDayOfWeek(Calendar.MONDAY);//设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一
int day = cal.get(Calendar.DAY_OF_WEEK);//获得当前日期是一个星期的第几天
cal.add(Calendar.DATE, cal.getFirstDayOfWeek()-day);//根据日历的规则,给当前日期减去星期几与一个星期第一天的差值
String imptimeBegin = sdf.format(cal.getTime());
System.out.println("所在周星期一的日期:"+imptimeBegin);
cal.add(Calendar.DATE, 6);
String imptimeEnd = sdf.format(cal.getTime());
System.out.println("所在周星期日的日期:"+imptimeEnd);
return imptimeBegin+","+imptimeEnd;
}
/*public static void main(String[] args) {
Calendar c_begin = new GregorianCalendar();
Calendar c_end = new GregorianCalendar();
DateFormatSymbols dfs = new DateFormatSymbols();
String[] weeks = dfs.getWeekdays();
c_begin.set(2011, 11, 31); // Calendar的月从0-11,所以4月是3.
c_end.set(2012, 11, 31); // Calendar的月从0-11,所以5月是4.
int count = 1;
c_end.add(Calendar.DAY_OF_YEAR, 1); // 结束日期下滚一天是为了包含最后一天
while (c_begin.before(c_end)) {
System.out.println("第" + count + "周 日期:"
+ new java.sql.Date(c_begin.getTime().getTime()) + ", "
+ weeks[c_begin.get(Calendar.DAY_OF_WEEK)]);
if (c_begin.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
count++;
}
c_begin.add(Calendar.DAY_OF_YEAR, 1);
}
}*/
/*public static void main(String[] args) throws ParseException {
String startDate = FormatDate.dateToString(FormatDate.getDateAfterDay(FormatDate.stringToDate("2012-01-01"), 7));
System.out.println(startDate);
convertWeekByDate(new Date());
}*/
public static void main(String[] args)
{
List<String> testStr = getDays(new Date(), 4, "yyyy-MM-dd");
for(int i=0; i<testStr.size(); i++)
{
System.out.println(testStr.get(i));
}
}
public static List<String> getDays(Date day, int preDays, String format)
{
List<String> returnValue = new ArrayList<String>();
SimpleDateFormat sdf = new SimpleDateFormat(format);
Calendar c = Calendar.getInstance();
c.setTime(day);
for(int i=0; i<preDays; i++)
{
c.add(Calendar.DAY_OF_YEAR, -1);
/*while(c.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY || c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY)
{
c.add(Calendar.DAY_OF_YEAR, -1);
}*/
returnValue.add(new String(sdf.format(c.getTime())));
}
return returnValue;
}
}
//Java Logger(java日志)
比较常用的用法,就是根据类名实例化一个静态的全局日志记录器:
static Logger logger = Logger.getLogger(test.class);
//关于异常(自写抛出异常)
if(loginInfor == null){
throw new NameNotFoundException();
}else if(!new String(AESCoder.decrypt(Base64.decodeBase64(loginInfor.getPassword()), SecurityCenter.KEY)).equals(pwd)){
throw new PasswordNotMatchException();
}
package xidian.sl.netcredit.exception;
@SuppressWarnings("serial")
public class NameNotFoundException extends Exception{
public NameNotFoundException(){}
public NameNotFoundException(String msg)
{
super(msg);
}
}
回去了解下 ,org.apache.log4j.Logger。写篇博客。