web通讯录之搜索功能

手机号搜索:

姓名搜索:

拼音搜索:

城市搜索:

性别搜索:

点击姓名或者电话显示完整信息

相信大家期待自己所写的搜索功能类似于百度、谷歌这种搜索引擎,有兴趣的读者可以去学学SEO,在这里我用的仍然是我们常见的搜索功能,只不过是把多种搜索综合在一起,也就是设置一个优先级搜索,例如当用户输入WJ时候,默认先找电话、再找姓名、最后找姓名等等,当然居然是搜索功能当然要用到我们伟大的ajax了,相信用ajax比较容易但是自己通过ajax从服务器像客户端传值比较麻烦,由于我们搜索显示的用户信息有很多,因此我们可以把它封装成JSON数据传到客户端然后再调用把结果输出显示,由于自己不想操作那么麻烦,因此我把显示搜索结果的信息在另外一个页面中显示出来,也就是在通讯录页面进行搜索在ajaxshow.jsp用户显示搜索结果,好了,废话不多说上代码。

tongxunlu.jsp代码:

<%@ page language="java" import="com.student.servlet.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.util.*" import="com.student.vo.User"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>通讯录</title>
<link rel="stylesheet" href="css/style.css">
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="js/jquery.charfirst.pinyin.js"></script>
<script type="text/javascript" src="js/sort.js"></script>
	<%
		Vector<User> vector=new Vector<User>();
		vector=(Vector<User>)request.getAttribute("name");
		User user=(User)request.getSession().getAttribute("myself");
		Set<String> set=new HashSet<String>();
		set=(Set<String>)request.getAttribute("group");
	%>
<style>
		input {
			border: 2px solid #7BA7AB;
			border-radius: 5px;
		}
</style>
</head>
<body> 
<script type="text/javascript">
$(document).ready(function(){
	var $div4=$("#sum");
	var $div3=$("#cc3");
	 $div4.hide();
	 $div3.hide();
 	$("#c1").click(function(){
	 $div4.toggle(500); 
	 });
 	$("#c2").click(function(){;
 	$div3.toggle(500); 
 	});
});
</script>
<script type="text/javascript">
	var xmlHttp;
	function createXMLHttp(){
		xmlHttp=new XMLHttpRequest();  
	}
	function f(id){
		createXMLHttp();
		xmlHttp.open("POST","studentFind?username=<%=user.getId()%>&id="+id);
		xmlHttp.onreadystatechange=showMsgCallback;
		xmlHttp.send(null);	
		}
	 function showMsgCallback(){
		if(xmlHttp.readyState==4){
			if(xmlHttp.status==200){
				var text=xmlHttp.responseText;
				document.getElementById("mark").innerHTML=text;
		}
	}} 
	function f1(id){
		createXMLHttp();
		xmlHttp.open("POST","FindGroupName?username=<%=user.getId()%>&id="+id);
		xmlHttp.onreadystatechange=showMsgCallback1;
		xmlHttp.send(null);	
		}
	 function showMsgCallback1(){
		if(xmlHttp.readyState==4){
			if(xmlHttp.status==200){
				var text=xmlHttp.responseText;
				if(text=="yes");
				else alert("分组名存在");
		}
	}} 
</script>
<form id="fy" action="studentFind?" method="post">
	<input name="find" id="find" οnkeyup="f(this.value)"style="width:300px;height:30px; redius:1px;"type="text" placeholder="请输入查找的联系人"/> <img style="width:20px;"alt="" src="img/search.png">
	                                                    
	<a href="javascript:window.location.href='tianjia?id=<%=user.getId()%>'"><img style="width:20px;"alt="" src="img/useradd.png"></a>
	  <a href="javascript:window.location.href='tiaozhuan.jsp'"><img style="width:20px;"alt="" src="img/exit.png"></a>
	<span id="mark"></span>
</form>
	<div class="gongneng">
		<a href="myself.jsp">
		<div class="page">
			<img style="width:50px;height: 50px;" src="img/xiaomai.jpg" alt="">
		</div>
		<div >我的名片</div>
		</a>
	</div>
<div class="gongneng">
		<div class="page">
			<img style="width:50px;height: 50px;"src="img/katongman.jpg" alt="">
		</div>
		<span id="c1">我的分组</span>     <a id="c2"><img alt="" src="img/tianjia.png"></a>   <a οnclick="javascript:alert('该功能还未完善,敬请期待!')"><img alt="" src="img/delete.png"></a>
	
</div>
<div id="cc3"class="gongneng">
		<div class="page">
			<img style="width:50px;height: 50px;"src="img/katongman.jpg" alt="">
		</div>
		<form action="addgroup?id=<%=user.getId() %>" method="post">
		<input id="newGroupName" name="newGroupName" type="text" οnblur="f1(this.value)" placeholder="请输入分组名" />
		<input type="submit" value="添加"><span style="color:red;" id="testName"></span>
		</form>
	
