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

📄 searchaction.java

📁 电子商务网站使用MVC模式B/S结构功能不是很全适合初学者看
💻 JAVA
字号:
package Common;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.util.ArrayList;
import Common.DBConnectBean;
import Common.SearchResultHighLisht;
public class searchAction extends HttpServlet{
	public void doGet(HttpServletRequest request,HttpServletResponse response)throws IOException,ServletException{
		ServletContext application=getServletConfig().getServletContext(); 
		request.setCharacterEncoding("gb2312");
		HttpSession session=request.getSession();
		DBConnectBean dbConnectBean=new DBConnectBean("sun.jdbc.odbc.JdbcOdbcDriver","jdbc:odbc:shopping","","");
		ArrayList list=new ArrayList();
		ArrayList temp=new ArrayList();

		String card="",num="",model="",photo="",net="",price="",special="",picture="",describe="",key="";

		int id=0;
	
		//System.out.println("temp有这么大"+temp.size());
		//这个是所有用户共同拥有的,所以用application来保存
/*-------------先解决人气排行*/


/*-------------先解决人气排行*/
		list=dbConnectBean.getWantedRecord("select * from commodity order by concern desc",5);
		//System.out.println("list有这么大"+list.size());
		if(list!=null){	
			Hashtable table=new Hashtable();
			for(int i=0;i<list.size();i++){
				table=(Hashtable)list.get(i);
				String str="";	
				card=table.get("card".toUpperCase()).toString();str=str+""+card;
				num=table.get("num".toUpperCase()).toString();str=str+""+num;
				
				id=Integer.parseInt(table.get("id".toUpperCase()).toString());
				table.put("showString".toUpperCase(),str);
				//System.out.println("str是"+str);
				//System.out.println("id是"+id);
				table.put("id".toUpperCase(),id);
				table.put("concern".toUpperCase(),table.get("concern".toUpperCase()).toString());
				temp.add(table);
			}
		}
		//System.out.println("temp有这么大"+temp.size());
		//这个是所有用户共同拥有的,所以用application来保存
		application.setAttribute("concernPhone".toUpperCase(),temp);
/*-------------先解决人气排行*/

/*-------------先解决新机排行*/
/*-------------解决发货通知*/
		temp=new ArrayList();
		list=dbConnectBean.getAllRecord("SELECT * FROM userOrders WHERE consignment<>'还未发货' and receipt='未收到'  order by consignment desc");
		//System.out.println("list有这么大"+list.size());
		if(list!=null){	
			Hashtable table=new Hashtable();
			for(int i=0;i<list.size();i++){
				table=(Hashtable)list.get(i);
				String username="",orderID="",addDay="",totalPrice="",consignment="";	
				username=table.get("username".toUpperCase()).toString();
				orderID=table.get("orderID".toUpperCase()).toString();
				addDay=table.get("addDay".toUpperCase()).toString();
				totalPrice=table.get("totalPrice".toUpperCase()).toString();
				consignment=table.get("consignment".toUpperCase()).toString();

				table.put("username".toUpperCase(),username);
				table.put("orderID".toUpperCase(),orderID);
				table.put("addDay".toUpperCase(),addDay);
				table.put("totalPrice".toUpperCase(),totalPrice);
				table.put("consignment".toUpperCase(),consignment);
				temp.add(table);
			}
		}
		//System.out.println("temp有这么大"+temp.size());
		//这个是所有用户共同拥有的,所以用application来保存
		application.setAttribute("sentOrders".toUpperCase(),temp);
/*-------------解决发货通知*/
		System.out.println("heerewogo");
		String sql="";
		String keyWord[]=new String[10];
		//	//System.out.print(temp.size());
		String searchType="";
		int i=0;
		if(request.getParameter("searchType")!=null){
			searchType=request.getParameter("searchType").toString();
			System.out.println(searchType+"   searchType" );
			if(searchType.equals("priceSearch")){
				String priceSQL="";
				if(request.getParameter("price")!=null){
					price=request.getParameter("price");
					int pc=Integer.parseInt(price);
					pc=pc-pc%1000;
					int high=pc+999;
					priceSQL="select * from commodity where price between "+pc+" and "+high;
				}else{
					if(session.getAttribute("priceSQL".toUpperCase())!=null){
						priceSQL=session.getAttribute("priceSQL".toUpperCase()).toString();
					}else{					
						priceSQL=session.getAttribute("priceSQL".toUpperCase()).toString();
					}
				}
				sql=priceSQL;	
				System.out.println(priceSQL+"  jiage ");
				session.setAttribute("priceSQL".toUpperCase(),priceSQL);
				session.setAttribute("searchType".toUpperCase(),searchType);
			}else if(searchType.equals("otherSearch")){
				String otherSQL="";
				if(request.getParameter("pageNumber")==null){
					String price1="",price2="";
				    card=request.getParameter("card");
					model=request.getParameter("model");
					photo=request.getParameter("photo");
					net=request.getParameter("net");
					special=request.getParameter("special");
					price1=request.getParameter("price1");
					price2=request.getParameter("price2");
					key=request.getParameter("key");
					
					if(card!=null&&!card.equals("-----任意-----")){
						keyWord[i++]=card;
						card="(select * from commodity where card='"+card+"')";
					}else {
						card="(select * from commodity)";
					}
					
					if(model!=null&&!model.equals("-----任意-----")){
						keyWord[i++]=model;
						model="(select * from "+card+" where model='"+model+"')";
					}else{
						model=card;
					}
					
					if(photo!=null&&!photo.equals("-----任意-----")){
						keyWord[i++]=photo;
						if(photo.equals("----没有----")){
							photo="(select * from "+model+" where photo='"+photo+"')";
						}else if(photo.equals(">100")){
							photo="(select * from "+model+" where photo='"+photo+"' or photo='100~200' or photo='200~300' or photo='>300')";
						}else if(photo.equals("100~200")){
							photo="(select * from "+model+" where photo='"+photo+"' or photo='200~300' or photo='>300')";
						}else if(photo.equals("200~300")){
							photo="(select * from "+model+" where photo='"+photo+"' or photo='>300')";
						}else if(photo.equals(">300")){
							photo="(select * from "+model+" where photo='"+photo+"')";
						}
					}else{
						photo=model;
					}
					
					if(net!=null&&!net.equals("-----任意-----")){
						keyWord[i++]=net;
						net="(select * from "+photo+" where net='"+net+"')";
					}else{
						net=photo;
					}
					
					if(special!=null&&!special.equals("-----任意-----")){
						keyWord[i++]=special;
						special="(select * from "+net+" where special='"+special+"')";
					}else{
						special=net;
					}
					if(price2!=null&&price2.equals("")){
						price2=null;
					}
					if(price1!=null&&price1.equals("")){
						price1=null;
					}
					if(price1!=null&&price2!=null){
						special="(select * from "+special+" where price between "+price1+" and "+price2+")";
					}else if(price1==null&&price2!=null){
						special="(select * from "+special+" where price between 0 and "+price2+")";
					}else if(price1!=null&&price2==null){
						special="(select * from "+special+" where price between "+price1+" and 999999999999)";
					}
				//	sql=special;
			//		System.out.println("/n/nvery good "+sql+"\n\n/n/n");
					if(key!=null&&!key.equals("")){
						keyWord[i++]=key;
						key="SELECT * FROM "+special+" WHERE id like '%"+keyWord[i-1]+"%' or card like '%"+keyWord[i-1]+"%' or num like '%"+keyWord[i-1]+"%'" ;
						key+=" or model like '%"+keyWord[i-1]+"%' or net like '%"+keyWord[i-1]+"%' or special like '%"+keyWord[i-1]+"%'" ;
						key+=" or price like '%"+keyWord[i-1]+"%' ";
					}else{
						key=special;
					}
					otherSQL=key;
				}else{
					if(session.getAttribute("otherSQL".toUpperCase())!=null){
						otherSQL=session.getAttribute("otherSQL".toUpperCase()).toString();
					}
				}
				System.out.println(otherSQL+"  jiage ");
				session.setAttribute("otherSQL".toUpperCase(),otherSQL);
				session.setAttribute("searchType".toUpperCase(),searchType);
				sql=otherSQL;
			}
		}else {
			System.out.println("kaokaokao");
		}
		list=dbConnectBean.getAllRecord(sql);
		SearchResultHighLisht searchResultHighLisht=new SearchResultHighLisht();
		System.out.println("it found "+list.size());
		session.setAttribute("searchResultSize".toUpperCase(),list.size());
		if(list!=null){
			session.removeAttribute("searchResult".toUpperCase());
			int pageNumber=1;
			int pageSize=5;
			int pages=list.size()%pageSize==0?list.size()/pageSize:list.size()/pageSize+1;
			
			if(request.getParameter("pageNumber")!=null){
				pageNumber =  Integer.parseInt((request.getParameter("pageNumber")));
				if(pageNumber>pages) 
					pageNumber=pages;
			}
			list=null;	
			temp=dbConnectBean.getPageRecord(sql,pageSize,pageNumber);
			if(searchType.equals("otherSearch")){
				temp=searchResultHighLisht.setResultHighLight(temp,keyWord,i);
			}
			System.out.println("temp "+temp.size());	
			session.setAttribute("pages".toUpperCase(),pages);
			session.setAttribute("pageNumber".toUpperCase(),pageNumber);
			session.setAttribute("searchResult".toUpperCase(),temp);
		}
		
		application.getRequestDispatcher("/common/searchResult.jsp").forward(request,response);
	}
	public void doPost(HttpServletRequest request,HttpServletResponse response)
	   throws IOException,ServletException
	   {
	   	doGet(request,response);
	   }
}

⌨️ 快捷键说明

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