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

📄 searchservlet.java

📁 模拟的土豆网视频网站
💻 JAVA
字号:
package cn.myvideosite.web.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.lucene.document.Document;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Hits;

import cn.myvideosite.searcher.services.SearcherService;
import cn.myvideosite.util.SuperString;
/**
 * 视频搜索引擎
 * @author Administrator
 *
 */
public class SearchServlet extends HttpServlet{

	private static final long serialVersionUID = 1L;
    private static final int HITS_PER_PAGES=18; 
   
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
	                    throws ServletException, IOException {      
        String type = req.getParameter("type");
        String key = req.getParameter("key");
        String sstart = req.getParameter("start");
        int start = 0;
        if (sstart != null && !sstart.equals("")) start = Integer.parseInt(sstart);
        
		List<Object[]> list = null;
		Hits hits = null;
        try {
	      if (type.equals("0"))	{   
	    	  
	       hits = SearcherService.findAll(key);	       
		       if (hits != null && hits.length()>0){		   
		       if(start <= 0) start = 0;
		       else if (start >= hits.length()) start = hits.length() - HITS_PER_PAGES;
		       int end = Math.min(hits.length(),start + HITS_PER_PAGES);
		       list  = new ArrayList<Object[]>(end);
				   for (int i = start; i < end;i++){
					    Document doc = hits.doc(i);
					    
					    Object[] objs = new Object [4];
						objs[0] =  doc.get("videoId");
						objs[1] =  SuperString.getSpeShortString(doc.get("title"), 20,"...") ;
						objs[2] =  doc.get("flashAddress");
						objs[3] =  doc.get("soureUrl");	
						list.add(objs);
				 }
		     }
		   }else if (type.equals("1")){
		    	    hits = SearcherService.findAlbumAll(key);	        	    
				    if (hits != null && hits.length()>0){
				    if (start <= 0) start =0;
				    else if (start >= hits.length()) start = hits.length() - HITS_PER_PAGES;
				    int end = Math.min(hits.length(),start + HITS_PER_PAGES);
				    list  = new ArrayList<Object[]>(end);
					for (int i = start; i < end;i++){
						Document doc = hits.doc(i);
						
						 Object[] objs = new Object [4];
					     objs[0] =  doc.get("albumId");
					     objs[1] = SuperString.getSpeShortString( doc.get("title"),20,"");
						 objs[2] =  doc.get("albumAddr");
						 objs[3] =  doc.get("imageUrl");		
						 list.add(objs);
					 }
				   }
		     }
	      req.setAttribute("resultList", list);
	      req.setAttribute("total", hits.length());
	      req.setAttribute("perpage", HITS_PER_PAGES);
	      req.setAttribute("start", start);
	      req.setAttribute("type", type);
	      req.setAttribute("key", key);
	      
	      ServletContext context = this.getServletContext();	      
	      RequestDispatcher dispatcher = context.getRequestDispatcher("/searchResult.jsp");
	      dispatcher.forward(req, resp);
	      
     } catch (ParseException e) {			
	    e.printStackTrace();
    }
    
  }
	
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {		
		    doGet(req, resp);
	}

	/*public static void main(String[] args) throws ParseException, IOException{
		Hits hits = SearcherService.findAll("��Ů");
		System.out.println(hits);
		if (hits != null && hits.length()>0){
			for (int i = 0; i < hits.length();i++){
				Document doc = hits.doc(i);
				System.out.println("videoId = "+doc.get("videoId")+", title = " + doc.get("title")+
						", introduction = " + doc.get("introduction")+",flashAddress = " + doc.get("flashAddress")
						+ ", newUrl= " + doc.get("newUrl"));	
			 }
		   }
	}*/
}

⌨️ 快捷键说明

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