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

📄 searchroom.java

📁 小型简单的旅馆预订系统. 客户:预定,更改,撤销,会员积分累积,查询预定,会员. 后台:会员更改,房间更改,预定更改,预定信息统计.
💻 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 + -