</div>
<div id="sum">
<%for(String name:set){ %>
<div id="cc" class="gongneng">
		<a href="ceshi?id=<%=name%>&username=<%=user.getId()%>">
		<div class="page">
			<img style="width:50px;height: 50px;"src="img/katongman.jpg" alt="">
		</div>
		<div id="name11"><%=name %></div>
		</a>
</div>
<%} %>
</div>
<div class="sort_box">
	<%
		int k=7;
		for(int i=0;i<vector.size();i++,k--){
			if(k<1)k=7;//用来输出图片
	%>	<div class="sort_list">
		<a href="findAllServlet?id=<%=vector.get(i).getId()%>">
			<div class="num_logo">
			<img src="img/<%=k %>.jpg" alt="">
		</div>
		<div class="num_name"><%=vector.get(i).getName()%></div></a>
	</div>		
	<%} %>
	
</div>
<div class="initials">
	<ul>
		<li><img src="img/068.png"></li>
	</ul>
</div>
</body>
</html>
ajaxshow.jsp代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*" import="com.studen.servlet.*" import="com.student.vo.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>局部显示页面</title>
</head>
<body>
<%
	request.setCharacterEncoding("utf-8");
 	Set<people> set = new HashSet<people>();
	set=(Set<people>)request.getAttribute("rs"); 
/* 	Vector<User> rs=new Vector<User>();
	rs=(Vector<User>)request.getAttribute("rs"); */
	
%>

<div style="border:3px solid ">
<% for(people user:set) {%>
<ul style="background:white; width:300px;">
<li><a style="margin-top:40px;font-size:20px;color:black; font-family:Times New Roman;" href="findAllServlet?id=<%=String.valueOf(user.getId())%>">   <%=user.getName()%>   <%=user.getTel()%>
</a></li>
</ul>
<%} %>
</div>
</body>
</html>
servlet代码太多就没有粘贴了。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目 录 1 前言 1 2 系统的需求分析 2 2.1 需求分析 2 2.1.1 基本功能需求 2 2.1.2 系统用例分析 2 2.2 总体设计方案 5 2.2.1 系统模块关系与划分 5 3 系统的概要设计 6 3.1 通讯录需求分析 6 3.1.1 新建、编辑联系人 6 3.1.2 查找联系人 6 3.1.3 通讯功能 6 3.1.4 个人中心 7 3.1.5 还原与备份功能 7 3.2 系统界面设计 8 4 系统编码实现 14 前 言 随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高 ,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要 一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接 受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再 仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服 务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软 件平台——Android。 Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键 的平台应用。Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平 台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还 可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜 力。 Android(Google公司)是Google开发的基于Linux平台的开源手机操作系统。它包括 操作系统、用户界面和应用程序 ——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍 。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。 1) 优点:具备触摸屏、高级图形显示和上网功能,界面强大,可以说是一种 融入全部Web应用的单一平台 2) 缺点:由于时时刻刻都需要和网络进行连接,因此在手机的能耗方面控制就较差, 导致待机能力不足;又由于其开源性,过分依赖开发商,缺少标准配置。 1. 需求分析 1. 基本功能需求 能要求:实现通信录的在线备份还原功能,能把系统的通信录一键导入导出。 实现要求:客户端基于Android平台实现,服务端技术自定 用例场景:小明丢了手机,只好去抢购了一个小米同时把手机卡补办回来,需要把之 前手机的200个联系人补上。好在小明之前把所有联系人都备份到服务器了,只需要下载 在线通信录后,登录平台,一键还原即可。 2. 系统用例分析 图1- 1显示了通话记录功能模块。包括了联系人详细信息查看,清空通话记录,在选择一个条 目后,可以对其进行拨打电话,发送短信功能的操作,也可以进行删除。 手机用户 图1-1 通话记录模块用例图 图1- 2显示了联系人功能模块的用例。包括了查看联系人详细信息,编辑联系人信息,新建联 系人,对选中的联系人,可以对其进行拨打电话、发送短信的操作。用户还可以进行联 系人搜索,这样方便用户快速找到想找的联系人信息。 图1-2 电话薄模块用例图 图1- 3为个人中心模块中设置个人详细信息子模块的用例。该模块的功能就是用户设置自己的 个人基本信息。 图1-3 设置个人信息模块用例图 图1-4显示了联系人还原与备份的用例图。该模块的功能就是联系人的还原与备份 图1-4 联系人导入导出 2. 总体设计方案 1. 系统模块关系与划分 一个好的系统设计的步骤决定了程序是否能按照设计者的目的按时完成,是否能在规定 的时间内按照设计者的要求高质量的完成程序必要的功能。并且按照标准的设计步骤对 程序进行调试,测试,以及后期的优化完善,使程序更加具有健壮性和可用性。通过对 通讯录功能、系统模块、用户需求方面进行全方位的分析制定开发流程。 采用标准的开发流程确定系统具有用户管理功能,联系人增删改功能,通讯功能,查找 功能,备份等功能。 图1-5 系统功能图 通过对系统的功能结构的分析,设计后系统运行流程是系统运行后用户将进入通讯录 主界面,可以看到联系人,增加联系人,。通过点击MENU界面的增加功能选项可以新增 联系人,通过查找按钮可以对联系人进行姓名、号码的操作。通过个人中心可以显示所 有联系人、还原所有联系人、并备份功能。在联系人详细信息界面点击MENU键弹出通讯 功能框选择拨打电话按钮或者发信息发邮件按键,系统的运行流程图如1-6所示。 图1-6 系统运行流程 2.1通讯录需求分析 根据手机功能调查显

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值