⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dateshowday.java

📁 JAVA邮件系统
💻 JAVA
字号:
/* 
 *
 */

import java.io.*;
import java.text.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class DateShowDay extends HttpServlet {


    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
		HtmlOut htmlOut = new HtmlOut(response);
		// 得到名字和口令
		String name,pass;

		Person person = new Person();
		person.setName (CommonMethods.GetUserName(request));
		pass = CommonMethods.GetUserPass (request);
		//判断用户名及密码是否合法
		if( person.getName ()==null || (!person.checkPassword(pass)) )
		{
			htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE  ,"",
								"请先登录",
								"Login?action=reLog");
			htmlOut.outHtml();
			return;
		}
		name= person.getName ().trim();

		String action=request.getParameter("action");
		if( action != null && action.compareTo("tx")==0 ){
			String sSet= request.getParameter ("set");

			String sSet1= request.getParameter ("warnby1");
			String sSet2= request.getParameter ("warnby2");
		
			DBOperater DB = new DBOperater ("train");
			String queryString;

	   		int nTrainTX = 0;
			if( sSet!=null ){
				if( sSet1!=null ){
					nTrainTX |= 1;	
				}
				if( sSet2!=null ){
					nTrainTX |= 2;	
				}
				DB.executeUpdate ( "update person set datetx="
								   +nTrainTX +" where username='"
								   +person.getName()+"'" );
				DB.close ();
				htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE_WITHCLOSE  ,
									"","设置成功!"
									,"");
				return ;									   
			}
		
			ResultSet rs ;
			try{
				rs= DB.executeQuery ("select datetx from person where username='"
											+person.getName()+"'" );
				if(rs.next ())
					nTrainTX=rs.getInt (1);
			}catch(Exception e){
			}
	   		    
			DB.close();
		
			TemplateList tempList = CommonMethods.getDZTemplate();
			SingleTemplate st = tempList.searchTemplate ("ROOT");
			String sKey;
			for( int i=0;i<st.getKeyNum ();i++){
				sKey=st.getKeyAt (i);
				htmlOut.addString(st.getStringAt (i));
				if( sKey.compareTo("cgi-path")==0 )
					htmlOut.addString (CommonMethods.sHostNameCGI);
				if( sKey.compareTo ("warnby")==0)
					htmlOut.addString (Integer.toString (nTrainTX));
				if( sKey.compareTo ("warncgi")==0)
					htmlOut.addString ("HbServlet");
			}
			htmlOut.addString(st.getEndString ());
			
			htmlOut.outHtml();
			return;
		}
		
		String year= new String ();
		String month= new String();
		String day= new String ();
		year = request.getParameter("y");
		month = request.getParameter ("m");
		day = request.getParameter ("d");
        Calendar myCalendarChange = Calendar.getInstance ();
	    MyCalendar myCalendar = new MyCalendar() ;

		//判断年月日是否为空
	   if ((year == null)||(month == null)|| (day == null))
		{	
		   year = myCalendarChange.get(myCalendarChange.YEAR )+"";
		   month = (myCalendarChange.get (myCalendarChange.MONTH )+1)+"";
		   day = myCalendarChange.get(myCalendarChange.DATE )+"";
		   /*htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
							"请选择正确的日期","Login");
            htmlOut.outHtml();
			return;*/
		}
		int nYear;
		try{
			nYear = Integer.valueOf(year).intValue ();
		}catch(Exception e){
		    nYear = myCalendarChange.get (myCalendarChange.YEAR);
		}
		int nMonth; 
		try{
			nMonth=Integer.valueOf(month).intValue ();
		}catch(Exception e){
	        nMonth=myCalendarChange.get (myCalendarChange.MONTH)+1;
		};
		int nDay;
		try{
			nDay= Integer.valueOf(day).intValue ();
		}catch(Exception e){
			nDay =myCalendarChange.get(myCalendarChange.DATE );
		}
	    if ((nYear <2050 ) && (nYear >= 1900) || (nYear ==1900 && nMonth>1 && nMonth<=12))
			;
		else
		{
			htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
								"请选择界于1900年2月到2050年之间的年份","Login");
			htmlOut.outHtml ();
			return;
		}
		if ((nMonth >=1)&&(nMonth <=12))
			;
		else{
			htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
								"请选择界于1-12之间的月份","Login");
			htmlOut.outHtml ();
			return;
		}
		if ((nDay>=1)&&(nDay <=myCalendar.getMaxDay (nYear,nMonth) ))
			;
		else {
				htmlOut.setErrorID (htmlOut.SHOW_SIMPLE_MESSAGE ,"",
								"请选择界于1-"+myCalendar.getMaxDay (nYear,nMonth)+"之间的日期","Login");
				htmlOut.outHtml ();
				return;		
		}
		//得到模板
		TemplateList tempList=CommonMethods.getDateShowDayTemplate   (); 
		SingleTemplate st;
		st = tempList.searchTemplate ("ROOT");
		if(st==null)
			return ;
		//替换模板文件
		String sKey ;
        
		myCalendar.getDate (nYear,nMonth-1 ,nDay);
		int yearChange=0;
		int monthChange=0;
		int nKey = st.getKeyNum ();
		for(int i=0;i<nKey;i++){
			htmlOut.addString (st.getStringAt (i));
		//	out.println(st.getStringAt (i));
			sKey = st.getKeyAt (i);
			if( sKey.compareTo("cgi-path")==0 )
				htmlOut.addString (CommonMethods.sHostNameCGI);
			if( sKey.compareTo("年月")==0 )	
				htmlOut.addString ("公元"+nYear+"年"+nMonth+"月");
			if( sKey.compareTo ("日")==0)
				htmlOut.addString (day+"");
			if( sKey.compareTo ("星期")==0)
				htmlOut.addString (myCalendar.getWeek ());
			if(sKey.compareTo ("阴历")==0)
				htmlOut.addString (myCalendar.getNlYear ()+"年"+myCalendar.getNlMonth() + myCalendar.getNlDay ());
		    if(sKey.compareTo("节日")==0)
			{
			        DBOperater DB= new DBOperater ("Dataholiday");
					ResultSet rs = DB.executeQuery ("select Hname from Dateholiday where ((month='"+nMonth+"' and day ='"+ day+"') or ( month='"+myCalendar.getNlMonth ()+"' and day = '"+myCalendar.getNlDay ()+"'))");
					//查询今天是否是节日或需要提醒的特别的日子
					String sResultDay="";
					if (rs!=null){
					try{
					while(rs.next())
					{ sResultDay = rs.getString(1);}
	   				} catch(Exception e){
					}
			}
	   			DB.close();
				htmlOut.addString (sResultDay);
			}
			if(sKey.compareTo ("日历")==0)
			{
				htmlOut.addString  ( myCalendar.makeCalendar  (nYear,nMonth,0));
			}
			if(sKey.compareTo ("月份")==0)
				htmlOut.addString (year+"年"+nMonth+"月");
			if(sKey.compareTo ("年")==0)
				htmlOut.addString (year);
			if(sKey.compareTo ("月")==0)
				htmlOut.addString (""+nMonth);

			if(sKey.compareTo ("上个月")==0)
			{	
				myCalendarChange.set (nYear,nMonth-2,1);
			    yearChange = myCalendarChange.get (myCalendarChange.YEAR );
				monthChange = myCalendarChange.get (myCalendarChange.MONTH )+1;
			
				if ((yearChange == 1900)&&(monthChange==1))
				{
					yearChange = 2049;
					monthChange = 11;
				}
				if (monthChange ==0)
				{	monthChange =12;
				    yearChange = yearChange -1;
				}
				if (nDay > myCalendar.getMaxDay(yearChange,monthChange))
				   nDay = myCalendar.getMaxDay(yearChange,monthChange);
			    htmlOut.addString("DateShowDay?y="+yearChange+"&m="+monthChange+"&d="+nDay);
			}
			if(sKey.compareTo ("下个月")==0)
			{
			    myCalendarChange.set (nYear,nMonth,1);
				yearChange = myCalendarChange.get (myCalendarChange.YEAR );
				monthChange = myCalendarChange.get (myCalendarChange.MONTH )+1;
				if ((yearChange == 2049)&&(monthChange==12))
				{
					yearChange = 1900;
					monthChange = 1;
				}
				if (monthChange ==0)
				{	monthChange =12;
				    yearChange = yearChange + 1;
				}
		        if (nDay > myCalendar.getMaxDay(yearChange,monthChange))
					nDay = myCalendar.getMaxDay(yearChange,monthChange);
				//calendar.set(yearChange,monthChange,nDay);
				htmlOut.addString("DateShowDay?y="+yearChange+"&m="+monthChange+"&d="+nDay);
			}
			if (sKey.compareTo ("添加事件")==0)
			{
				//String addString = "DateUpdateThing?y="+year+"&m="+nMonth+"&d="+day+"&action=add";
				String addString = "DateUpdateThing?y="+year+"&m="+nMonth+"&d="+day;
				htmlOut.addString (addString);  
			}
			if (sKey.compareTo ("时间安排")==0)
				htmlOut.addString (myCalendar.getDatePlan (name));
			if (sKey.compareTo ("编辑")==0)
				htmlOut.addString ("DateEditDaily?y="+year+"&m="+nMonth+"&d="+day);
			if (sKey.compareTo ("日记标题")==0)
				htmlOut.addString (myCalendar.getDateDaily (name));
			if (sKey.compareTo ("年历")==0)
				htmlOut.addString ("DateShowYear?y="+year);
		//	if (sKey.compareTo ("重要日期")==0)
				//htmlOut.addString  (myCalendar.getImportAwoke (name));
		}
		htmlOut.addString (st.getEndString());
		//out.println (st.getEndString());
		htmlOut.outHtml();
			
		return;
    }
       public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
		doGet(request,response);
	}
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -