java教學(xué)規(guī)劃網(wǎng)絡(luò)爬蟲搜索引擎_第1頁
java教學(xué)規(guī)劃網(wǎng)絡(luò)爬蟲搜索引擎_第2頁
java教學(xué)規(guī)劃網(wǎng)絡(luò)爬蟲搜索引擎_第3頁
java教學(xué)規(guī)劃網(wǎng)絡(luò)爬蟲搜索引擎_第4頁
java教學(xué)規(guī)劃網(wǎng)絡(luò)爬蟲搜索引擎_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、學(xué) 號:課程設(shè)計(jì)題目網(wǎng)絡(luò)爬蟲搜索引擎學(xué)院管理學(xué)院專業(yè)信息管理與信息系統(tǒng)班級姓名指導(dǎo)教師王新201 年 7 月 4 日課程設(shè)計(jì)任務(wù)書學(xué)生姓名:指導(dǎo)教師: 王新 工作單位:信息管理與信息系統(tǒng)系題目:網(wǎng)絡(luò)爬蟲搜索引擎初始條件:合理應(yīng)用Java相關(guān)知識與編程技能,結(jié)合 UML面向?qū)ο笤O(shè)計(jì),解決信息 管理領(lǐng)域的實(shí)際問題,如學(xué)生成績管理、學(xué)籍管理、圖書借閱管理、自動存取款 機(jī)、通信錄管理、商品銷售管理、醫(yī)院門診管理、火車訂票管理、影院自動售票、 世界杯足球比賽管理、人力資源管理、酒店前臺管理、房產(chǎn)中介管理、停車收費(fèi) 管理等。要求完成的主要任務(wù):(包括課程設(shè)計(jì)工作量及其技術(shù)要求,以及說明書撰寫 等具體要求)

2、1 進(jìn)行需求分析,撰寫需求文檔,繪制用例圖。2 識別需求文檔中的類,建模類,初步繪制類圖(之后逐漸完善)。3 確定、建模類的實(shí)例變量。4 確定、建模類的方法。5 若有需要,在系統(tǒng)中加入繼承與多態(tài)。6 .將UML圖轉(zhuǎn)換成Java代碼框架。7 .設(shè)計(jì)算法,若有復(fù)雜的數(shù)據(jù)結(jié)構(gòu)需求,使用相應(yīng)集合框架。8.設(shè)計(jì)數(shù)據(jù)訪問層,若有數(shù)據(jù)持久化需求,使用數(shù)據(jù)庫 /文件。9 .添加表示層,若程序運(yùn)行在桌面,使用圖形用戶界面。10 .實(shí)現(xiàn)完整的系統(tǒng),最終Java源代碼至少在300行以上。11 .進(jìn)行測試,并給出相應(yīng)結(jié)果。課程設(shè)計(jì)報(bào)告中要求詳細(xì)描述思路、步驟、方法、實(shí)現(xiàn)、問題及解決過程、 操作說明、測試及結(jié)果。時間安

3、排:1 . 2014年6月23日 課程設(shè)計(jì)選題、查閱資料2. 2014年6月24日25日 UML面向?qū)ο笤O(shè)計(jì)3. 2014年6月26日7月1日J(rèn)ava程序設(shè)計(jì)與代碼調(diào)試4. 2014年7月2日 改進(jìn)、完善、測試系統(tǒng)5. 2014年7月3日7月4日上午 撰寫、提交課程設(shè)計(jì)報(bào)告6. 2014年7月4日下午 課程設(shè)計(jì)答辯指導(dǎo)教師簽名:系主任(或責(zé)任教師)簽名:網(wǎng)絡(luò)爬蟲搜索引擎1項(xiàng)目介紹1.1開發(fā)背景該項(xiàng)目軟件開發(fā)的意圖是開發(fā)出一款網(wǎng)絡(luò)爬蟲軟件。應(yīng)用目標(biāo)為搜集網(wǎng)絡(luò)信 息,便于查詢使用。在如今的 BIG DATA時代,網(wǎng)絡(luò)信息龐大而又復(fù)雜,用戶 很難直接從中獲得需要的信息。網(wǎng)絡(luò)爬蟲軟件就是將這些信息收集

