您好,登錄后才能下訂單哦!
打包過(guò)程
將網(wǎng)站程序打成war包,使用clean package;
將war包放到服務(wù)器的tomcat上的webapps中;
在conf的目錄下更改server.xml文件:
加上如下編碼,更改編碼方式,防止亂碼
URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000" redirectPort="8443" />
在logs目錄下有tomcat的訪問(wèn)記錄,如下:
[root@hadoop11 logs]# ls catalina.2015-08-14.log host-manager.2015-08-14.log localhost_access_log.2015-08-14.txt catalina.out localhost.2015-08-14.log manager.2015-08-14.log
localhost_access_log.2015-08-14.txt
這個(gè)是記錄的訪問(wèn),里面有輸入的記錄值,用于分析。
為了方便統(tǒng)計(jì),要改server.xml里的,修改的是日志文件,如下:
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="hadoop11_access_log." suffix=".txt" fileDateFormat="yyyy-MM-dd-HH-mm" pattern="%h %l %u %t "%r" %s %b" />
prefix是前綴,suffix是后綴,fileDataFormat是頻率
使用ajax觸發(fā)異步請(qǐng)求,如下:
使用的是jquery的autocomplete的插件,會(huì)在后臺(tái)向uri發(fā)送請(qǐng)求,服務(wù)器會(huì)返回一個(gè)json結(jié)構(gòu)數(shù)據(jù)的信息到前臺(tái),在頁(yè)面上展示。
<script type="text/javascript"> $(document).ready(function(){ $("#query").autocomplete({ source : function(request, response){ $.ajax({ //這里是請(qǐng)求服務(wù)器的處理類 url : "http://hadoop11:8080/web/suggest.do", //這里的dataType是response回來(lái)的數(shù)據(jù)結(jié)構(gòu) dataType : "json", //data是傳送過(guò)去的數(shù)據(jù) data : { query : $("#query").val() }, //響應(yīng)成功的話就success success : function(data){ //這里找的是action里的類,類里面的result屬性,是一個(gè)set集合 //這里返回的是一個(gè)集合,以json的結(jié)構(gòu)返回 //struts2里,加入到值棧的對(duì)象,會(huì)先對(duì)屬性做get賦值,再執(zhí)行要求的方法 response($.map(data.result, function(item){ return {value:item} })); } }); }, minLength:1, }); }); </script>
public class SearchAction extends ActionSupport { String text; String query; Set<String> result; public Set<String> getResult() { //this.result = RedisTool.zrevrange(query, 0, 5); result = new HashSet<String>(); result.add("aaa"); result.add("子"); return result; } 。。。。。。 。。。。。
這里的類對(duì)應(yīng)上面的result。
需要的腳本
<script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
ui又依賴于:
<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
在使用redis時(shí),使用sort排列來(lái)插入索引;
hGetAll 鍵,這個(gè)是列出該鍵下的所有值。
通過(guò)query傳過(guò)去一個(gè)值:由redis去查詢后返回一個(gè)set集合。
public static Set<String> zrevrange(String text, int i, int j) { // TODO Auto-generated method stub try{ CreateJedisObj(); //hadoop_users return jedis.zrevrange(text, 0, 5); }catch(Exception e){ e.printStackTrace(); jedis = null; return null; } }
redis的操作可以熟悉下。
在實(shí)際開(kāi)發(fā)中,redis數(shù)據(jù)庫(kù)的更新可以逐個(gè)更新,在reduce的過(guò)程中去刪除redis原有的數(shù)據(jù)記錄。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。