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

📄 auto2.java

📁 小型简单的旅馆预订系统. 客户:预定,更改,撤销,会员积分累积,查询预定,会员. 后台:会员更改,房间更改,预定更改,预定信息统计.
💻 JAVA
字号:
package servlet;

import javax.servlet.*;

import javax.servlet.http.*;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

import servlet.roomReport.task;

import java.io.*;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.*;


public class auto2 extends HttpServlet 
{
	private static final String CONTENT_TYPE = "text/html; charset=GBK";
	 public void init() throws ServletException {
		 roomReport rp=new roomReport();
	 
	 }
	 public void doGet(HttpServletRequest request, HttpServletResponse response) throws

     ServletException, IOException {

}

	 //Clean up resources

	 public void destroy() {

}
	 
	 	Timer t;
	 	void roomReport()
	 	{
	 		Date now=new Date();
	 		
	 		SimpleDateFormat format= new SimpleDateFormat("dd/MM/yyyy");
	 		String n=format.format(now);
	 		Calendar cl=Calendar.getInstance();
	 		cl.set(2007, 10, 8, 22, 43);
	 		t=new Timer();
	 		t.schedule(new task(),0,24*60*60*1000);//60 seconds
	 	}
	 	class task extends TimerTask
	 	{

	 		@Override
	 		public void run()
	 		{
	 			System.out.println(getDate());
	 			System.out.println(getTime());
	 			String file;
	 			try
	 			{
	 				file = roomReport.createXML();
	 				
	 				addDB("0","report","system",file);
	 			}
	 			catch (SQLException e)
	 			{
	 				// TODO Auto-generated catch block
	 				e.printStackTrace();
	 			}
	 			
	 		}
	 		
	 		
	 	}
	 	public String fileName;
	 	public insert in=new insert();
	 	public String getDate()
	 	{
	 		Date now=new Date();
	 		SimpleDateFormat format= new SimpleDateFormat("dd_MM_yyyy");
	 		String n=format.format(now);
	 		return n;
	 	}
	 	public String getDate2()
	 	{
	 		Date now=new Date();
	 		SimpleDateFormat format= new SimpleDateFormat("dd/MM/yyyy");
	 		String n=format.format(now);
	 		return n;
	 	}
	 	
