📄 searchroom.java
字号:
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
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 javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
* Servlet implementation class for Servlet: searchroom
*
*/
public class searchroom extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
static final long serialVersionUID = 1L;
public String price="0",typ="default";
public int pr=0,dlp=0,ulp=0;
/*
* (non-Java-doc)
*
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public searchroom() {
super();
}
/*
* (non-Javadoc)
*
* @see javax.servlet.Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
super.destroy();
}
/*
* (non-Java-doc)
*
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request,
* HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
/*
* (non-Java-doc)
*
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request,
* HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;");
PrintWriter out=response.getWriter();
HttpSession session=request.getSession(true);
roomBean rmb = (roomBean)session.getAttribute("rmb"); // get session
bookBean bb=(bookBean)session.getAttribute("bb"); // bean
if (rmb == null) { rmb = new roomBean(); }// set a new bean object
else ;
String query;
typ=request.getParameter("type");
price=request.getParameter("price");
String nights=request.getParameter("nights");
int night=Integer.valueOf(nights);
double tp;
String totalprice;
if (typ.equals("all"))
{
if (price.equals("all"))
{
dlp=0;
ulp=3000;
query = "SELECT * FROM Room WHERE price IN (SELECT price FROM Room WHERE ID IN (SELECT ID FROM Room WHERE ID LIKE 'su%' OR ID LIKE 'de%' OR ID LIKE 'cp%' OR ID LIKE 'bs%') AND price>0 AND price<=3000 AND status='free' AND available='yes');";
}
else
{
if (price.equals("100"))
{
dlp=0;
ulp=100;
}
else if (price.equals("300"))
{
dlp=100;
ulp=300;
}
else if (price.equals("500"))
{
dlp=300;
ulp=500;
}
else if (price.equals("700"))
{
dlp=500;
ulp=700;
}
else if(price.equals("3000"))
{
dlp=700;
ulp=3000;
}
else
{
dlp=0;
ulp=0;
}
query = "SELECT * FROM Room WHERE price IN (SELECT price FROM Room WHERE ID IN (SELECT ID FROM Room WHERE ID LIKE 'su%' OR ID LIKE 'de%' OR ID LIKE 'cp%' OR ID LIKE 'bs%') AND price>"+dlp+" AND price<="+ulp+" AND status='free' AND available='yes');";
}
}
else
{
if (price.equals("all"))
{
dlp=0;
ulp=3000;
query = "SELECT * FROM Room WHERE price IN (SELECT price FROM Room WHERE ID IN (SELECT ID FROM Room WHERE ID LIKE '"+typ+"%') AND price>0 AND price<=3000 AND status='free' AND available='yes');";
}
else
{
pr=Integer.parseInt(price);
if (price.equals("100"))
{
dlp=0;
ulp=100;
}
else if (price.equals("300"))
{
dlp=100;
ulp=300;
}
else if (price.equals("500"))
{
dlp=300;
ulp=500;
}
else if (price.equals("700"))
{
dlp=500;
ulp=700;
}
else if(price.equals("3000"))
{
dlp=700;
ulp=3000;
}
else
{
dlp=0;
ulp=0;
}
query = "SELECT * FROM Room WHERE price IN (SELECT price FROM Room WHERE ID IN (SELECT ID FROM Room WHERE ID LIKE '"+typ+"%') AND price>"+dlp+" AND price<="+ulp+" AND status='free' AND available='yes');";
}
}
//determine room type and price, then set query
try
{
int rowNum=0;
ServletContext context = getServletContext();
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
String appDirRoot = context.getRealPath("/");
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 = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(query); //execute query
ResultSetMetaData rm=rs.getMetaData();
int colNum=rm.getColumnCount();
int lp=1;
int lop=1;
if (!rs.wasNull())
{
if (rs.next())
{
for (rs.first(); !rs.isAfterLast(); rs.next())
{
rowNum++;
}// get row number
}
}//determine whether or not the result set is null
String data[][]=new String[rowNum+2][colNum+1];
data[0][0]="Room Type";
for (rs.first();!rs.isAfterLast();rs.next())
{
if(rs.getString(1).split("0")[0].equals("su"))
{
data[lp][0]="Superior";
}
else if(rs.getString(1).split("0")[0].equals("de"))
{
data[lp][0]="Deluxe";
}
else if(rs.getString(1).split("0")[0].equals("cp"))
{
data[lp][0]="Club Prestige";
}
else if(rs.getString(1).split("0")[0].equals("bs"))
{
data[lp][0]="1/2 Bedroom Suite";
}
lp++;
}//determine room type
for (int i=0;i<(colNum);i++)
{
data[0][i+1]=rm.getColumnName(i+1);
}//get column name
for (rs.first();!rs.isAfterLast();rs.next())
{
for (int i=0;i<(colNum);i++)
{
data[lop][i+1]=rs.getString(i+1);
}
lop++;
}
//get data from result set
String item=" ", qty=" ";
out.println("<html><head><title>Search Result</title>");
out.println("<script src=\"inc/back.js\" type=\"text/javascript\"></script>");
out.println("<link href=\"inc/1.css\" rel=\"stylesheet\" type=\"text/css\"><link href=\"inc/content.css\" rel=\"stylesheet\" type=\"text/css\">");
out.println("</head>");
out.println("<body>");
out.println("<table style=\"width:100%;\">");
out.println("<tr style=\"color:#FFFFFF;\" bgcolor=\"#990033\"><td>Room ID</td><td>Room Type</td>");
out.println("<td>Booked Times</td><td>Room Price</td><td>Number of Nights</td><td>Total Price</td></tr>");
out.println("<tr><td height=\"10\" colspan=\"10\"></td></tr>");
out.println("<tr><td colspan=\"6\"><hr class=\"column\" /></td></tr>");
for (int i=1;i<(rowNum+1);i++)
{
out.println("<form action=\"reservationZone.jsp\" method=\"post\" width=\"100%\">");
out.println("<tr><td>");
out.print(data[i][1]);
out.print("</td><td>");
out.print(data[i][0]);
out.print("</td><td>");
out.print(data[i][colNum]);
out.print("</td><td>");
out.print(data[i][colNum-2]);
out.print("</td>");
out.print("<td>"+night+"</td>");
tp=Integer.valueOf(data[i][colNum-2])*night;
totalprice=String.valueOf(tp);
out.print("<td>"+tp+"</td>");
out.print("<tr><td height=\"10\" colspan=\"6\"></td></tr>");
/*out.print("<tr><td colspan=\"2\" bgcolor=\"#003366\" style=\"color:#FFFFFF;\">Available Items:</td></tr>");
out.print("<tr><td height=\"10\" colspan=\"6\"></td></tr>");
out.print("<tr>");
if(!data[i][3].equals("none"))
{
String subdata1[]=data[i][3].split("|");
for (int z=1;z<subdata1.length;z++)
{
String subdata2[]=subdata1[z].split("*");
out.print("<td>Item: "+subdata2[0]+"</td>");
out.print("<td>Qty: "+subdata2[1]+"</td>");
}
}
else out.print("<td>There is no Item!</td>");*/
out.print("<tr>");
out.print("<td>");
out.println("<input type=\"hidden\" name=\"room_id\" value=\""+data[i][1]+"\" checked /> ");
out.println("<input type=\"hidden\" name=\"sprice\" value=\""+data[i][colNum-2]+"\" checked /> ");
out.println("<input type=\"hidden\" name=\"nights\" value=\""+night+"\" checked /> ");
out.println("<input type=\"hidden\" name=\"price\" value=\""+tp+"\" checked /> ");
out.println("<input type=\"hidden\" name=\"type\" value=\""+data[i][0]+"\" checked /> ");
out.print("<input type=\"submit\" name=\"Submit\" value=\"Book It!\" />");
out.print("</td>");
out.println("</tr>");
out.println("</form>");
out.println("<tr><td colspan=\"6\"><hr class=\"column\" /></td></tr>");
}//output all data
out.println("</table>");
out.println("<p><a href=\"reservation.jsp\">New search</a></p>");
out.println("</body></html>");
//output page
rmb.setType(typ);
rmb.setNum(String.valueOf(rowNum));
//response.sendRedirect("search.jsp");
rs.close();
stmt.close();
conn.close();
}
catch(SQLException e)
{
out.println("<html><head><title>Search Result</title>");
out.println("<script src=\"inc/back.js\" type=\"text/javascript\"></script>");
out.println("<script language=\"javascript\" type=\"text/javascript\"> var bLoadComplete = false;window.onload = f_iframeResize; </script>");
out.println("<style type=\"text/css\"><!--body {font-family: Arial, Helvetica, sans-serif;font-size: 12px;");
out.println("color: #0099FF;text-decoration: blink;background-color: transparent;border: none;");
out.println("}--></style>");
out.println("</head>");
out.println("<body>");
out.println("Sorry,there is no more room available... ");
out.println("<a href=\"reservation.jsp\">Change condition...</a>");
out.println("Other: Error occur!"+e.getCause());
out.println("Details: "+e.getStackTrace()+"|"+e.getMessage()+"|"+typ);
out.println("</body></html>");
//go to null result set page
}
catch (Exception e) {
out.println("Other: Error occur!"+e.getCause());
out.println("Details: "+e.getStackTrace());
} //other error detector
}
/*
* (non-Javadoc)
*
* @see javax.servlet.GenericServlet#init()
*/
public void init() throws ServletException {
// TODO Auto-generated method stub
super.init();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -