打包过程
将网站程序打成war包,使用clean package;
将war包放到服务器的tomcat上的webapps中;
在conf的目录下更改server.xml文件:
加上如下编码,更改编码方式,防止乱码
URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443" />
在logs目录下有tomcat的访问记录,如下:
[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
这个是记录的访问,里面有输入的记录值,用于分析。
为了方便统计,要改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触发异步请求,如下:
使用的是jquery的autocomplete的插件,会在后台向uri发送请求,服务器会返回一个json结构数据的信息到前台,在页面上展示。
<script type="text/javascript">
$(document).ready(function(){
$("#query").autocomplete({
source : function(request, response){
$.ajax({
//这里是请求服务器的处理类
url : "http://hadoop11:8080/web/suggest.do",
//这里的dataType是response回来的数据结构
dataType : "json",
//data是传送过去的数据
data : {
query : $("#query").val()
},
//响应成功的话就success
success : function(data){
//这里找的是action里的类,类里面的result属性,是一个set集合
//这里返回的是一个集合,以json的结构返回
//struts2里,加入到值栈的对象,会先对属性做get赋值,再执行要求的方法
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;
}
。。。。。。
。。。。。
这里的类对应上面的result。
需要的脚本
<script type="text/javascript"
src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
ui又依赖于:
<script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
在使用redis时,使用sort排列来插入索引;
hGetAll 键,这个是列出该键下的所有值。
通过query传过去一个值:由redis去查询后返回一个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的操作可以熟悉下。
在实际开发中,redis数据库的更新可以逐个更新,在reduce的过程中去删除redis原有的数据记录。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。