	 	public String getTime()
	 	{
	 		Date now=new Date();
	 		SimpleDateFormat format= new SimpleDateFormat("hh:mm:ss");
	 		String n=format.format(now);
	 		return n;
	 	}
	 	public String getRan()
	 	{
	 		Die die=new Die();
	 		String ran=die.getRandomString();
	 		return ran;
	 	}
	 	public String getRanString()
	 	{
	 		String st="default";
	 		st=getDate2().concat(getRan());
	 		return st;
	 	}
	 	public String createXML() throws SQLException
	 	{
	 		String date=getDate();
	 		String query="SELECT Count(status) as free FROM Room WHERE status='free';";
	 		String free=in.getQuery(query, "free");
	 		query="SELECT Count(status) as free FROM Room WHERE status='booked';";
	 		String booked=in.getQuery(query, "free");
	 		query="select count(ID) as total from room;";
	 		String totalRoom=in.getQuery(query, "total");
	 		String total=String.valueOf(Integer.valueOf(free)+Integer.valueOf(booked));
	 		double per=(Double.valueOf(free)/Double.valueOf(total))*100;
	 		String percent=String.valueOf(per);
	 		Document doc=DocumentHelper.createDocument();
	 		doc.addProcessingInstruction("xml-stylesheet","type='text/xsl' href='roomReport.xsl'");
	 		//read database data for single room
	 		
	 		try
	 		{
	 			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
	 			String driver = "Driver={Microsoft Access Driver (*.mdb)}";
	 			String dbq = "DBQ=E:\\Java\\Tomcat 6.0\\webapps\\ROOT\\database\\HRSDB.mdb";
	 			String connectionString = "jdbc:odbc:" + driver + ";" + dbq;
	 			Connection conn = DriverManager.getConnection(connectionString);
	 			Statement stmt;
	 			stmt = conn.createStatement(
	 					ResultSet.TYPE_SCROLL_SENSITIVE,
	 					ResultSet.CONCUR_UPDATABLE);
	 			query="select * from Room";
	 			ResultSet rs = stmt.executeQuery(query);
	 			ResultSetMetaData   rm=rs.getMetaData(); 
	 			
	 		
	 		//Element root=DocumentHelper.createElement("students");
	 		
	 		//doc.setRootElement(root); //set root
	 		
	 		Element root=doc.addElement("reports");
	 		
	 		Element eltStu1=root.addElement("roomReport");
	 		Element eltFree1=eltStu1.addElement("free");
	 		Element eltBook1=eltStu1.addElement("booked");
	 		Element eltTotal1=eltStu1.addElement("total");
	 		Element eltPer1=eltStu1.addElement("percent");
	 		
	 		eltFree1.setText(free);
	 		eltBook1.setText(booked);
	 		eltTotal1.setText(total);
	 		eltPer1.setText(percent);
	 		//add total status room above
	 		for (rs.first(); !rs.isAfterLast(); rs.next())
	 		{
	 			Element eltStu2=root.addElement("singleRoomReport");
	 			Element eltID=eltStu2.addElement("room_ID");
	 			Element eltType=eltStu2.addElement("type");
	 			Element eltAvail=eltStu2.addElement("available");
	 			Element eltStat=eltStu2.addElement("status");
	 			Element eltPrice=eltStu2.addElement("price");
	 			Element eltClose=eltStu2.addElement("close_date");
	 			Element eltTimes=eltStu2.addElement("times");
	 			String roomType=rs.getString("ID");
	 			eltID.setText(roomType);
	 			String type="";
	 			
	 			if(roomType.split("0")[0].equals("su"))
	 			{
	 				type="Superior";
	 			}
	 			else if(roomType.split("0")[0].equals("de"))
	 			{
	 				type="Deluxe";
	 			}
	 			else if(roomType.split("0")[0].equals("cp"))
	 			{
	 				type="Club Prestige";
	 			}
	 			else if(roomType.split("0")[0].equals("bs"))
	 			{
	 				type="1/2 Bedroom Suite";
	 			}
	 			eltType.setText(type);
	 			eltAvail.setText(rs.getString("available"));
	 			eltStat.setText(rs.getString("status"));
	 			eltPrice.setText(rs.getString("price"));
	 			eltClose.setText(rs.getString("close_date"));
	 			eltTimes.setText(rs.getString("times"));
	 		}
	 		
	 		}
	 		catch (InstantiationException e2)
	 		{
	 			// TODO Auto-generated catch block
	 			e2.printStackTrace();
	 		}
	 		catch (IllegalAccessException e2)
	 		{
	 			// TODO Auto-generated catch block
	 			e2.printStackTrace();
	 		}
	 		catch (ClassNotFoundException e2)
	 		{
	 			// TODO Auto-generated catch block
	 			e2.printStackTrace();
	 		}
	 		
	 		//add single room above
	 		PrintWriter pw=new PrintWriter(System.out);
	 		OutputFormat outFat=new OutputFormat("    ",true);
	 		outFat.setEncoding("utf-8");
	 		try
	 		{
	 			fileName="roomReport"+date+"_"+getRan()+".xml";
	 			XMLWriter xmlWriter=new XMLWriter(new FileWriter("XML/"+fileName),outFat);
	 			xmlWriter.write(doc);
	 			xmlWriter.close();
	 			/*@file name: roomReport/dd/mm/yyyy/random.xml
	 			 * root: XML
	 			 *///~
	 			//xmlWriter.flush();
	 			//doc.write(d);
	 			//pw.close();
	 			//pw.flush();
	 		}
	 		catch (UnsupportedEncodingException e1)
	 		{
	 			// TODO Auto-generated catch block
	 			e1.printStackTrace();
	 		}
	 		catch (IOException e)
	 		{
	 			// TODO Auto-generated catch block
	 			e.printStackTrace();
	 		}
	 		return fileName;
	 	}
	 	
	 	public void addDB(String user_id,String type,String processor,String path)
	 	{
	 		
	 		insert in=new insert();
	 		String query;
	 		String ran=getRanString();
	 		query="INSERT INTO Report (ID,dt,processor,content) VALUES ('rep"+ran+"','"+getDate2()+"','"+processor+"','"+path+"');";//insert to report-->set report path
	 		in.update(query);
	 		query="SELECT ID FROM Report WHERE content='"+path+"';";
	 		String m=in.getQuery(query, "ID");
	 		
	 		query="INSERT INTO History (ID,user_id,type,processor,related_id) VALUES ('his"+ran+"','"+user_id+"','"+type+"','"+processor+"','"+m+"');";//insert to history-->set tracking path
	 		in.update(query);
	 	}

	 	
	 


}

⌨️ 快捷键说明

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