亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? searchaction.java

?? 本系統(tǒng)實(shí)現(xiàn)了從五個網(wǎng)站上搜索的圖書進(jìn)行整合后
?? JAVA
字號:
package com.booksearch.action;
/************************************************************
FileName: SearchAction.java
Author: fengguang 
Date:11/16/08
Description: 在本地?cái)?shù)據(jù)庫中查找是否有匹配記錄,如果有,則轉(zhuǎn)到數(shù)據(jù)處理類,否則,轉(zhuǎn)到抽取網(wǎng)站內(nèi)容的action
Class List: SearchAction
***********************************************************/



import java.io.StringReader;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.StringTokenizer;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.apache.struts.action.Action;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;


import com.booksearch.actionform.SearchActionForm;
import com.booksearch.dao.BookLoadDao;
import com.booksearch.dao.BookSaveDao;
import com.booksearch.dao.DailyLoadDao;
import com.booksearch.dao.DailySaveDao;
import com.booksearch.orm.Book;
import com.booksearch.orm.Daily;
import com.booksearch.orm.Price;
import com.booksearch.util.SessionBean;
import com.booksearch.util.UpdateUtilBean;
/**
 * Class:SearchAction
 * Description: 在本地?cái)?shù)據(jù)庫中查找是否有匹配記錄,如果有,則轉(zhuǎn)到數(shù)據(jù)處理類,否則,轉(zhuǎn)到抽取網(wǎng)站內(nèi)容的action
 * extens:Action
 * @author  feng guang
 * @since   11/16/08
 */
public class SearchAction extends Action {
	
    /*檢索關(guān)鍵字*/
	private String keyword;
	
	private String searchKind;
	/*數(shù)據(jù)庫中匹配記錄數(shù)*/
	private long recordNum;
    /*處理Book bean持久化的接口引用*/
    private BookLoadDao bookLoadDao;
    
    private SessionBean sessionBean;

    private DailySaveDao dailySaveDao;
    
    private DailyLoadDao dailyLoadDao;
    
    private BookSaveDao bookSaveDao;
    
    private Analyzer writerAnalyzer;
    
