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