4、并整理,當(dāng)用戶發(fā)起搜索請求時,該系統(tǒng)可將用戶最需要的信息反饋給用戶。1.2用戶的特點(diǎn)本軟件為免費(fèi)軟件,可供所有可使用互聯(lián)網(wǎng)的用戶使用。 最終用戶只需掌握 基本的上網(wǎng)技術(shù)即可,操作人員的主要工作是啟動和關(guān)閉服務(wù)器, 只需掌握基本 的電腦使用方法即可。維護(hù)人員需要專業(yè)的程序員,懂得 Java的網(wǎng)絡(luò)編程以及 計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ),教育水平在??埔陨?。軟件的預(yù)期工作時間為 24h/日。組織結(jié)構(gòu)圖及用戶角色如圖表1-1所示:圖表1-1網(wǎng)絡(luò)爬蟲組織架構(gòu)1.3需求分析1.3.1各子模塊功能的描述本系統(tǒng)共分為三大模塊:爬蟲模塊、數(shù)據(jù)庫模塊和搜索模塊,也就是后臺、 前臺和數(shù)據(jù)庫。每一個模塊有各自的分工,最后三大模塊集

5、合在一起構(gòu)成一個完 整的網(wǎng)絡(luò)爬蟲系統(tǒng)。各個子模塊的詳細(xì)功能如下:132爬蟲模塊第一個模塊為爬蟲模塊。爬蟲模塊的主要任務(wù)是負(fù)責(zé)尋找網(wǎng)頁,并將網(wǎng)頁內(nèi) 的URL和關(guān)鍵字提取出來。此模塊又詳細(xì)分為兩大模塊:服務(wù)器模塊和正則引 擎模塊,這兩個模塊分別負(fù)責(zé)上述的兩個功能。服務(wù)器模塊向某個種子URL發(fā)送請求,或得其頁面內(nèi)容;正則引擎模塊將 服務(wù)器獲取的頁面用正則表達(dá)式對其進(jìn)行分析,截取其中的URL和關(guān)鍵字,然后再將URL傳遞給服務(wù)器模塊。系統(tǒng)按照這樣的方式不斷的抓取網(wǎng)頁并進(jìn)行分 析,最后將結(jié)果存進(jìn)數(shù)據(jù)庫。133搜索模塊第二個模塊是搜索模塊,用戶在搜索界面輸入關(guān)鍵字,然后系統(tǒng)在數(shù)據(jù)庫中 搜索對應(yīng)的關(guān)鍵字,最后

6、將結(jié)果返回給用戶。此模塊又分為搜索界面和結(jié)果界面。搜索界面是首頁,用戶在此界面中輸入 想要搜索的關(guān)鍵詞,這些關(guān)鍵詞將被此頁面記錄下來傳遞到數(shù)據(jù)中進(jìn)行搜素。 結(jié) 果頁面是數(shù)據(jù)庫結(jié)果的接受者,當(dāng)數(shù)據(jù)庫完成搜素后會將結(jié)果傳遞給次頁面, 然 后結(jié)果頁面會將結(jié)果呈現(xiàn)給用戶。1.3.4數(shù)據(jù)庫模塊數(shù)據(jù)庫模塊在整個系統(tǒng)中起到存儲和橋梁作用。爬蟲模塊將搜索的結(jié)果整理 完成后存入數(shù)據(jù)庫,搜索模塊從數(shù)據(jù)庫中獲取需要的信息并呈現(xiàn)給用戶。1.4對非功能性的需求1.4.1精度漢字以內(nèi),超過的部分將被直接舍棄。輸出的數(shù)據(jù)要求包括網(wǎng)站的URL和頁面簡介,按照頁面內(nèi)容與搜索內(nèi)容的匹配程度來排序。142時間特性要求a)響應(yīng)時間w

7、 0.01sb)更新處理時間w 0.1c)數(shù)據(jù)的轉(zhuǎn)換和傳送時間w 0.1s1.4.3靈活性該系統(tǒng)運(yùn)用的主要語言是Java,由于Java是一門跨平臺的語言,所以本系 統(tǒng)的兼容性比較強(qiáng),只要配置了 Java環(huán)境就可以運(yùn)行。當(dāng)該系統(tǒng)與數(shù)據(jù)庫 MySQL的接口發(fā)生變化時,系統(tǒng)在重新加載了新的驅(qū)動后要能夠正常運(yùn)行。1.4.4輸人輸出要求輸入:由用戶輸入搜索關(guān)鍵字,關(guān)鍵字類型為合法字符。輸出:顯示結(jié)果列表或提示信息,包含頁面地址、頁面標(biāo)題、頁面描述的條 目列表或字符串提示信息。1.4.5故障處理要求出錯輸出信息:根據(jù)不同的錯誤提供不同的錯誤提示信息。 例如無網(wǎng)絡(luò)連接、 無法檢索到結(jié)果。出錯處理對策:1)

