📄 auto2.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 + -