	public void setBookSaveDao(BookSaveDao bookSaveDao) {
		this.bookSaveDao = bookSaveDao;
	}
	public void setBookLoadDao(BookLoadDao bookLoadDao) {
		this.bookLoadDao = bookLoadDao;
	}
	public void setSessionBean(SessionBean sessionBean) {
		this.sessionBean = sessionBean;
	}
	public void setDailyLoadDao(DailyLoadDao dailyLoadDao) {
		this.dailyLoadDao = dailyLoadDao;
	}
	public void setDailySaveDao(DailySaveDao dailySaveDao) {
		this.dailySaveDao = dailySaveDao;
	}
	public void setWriterAnalyzer(Analyzer writerAnalyzer) {
		this.writerAnalyzer = writerAnalyzer;
	}
	/**
	* Function:  execute
	* Description:  在本地?cái)?shù)據(jù)庫檢索關(guān)鍵字,如果能找到記錄則轉(zhuǎn)向結(jié)果處理類,否則轉(zhuǎn)到抽取網(wǎng)站數(shù)據(jù)類
	* Calls:  no
	* Called By:  no
	* @param mapping as ActionMapping,form as ActionForm request as HttpServletRequest,response as HttpServletResponse
	* @return ActionForward
	* @throws Exception
	*/
	public ActionForward execute (ActionMapping mapping,ActionForm form,
			                      HttpServletRequest request,HttpServletResponse response)throws Exception{
		
		  String temKeyword = URLDecoder.decode(request.getParameter("keyword"), "utf-8");
		  String temSearchKind = request.getParameter("searchkind");
		  
		  if(null == temKeyword&&temSearchKind == null){
			  
			  /*從form中取出搜索關(guān)鍵字*/
			  SearchActionForm searchActionForm = (SearchActionForm)form;
			  this.keyword = searchActionForm.getKeyword().trim();
			  this.searchKind = searchActionForm.getSearchkind().trim();
		  }else{
			  this.keyword = temKeyword;
			  this.searchKind = temSearchKind;
		  }
          request.getSession().setAttribute("beginTime", System.currentTimeMillis());
		  /*進(jìn)行一些初始化工作*/
          this.webInit();
//          this.dailySaveDao.updateDaily("java", "dangdang", "http://www.dangdang.com");
//          this.dailySaveDao.updateDaily("java", 5, false);
//          this.dailySaveDao.updateDaily("java");
          //this.dailyLoadDao.isFirstVisit(request.getSession().getCreationTime(), this.sessionBean.getKeyword());
//          Price price = new Price();
//          price.setBookschinaDiscount((float) 0.88);
//          price.setBookschinaPrice((float) 2345600);
//          price.setBookschinaUrl("http://www.bookschina.com/1377769.htms");
//          Book book = new Book();
//          book.setBookAuthor("Bruce");
//          book.setBookName("編程思想");
//          book.setBookISBN("7121022095");
//          book.setBookPublishTime("2007-06-01");
//          book.setBookPublisher("機(jī)械工業(yè)出版社");
//          book.setBookImage("http://www.bookschina.com/cover1/2006/060629/s1377769.jpg");
//          book.setBookFixPrice((float) 6060.108);
//          book.setPrice(price);
//          
//          this.bookSaveDao.addBook(book);
         
//          this.dailySaveDao.updateDaily(keyword, "dangdang", "www.dangdang.com");
//           // this.dailyLoadDao.loadNextPageUrl(keyword);
//          this.bookLoadDao.loadBook(keyword, 7);
//          this.bookLoadDao.loadBook("清華大學(xué)出版社", "all", 1, "bookFixPrice");
//            System.out.println(this.dailyLoadDao.isKeywordExist("null+null+null+清華出版社+null+null+null+null+null+null"));
//		  request.setAttribute("isAdvancedSearch", false);
//          request.setAttribute("keyword", keyword);
//          System.out.println(this.bookSaveDao.isExist("9787111213826"));
//          return mapping.findForward("index");

		 /*到本地?cái)?shù)據(jù)庫查詢是否有匹配記錄*/
          recordNum = this.bookLoadDao.loadBookNum(keyword,searchKind);

          /*如果本地?cái)?shù)據(jù)庫中檢索到了相關(guān)的內(nèi)容,則轉(zhuǎn)向結(jié)果處理類,否則轉(zhuǎn)到抽取網(wǎng)站數(shù)據(jù)類*/
    	  if(recordNum>0){
    		
    		/*設(shè)置為是否從數(shù)據(jù)庫中檢索出的結(jié)果標(biāo)志為true*/
    		this.sessionBean.setFromDatabase(true);
    		this.sessionBean.setHasupdate(true);
    		/*匹配記錄數(shù)為數(shù)據(jù)庫中查找到的記錄數(shù)*/
    		this.sessionBean.setRecordNum(recordNum);
    	    /*添加日志信息*/
    		if(!this.dailyLoadDao.isKeywordExist(keyword))
    	        this.addDaily(request,recordNum,1);
    		else 
    			this.dailySaveDao.updateDaily(this.keyword,recordNum,true);
    		return mapping.findForward("page");

    	    /*如果本地?cái)?shù)據(jù)庫中無匹配記錄,則去網(wǎng)站上抓取*/	 
    	  }else{
    		  
      	    /*設(shè)置為是否從數(shù)據(jù)庫中檢索出的結(jié)果標(biāo)志為false*/
      		this.sessionBean.setFromDatabase(false);
    	    /*添加日志信息*/
    		if(!this.dailyLoadDao.isKeywordExist(keyword))
    			 this.addDaily(request,0,1);
    		else 
    			 this.dailySaveDao.updateDaily(this.keyword, recordNum,true);
    		    
        	request.setAttribute("keyword", keyword);
    	    return mapping.findForward("crampData");
    	  }       
	}
	/**
	* Function:  webInit
	* Description: 初始化session級bean
	* Calls:  no
	* Called By:  this.execute()
	* @param no
	* @return void
	* @throws no
	*/
	private void webInit(){
	     this.sessionBean.initList();
	     this.sessionBean.setRecordNum(0);
	     this.sessionBean.setHasupdate(false);
	     this.sessionBean.setRankKind("relavancy");
	     //this.sessionBean.setAdvancedSearch(false);
	     this.sessionBean.setSearchKind(searchKind);
	     String splitKeyword = this.keyword;
		 if(this.keyword.indexOf(" ")!=-1){
				
			StringTokenizer st = new StringTokenizer(this.keyword, " ");
				
			while(st.hasMoreElements()){
					splitKeyword += "/"+st.nextToken().trim();
			}
		 }
		 if(keyword.length()>2&&("all".equals(searchKind)||"name".equals(searchKind))){
				
				try {        
			        TokenStream ts = this.writerAnalyzer.tokenStream("", new StringReader(this.keyword));
			        Token token ;
			        while ((token = ts.next()) != null) {

			                splitKeyword += "/"+token.toString().substring(1, token.toString().indexOf(",")).trim();
			        }
			    }catch (Exception e) {
					
			            e.printStackTrace();
			            Logger logger = Logger.getLogger(this.getClass());
			            logger.error(e + "==========" + "庖丁解牛分詞出錯" + "==========");
			            //System.out.println("poading error");	
			    }
			}
         if(null != splitKeyword){
         	
         	this.sessionBean.setKeyword(splitKeyword);
         }
         System.out.println(this.sessionBean.getKeyword());
	}
	/**
	* Function:  addDaily
	* Description:  在本地?cái)?shù)據(jù)庫檢索關(guān)鍵字,如果能找到記錄則轉(zhuǎn)向結(jié)果處理類,否則轉(zhuǎn)到抽取網(wǎng)站數(shù)據(jù)類
	* Calls:  no
	* Called By:  this.execute()
	* @param request as HttpServletRequest,recordNum as long, visitNum as long
	* @return void
	* @throws no
	*/
	private void addDaily(HttpServletRequest request,long recordNum,long visitNum){
		
		Daily daily = new Daily();
		String remoteAddr = request.getRemoteAddr();
		HttpSession session = ((HttpServletRequest)request).getSession();
		String sessionId = session.getId();
		Long visitTime = session.getCreationTime();

		daily.setRemoteAddr(remoteAddr);
		daily.setKeyword(keyword);
		daily.setSearchKind(searchKind);
		daily.setSessionId(sessionId);
		daily.setVisitTime(visitTime);
		daily.setVisitNum(visitNum);
		daily.setRecordNum(recordNum);
		this.dailySaveDao.addDaily(daily);
	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线一区二区| 在线观看91视频| 精品999久久久| 日韩和欧美一区二区| 色婷婷香蕉在线一区二区| 国产精品国产成人国产三级| 韩国一区二区在线观看| 欧美成人午夜电影| 免费观看一级欧美片| 欧美日本在线一区| 婷婷六月综合亚洲| 黄色日韩网站视频| 国产精品不卡一区| 免费观看91视频大全| 99久久久精品免费观看国产蜜| 欧美经典三级视频一区二区三区| 久久精品72免费观看| 精品少妇一区二区三区日产乱码| 久久爱www久久做| 精品国产一区二区三区av性色| 激情文学综合网| 久久久久免费观看| 国产aⅴ综合色| 日本一区二区免费在线| 成人性生交大合| 日韩理论片中文av| 91国产福利在线| 亚洲自拍与偷拍| 欧美精品三级日韩久久| 蜜臀av一区二区在线观看| 精品日韩99亚洲| 国产福利一区在线观看| 国产精品乱码妇女bbbb| 91麻豆蜜桃一区二区三区| 亚洲黄色尤物视频| 在线成人高清不卡| 国产又黄又大久久| 中文字幕一区视频| 欧美色图片你懂的| 久久精品噜噜噜成人av农村| 国产欧美日韩视频一区二区| 99精品在线免费| 午夜成人免费视频| 欧美一区二区三区啪啪| 国产精品综合久久| 国产欧美日韩另类视频免费观看| 成人综合激情网| 亚洲女人的天堂| 欧美一区二区在线看| 国产乱子伦一区二区三区国色天香| 日本一区二区三区电影| 欧美丝袜第三区| 日本大胆欧美人术艺术动态| 久久久久国产精品厨房| 一本色道综合亚洲| 日韩综合在线视频| 国产欧美日韩三级| 欧美性感一区二区三区| 激情六月婷婷综合| 亚洲天堂2016| 日韩欧美色综合| 成人福利视频在线| 日日夜夜精品免费视频| 日本一区二区免费在线观看视频| 在线观看亚洲成人| 国产精品乡下勾搭老头1| 一区二区三区高清| 久久久亚洲欧洲日产国码αv| 91在线国产福利| 久久99热这里只有精品| 亚洲人成小说网站色在线 | 麻豆成人在线观看| 中文字幕一区二区不卡| 日韩欧美久久久| 91蝌蚪porny九色| 激情五月激情综合网| 亚洲午夜日本在线观看| 国产日本一区二区| 欧美一级一区二区| 91社区在线播放| 国产在线精品免费| 五月激情综合婷婷| 亚洲色图一区二区| 久久网这里都是精品| 欧美日韩国产天堂| 99久久婷婷国产综合精品电影| 理论电影国产精品| 亚洲午夜久久久久久久久电影院| 欧美激情综合五月色丁香小说| 欧美一区二区视频网站| 日本道色综合久久| 成人午夜av电影| 九九国产精品视频| 午夜精品一区二区三区三上悠亚| 中文字幕一区二区三区在线不卡| 2023国产精品| 91精品一区二区三区在线观看| 色综合欧美在线视频区| 国产91精品入口| 精品一区二区免费| 日韩av中文字幕一区二区| 亚洲女厕所小便bbb| 久久久777精品电影网影网| 欧美一区二区三区公司| 欧美伊人久久大香线蕉综合69| 成人18视频日本| 国产suv精品一区二区6| 国产一区二区看久久| 免费成人av资源网| 天天综合网 天天综合色| 又紧又大又爽精品一区二区| 国产精品福利av| 亚洲国产成人午夜在线一区| ww久久中文字幕| 欧美tk丨vk视频| 欧美大片在线观看一区| 欧美一级艳片视频免费观看| 欧美精品国产精品| 欧美三级视频在线| 在线精品亚洲一区二区不卡| 91免费看视频| 99精品国产一区二区三区不卡| 波多野结衣中文字幕一区二区三区| 国产福利视频一区二区三区| 国产综合久久久久久久久久久久| 久久精品99国产精品日本| 美女一区二区久久| 久久av资源站| 国内精品伊人久久久久影院对白| 老司机精品视频一区二区三区| 蜜臀91精品一区二区三区| 日本亚洲一区二区| 奇米影视一区二区三区小说| 麻豆高清免费国产一区| 精品一区二区三区在线播放 | 亚洲线精品一区二区三区八戒| 亚洲精选在线视频| 亚洲精品你懂的| 亚洲一区二区精品3399| 亚洲一区二区三区激情| 午夜激情综合网| 美女网站视频久久| 国产自产v一区二区三区c| 激情六月婷婷久久| 成人性生交大片免费看视频在线 | 欧美激情一区三区| 国产精品免费视频一区| 日韩一区欧美小说| 怡红院av一区二区三区| 天涯成人国产亚洲精品一区av| 日本欧美肥老太交大片| 韩国女主播成人在线| 成人亚洲一区二区一| 色婷婷av一区二区三区gif| 欧美日韩综合色| 日韩一级成人av| 欧美国产激情二区三区 | 国产日韩欧美激情| 亚洲素人一区二区| 亚洲五月六月丁香激情| 日本欧美一区二区三区| 国产米奇在线777精品观看| 成人黄色av电影| 91成人免费在线| 91精品国产91久久久久久一区二区 | 中文字幕亚洲不卡| 一区二区三区国产精华| 麻豆免费精品视频| 成人小视频在线观看| 日本丰满少妇一区二区三区| 91精品免费观看| 欧美激情一区二区三区不卡 | 国产成人av电影在线观看| 91免费在线视频观看| 91精品国产全国免费观看| 26uuu国产一区二区三区| 亚洲人一二三区| 日韩av网站免费在线| 国产成人一区在线| 在线观看一区日韩| 精品成人佐山爱一区二区| 亚洲欧美中日韩| 七七婷婷婷婷精品国产| 成人毛片在线观看| 欧美日韩国产综合视频在线观看| 精品国产乱码久久久久久久| 国产精品国产三级国产aⅴ中文 | 91黄色免费网站| 久久综合一区二区| 亚洲精品高清在线| 久久66热偷产精品| 91久久精品网| 亚洲精品一区二区三区99| 亚洲视频一区二区在线| 免费观看成人鲁鲁鲁鲁鲁视频| 99这里都是精品| 欧美tickling网站挠脚心| 亚洲免费观看高清完整| 久久精品99国产精品日本| 日本高清成人免费播放|