8、一般錯誤:顯示錯誤信息,提示用戶重新操作2)嚴(yán)重錯誤:重新啟動,必要時啟用備份恢復(fù)數(shù)據(jù)1.4.6其他專門要求如用戶單位對安全保密的要求,對使用方便的要求,對可維護(hù)性、可補(bǔ)充性、 易讀性、可靠性、運(yùn)行環(huán)境可轉(zhuǎn)換性的特殊要求等。1)健壯性:如果用戶在發(fā)送搜索請求后與服務(wù)器連接中斷,在用戶重新連 接后并重新請求時,系統(tǒng)應(yīng)快速將信息反饋給用戶。2)可維護(hù)性:新的管理員應(yīng)該可以在 10分鐘以內(nèi)掌握關(guān)閉和開啟服務(wù)器 等基本操作。3)運(yùn)行環(huán)境可轉(zhuǎn)換行:任何裝有瀏覽器的系統(tǒng)都應(yīng)該可以訪問服務(wù)器。當(dāng)服務(wù)器更換操作系統(tǒng)時,在部署好 Java環(huán)境后應(yīng)可以馬上運(yùn)行。2程序設(shè)計(jì)2.1總體設(shè)計(jì)思想本軟件通過客戶端瀏覽器,

9、用戶設(shè)置自己的愛好,并通過http傳給服務(wù)器, 服務(wù)器接收信息執(zhí)行響應(yīng)操作。2.3程序設(shè)計(jì)總體框圖系統(tǒng)功能層次模塊圖如圖1-2所示扌*聲引單梢體圖表1-1系統(tǒng)層次模塊圖2.4程序詳細(xì)設(shè)計(jì)(1) RecordDAOProxy類UML設(shè)計(jì)GRwortlDAOPrQXYORecord DAOProxyf) insertRevordfin record ; Record) : booleanO dearAll() ; baolean0 get Record (in condition : String) : ArrayLiSt-get Record (in where : String, in onj

10、aBy : String f in number : int) : ArrayList(2)IRecordDAO 類設(shè)計(jì)說明IRecordDAO insertRecordfin record : Record): boolean dear.Allt) ; txxilean- getRecoRj(in condition ; String) : ATayLirt getRordfin ; String,in oidaBy : String,in number ; int); ArraylitDatabdseConn ection:DRIVER : 噸 LjRL ! Stringa UER i S

11、tring PASS ; String DatabaseConiectionO. getonnetion() : Con nection dose() : void(4) RecordDAOImpl 類設(shè)計(jì)說明Record DAOIm pl creatc RecordDAOImpl(in con : Connection)insertRecoKKin record : Record): booleanQ dearAllf): boolean0 get Record (in condition : String) : ArraytistQ get Record (i n where : 5tri

12、n 勺 Jn qrdaBy : Stnng firi number : irt) : ArrayList(5) Record類設(shè)計(jì)說明Record record Link : Stringq recordTitle : String renordContent ; Stringq get Record Link () : String _ setRazorLinkin record Link : Stniuj) : void get Record Tide() ! String.SetRecordTitl e( i n record Title : String) : void j get R

13、-econd GortentO ; String0 setRecardContent(in recordContent ; String) ; void(6) HtmlHelper 類設(shè)計(jì)說明dE2rbgirLbuffen; StrinG ; 5tinu aetFn匸odEfin uri : URL) ; String口吐lJHTitlE!:i:i lH : String : tin* ittpiDtion(iri l-tmlP旳已;String : Stirxj(7) SpiderThread 類設(shè)計(jì)說明SpiderThread initUrl ; String .credte Spider

14、Thread(in uri : String)0 run() ; void(8) DAOFactory 類設(shè)計(jì)說明DAOFactory口EtBookln垃ncet) : RecodDAO(9) Page 類 UML 設(shè)計(jì)(10) 測試類UML設(shè)計(jì) EEinin mrgs : Strirvgll:廿o罔(7)主體程序UML類圖源代碼部分: RecordDAOProxy.java 代碼import java.util.ArrayList;import com.e ngi ne.dao.impI.RecordDAOProxy;import com.e ngin e.po.Record;import

15、com.e ngi ne.util.HtmIHelper;/* author*/public class ResultCo ntroller private ResultC on troller ()private static ResultC on troller resultCo ntroller;/* return ResultC on troller*/Public static syn chro ni zed ResultCo ntroller getResultCo ntroller() if(resultCo ntroller = nu ll)resultC on troller

16、 = new ResultC on troller();return resultC on troller;/* param keyword* return Record* throws Excepti on*/public ArrayListqueryResult(Stri ngkeyWord) throwsExcepti on Strin g keyWords = keyWord.split(s);ArrayList list = new ArrayList();RecordDAOProxy recordDao =n ull;for(i nt i=0; ikeyWords .len gth

17、;+i)keyWord = keyWordsi;recordDao = new RecordDAOProxy();list.addAII(recordDao.getRecord(WHERE recordTitle LIKE% + keyWord + %);recordDao = new RecordDAOProxy(); list.addAll(recordDao.getRecord(WHERErecordCo ntentLIKE % + keyWord + %);return list; User.java代碼import java.io.Serializable;public class

18、User impleme nts Serializableprivate static fin al lo ng serialVersio nUID = 5612649006026227700L;private String no;private String n ame;private In teger age;private String sex;private String pho ne;private Stri ng imagePath;public Stri ng getNo() return no;public void setNo(Stri ng no) this. no = n

19、o;public Stri ng getName() return n ame;public void setName(Stri ng n ame) this. name = n ame;public In teger getAge() retur n age;public void setAge(l nteger age) this.age = age;public Stri ng getSex() return sex;public void setSex(Stri ng sex) this.sex = sex;public Stri ng getPh on e() retur n pho

20、ne;public void setPho ne(Stri ng phone) this.ph one = phone;public Stri ng getlmagePath() return imagePath;public void setlmagePath(Stri ng imagePath) this.imagePath = imagePath; Busi nessObject.java代碼import java.util.List;public class Bus in essObject int currentPos;User users;PropertiesUtil prouti

21、l;public Bus in essObject()curre ntPos = 0;proutil = new PropertiesUtil(config/telephone.dat); users = getAIIUsers();public User getAllUsers() List list = proutil.getUsers();User users2 = new Userlist.size();for (int i =O;i0)curre ntPos -;return userscurre ntPos;public User n ext() if (curre ntPos u

22、sers .len gth - 1)curre ntPos +;return userscurre ntPos;public User last() curre ntPos = users .len gth - 1; return userscurre ntPos;public void saveUser(User user) proutil.save(user);users = getAllUsers();currentPos = Integer.parseInt (user.getNo() - 1; PropertiesUtil.java 代碼import java.io.File;imp

23、ort java.io.FileI nputStream;import java.io.FileNotF oun dExcepti on;import java.io.FileOutputStream;import java.io .IO Exceptio n;import java.io.Object In putStream;import java.io.ObjectOutputStream;import java.util.ArrayList;import java.util.List;import javax.swi ng.JO ptio nPane;public class Prop

24、ertiesUtil private ObjectI nputStream ois = n ull;private ObjectOutputStream oos = n ull;private List lstUsers = new ArrayList();private Stri ng fileName = n ull;public PropertiesUtil(Stri ng fileName)this.fileName = fileName;SuppressWar nin gs( un checked)public List getUsers()try oisnewObjectl npu

25、tStream( newFile In putStream(fileName);IstUsers = (ArrayList)ois.readObject(); ois.close();catch(FileNotFoundException e)in tRecord(); catch (ClassNotF oun dExceptio n e) e.pri ntStackTrace(); catch (IOExcepti on e) e.pri ntStackTrace();return lstUsers; public void save(User user)try oos=newObjectO

26、utputStream (newFileOutputStream(c on fig/telepho ne.dat);int i;for( i = 0;i = lstUsers.size()IstUsers.add(user);/ 新增oos.writeObject(lstUsers);oos.flush();oos.close(); catch (IOExcepti on e) e.pri ntStackTrace();/*若記錄文件不存在,則初始化記錄文件*/private void in tRecord()/創(chuàng)建文件File f = new File(co nfig/teleph on e

27、.dat);try f.createNewFile();el.pri ntStackTrace();/新建一條記錄User u = new User();u.setNo(1);u.setName();u.setAge(O);u.setSex(F);u.setPho ne();u.setlmagePath();try oos=newObjectOutputStream (newFileOutputStream(con fig/telepho ne.dat);IstUsers.add(u);oos.writeObject(lstUsers);oos.close();JOptionPane.show

28、MessageDialog(null,請重啟本程序);System.exit(0); catch (FileNotFou ndException e1) e1.pri ntStackTrace();el.pri ntStackTrace();Test.java代碼import java.io.FileNotF oun dExcepti on;import java.io.FileOutputStream;import java.io .IO Exceptio n;import java.io.ObjectOutputStream;import java.util.ArrayList;impor

29、t java.util.List;public class Test private ObjectOutputStream oos = n ull;private List lstUsers = new ArrayList();User u1 = n ull;User u2 = n ull;User u3 = n ull;public Test() try oos=newObjectOutputStream (newFileOutputStream(con fig/telepho ne.dat);u1 = new User();u1.setNo(1);u1.setName(人物 1);u1.s

30、etSex(M);u1.setAge(11);u1.setPho ne(111);u1.setlmagePath(c on fig/demo8.jpg);lstUsers.add(u1);u2 = new User();u2.setNo(2);u2.setName(人物 2);u2.setSex(F);u2.setAge(22);u2.setPho ne(222);u2.setlmagePath(c on fig/demo4.jpg);lstUsers.add(u2);u3 = new User();u3.setNo(3);u3.setName(人物 3);u3.setSex(F);u3.se

31、tAge(33);u3.setPho ne(333);u3.setlmagePath(c on fig/demo2.jpg);lstUsers.add(u3); catch (FileNotF oun dExcepti on e) e.pri ntStackTrace(); catch (IOExcepti on e) e.pri ntStackTrace();public static void main( Stri ng args) Test t = new Test();try t.oos.writeObject(t .l stUsers);t.oos.close(); catch (I

32、OExcepti on e) e.pri ntStackTrace(); publicclass Result privateString recordL ink;privateString recordTitle;privateStri ng recordAbstractC ontent;privateStri ng keywordTimes;public String getRecordLink() retur n recordL ink;public void setRecordLink(String recordLink) this .recordLink = recordLink;p

33、ublic String getRecordTitle() return recordTitle;public void setRecordTitle(String recordTitle) this .recordTitle = recordTitle;public String getRecordAbstractContent() return recordAbstractC ontent;public void setRecordAbstractContent(String recordAbstractContent) this .recordAbstractContent = reco

34、rdAbstractContent;public String getKeywordTimes() return keywordTimes;public void setKeywordTimes(String keywordTimes) this .keywordTimes = keywordTimes; import java.sql.*;public class DatabaseConnection private Connection con= null ;private static final String DRIVER =com.mysql.jdbc.Driver;private

35、static final StringURL=jdbc:mysql:/localhost:3306/webe ngin e?useU ni code=true&characterE ncodi ng=utf-8;private static final String USER=root;private static final String PASS=1234;public DatabaseC onn ecti on()throws Excepti onClass.forName (DRIVER);con=DriverMa nager.getCo nn ection (URL, USER, P

36、ASS);public Connection getConnection()throws Exceptionreturn con;public void close() throws Exceptionif (con!= null )con. close(); import java.io .I OExceptio n;import javax.servlet.Filter;import javax.servlet.FilterCha in;import javax.servlet.FilterC on fig;import javax.servlet.ServletExcepti on;im

37、port javax.servlet.ServletRequest;import javax.servlet.ServletResp on se;public class SetCharacterE ncodi ngFilter impleme nts Filter private String en cod ing;Overridepublic void in it(FilterC onfig filterC on fig)throws ServletExcepti on / TODO Auto-generated method stubthis .encoding = filterConf

38、ig.getInitParameter(encoding);Overridepublic void doFilter(ServletRequest request, ServletResponseresp on se,FilterCha in cha in)throws IOExcepti on, ServletExcepti on / TODO Auto-generated method stubrequest.setCharacterEncoding(this .encoding);cha in. doFilter(request, resp on se);Overridepublic v

39、oid destroy() / TODO Auto-generated method stub this .encoding= null ; import java.sql.*; import java.util.*;import com.e ngin e.da o.l RecordDAO;import com.e ngin e.po.Record;public class RecordDAOImpl impleme nts IRecordDAO SuppressWar nin gs(unused)private Connection con = null ;SuppressWar nin g

40、s(unused)private PreparedStatement stat =null ;this .con = con;public RecordDAOImpl(Co nn ectio n con) Overridepublic boolean insertRecord(Record record)throws Exception int i = 0;String sql = insert intoResult(recordTitle,recordContent,recordLink) values(?,?,?);try PreparedStateme nt preStmt = con

41、.prepareStateme nt(sql);preStmt.setStri ng(1, record.getRecordTitle();preStmt.setStri ng(2, record.getRecordC onten t();preStmt.setStri ng(3, record.getRecordLi nk();i = preStmt.executeUpdate(); catch (SQLException e) e.pri ntStackTrace();if (i = 1) return true ;/ else return false ;Overridepublic b

42、oolean clearAll() throws Exception Conn ecti on conn;boolean flag = false ;Stri ng sql;try conn = con;sql = delete * from Result;flag = stat.execute(sql); catch (Exception ex) System. out .println(Error : + ex.toString();if (flag) return true ; else return false ;Overridepublic ArrayList getRecord(S

43、tring condition)throwsExcepti on ArrayList records = new ArrayList();String sql = select recordLink,recordTitle,recordContent from Result + con diti on;try ResultSet rs=c on. createStateme nt().executeQuery(sql);while (rs.next()Record record= new Record();record.setRecordLi nk(rs.getStri ng(recordLi

44、 nk);record.setRecordTitle(rs.getStri ng(recordTitle);Stri ng content= rs.getStri ng(recordC onten t);if (content.length()=400)content = con te nt.substri ng(0,400)+.;record.setRecordC on te nt(con te nt);records.add(record);catch (SQLException e) e.pri ntStackTrace();return records;int number)publi

45、c ArrayList getRecord(String where,throws Excepti on ArrayList records =new ArrayList();String sql = select recordLink,recordTitle,recordContent fromResult where +where + limit + In teger.toString (number);try ResultSet rs=c on. createStateme nt().executeQuery(sql);while (rs.next()Record record= new

46、 Record();record.setRecordLi nk(rs.getStri ng(recordLi nk);record.setRecordTitle(rs.getStri ng(recordTitle);Stri ng content= rs.getStri ng(recordC onten t);if (content.length()=400)content = con te nt.substri ng(0,400)+.;record.setRecordC on te nt(con te nt);records.add(record);catch (SQLException e

47、) e.pri ntStackTrace();return records;import java.util.ArrayList;import javax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResp on se;importorg.apache.struts.actio n. Actio n;importorg.apache.struts.actio n. Actio nF orm;importorg.apache.struts.actio n. Actio nFo rward;importo

48、rg.apache.struts.actio n. Actio nM appi ng;importcom.e ngin e.bus in ess.ResultC on troller;importcom.e ngin e.po.Record;importcom.e ngin e.struts.form.GetResultForm;importcom.e ngi ne.util.PageC on troller;public class GetResultAction extends Action public ActionForward execute(ActionMapping mappin

49、g, ActionForm form,HttpServletRequest request, HttpServletResp onse resp onse) throws Excepti on GetResultForm getResultForm = (GetResultForm) form;Stri ng keyWord = getResultForm.getKeyWord();if (keyWord = null |keyWord.equals()keyWord = (Stri ng)request.getSessio n( ).getAttribute(keyWord);ResultC

50、o ntroller resultC on troller =ResultCo ntroller. getResultCo ntroller ();Stri ng str = request.getParameter(Page In dex);if (str= null )str = 1;int currentPageIndex = Integer.parseInt (str);PageCo ntroller pc = (PageCo ntroller)request.getAttribute(pc); if (pc= null )pc = new PageController();ArrayList list =resultCo ntroller.queryResult(keyWord);pc.setBigList(list);reque

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論