精华内容
下载资源
问答
  • 简单通讯录源码.rar

    2019-05-23 15:42:19
    一、源码特点 采用winform进行开发,实现了简单的通讯录功能,数据库增删改查操作二、功能介绍 本源码是一个通讯录源码,可添加数据到数据库中,根据搜索进行修改,删除等功能,欢迎下载三、菜单功能 1、信息录入...
  • 【实例简介】使用JSP+Servlet+JDBC 开发出的简易web版通讯录,实现了基本的添加联系人,删除联系人,查询联系人详细信息,通过姓名查询联系人等功能。【实例截图】【核心代码】ContactJWProq└── ContactJWPro├─...

    【实例简介】

    使用JSP+Servlet+JDBC 开发出的简易web版通讯录,实现了基本的添加联系人,删除联系人,查询联系人详细信息,通过姓名查询联系人等功能。

    【实例截图】

    【核心代码】

    ContactJWProq

    └── ContactJWPro

    ├── build

    │   └── classes

    │   └── com

    │   ├── dao

    │   │   ├── AddDAO.class

    │   │   ├── DeleteDAO.class

    │   │   ├── DetailDAO.class

    │   │   ├── QueryByNameDAO.class

    │   │   └── QueryDAO.class

    │   ├── model

    │   │   └── Contact.class

    │   ├── servlet

    │   │   ├── AddServlet.class

    │   │   ├── DeleServlet.class

    │   │   ├── DetailServlet.class

    │   │   ├── QueryByNameServlet.class

    │   │   └── QueryServlet.class

    │   └── util

    │   └── DBConnection.class

    ├── DB

    │   └── db_contract.sql

    ├── src

    │   └── com

    │   ├── dao

    │   │   ├── AddDAO.java

    │   │   ├── DeleteDAO.java

    │   │   ├── DetailDAO.java

    │   │   ├── QueryByNameDAO.java

    │   │   └── QueryDAO.java

    │   ├── model

    │   │   └── Contact.java

    │   ├── servlet

    │   │   ├── AddServlet.java

    │   │   ├── DeleServlet.java

    │   │   ├── DetailServlet.java

    │   │   ├── QueryByNameServlet.java

    │   │   └── QueryServlet.java

    │   └── util

    │   └── DBConnection.java

    └── WebContent

    ├── add.jsp

    ├── detail.jsp

    ├── index.jsp

    ├── META-INF

    │   └── MANIFEST.MF

    ├── queryByname.jsp

    └── WEB-INF

    ├── lib

    │   └── mysql-connector-java-5.1.19-bin.jar

    └── web.xml

    19 directories, 32 files

    展开全文
  • 网页通讯录

    2018-03-17 10:30:32
    可以用户登录(有验证码),每个用户有自己的通讯录通讯录可以增删改查。通讯录分页显示。
  • JQuery仿IPhone通讯录源码,效果如图下面是页面代码,全选后保存为网页 1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; ...
    JQuery仿IPhone通讯录源码,效果如图
    下面是页面代码,全选后保存为网页
    1
    <html xmlns="http://www.w3.org/1999/xhtml"> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" /> 5 <script src="http://code.jquery.com/jquery-1.9.1.min.js" type="text/javascript"></script> 6 <style type="text/css"> 7 html { height: 100%; } 8 body { padding: 0; margin: 0; height: 100%; } 9 .contactList { height: 100%; overflow: scroll; } 10 .contactCategory { right: 0; top: 0; position: fixed; z-index: 2; } 11 .contactCategory ul { border: 1px solid blue; } 12 .contactCategory ul li { padding: 1px 9px; background: white; } 13 .contactCategory ul li.cur { background: blue; } 14 .contactCategory ul li.cur a { color: white; } 15 article { position: relative; padding-top: 30px; } 16 article header { line-height: 30px; height: 30px; top: 0; z-index: 1; position: absolute; background: blue; width: 100%; } 17 article.fixed header { position: fixed; } 18 ul, li, p { padding: 0; margin: 0; list-style: none; font-size: 1em; } 19 a { text-decoration: none; } 20 </style> 21 <title>JQuery仿IPhone通讯录源码</title> 22 </head> 23 <body> 24 <div class="contactList"> 25 <article> 26 <header>C</header> 27 <ul> 28 <li> 29 <h3><a href="#">页面</a></h3> 30 <p>Lorem ipsum</p> 31 </li> 32 <li> 33 <h3><a href="#">页面</a></h3> 34 <p>Lorem ipsum</p> 35 </li> 36 <li> 37 <h3><a href="#">页面</a></h3> 38 <p>Lorem ipsum</p> 39 </li> 40 <li> 41 <h3><a href="#">页面</a></h3> 42 <p>Lorem ipsum</p> 43 </li> 44 <li> 45 <h3><a href="#">页面</a></h3> 46 <p>Lorem ipsum</p> 47 </li> 48 </ul> 49 </article> 50 <article> 51 <header>D</header> 52 <ul> 53 <li> 54 <h3><a href="#">页面</a></h3> 55 <p>Lorem ipsum</p> 56 </li> 57 <li> 58 <h3><a href="#">页面</a></h3> 59 <p>Lorem ipsum</p> 60 </li> 61 <li> 62 <h3><a href="#">页面</a></h3> 63 <p>Lorem ipsum</p> 64 </li> 65 <li> 66 <h3><a href="#">页面</a></h3> 67 <p>Lorem ipsum</p> 68 </li> 69 <li> 70 <h3><a href="#">页面</a></h3> 71 <p>Lorem ipsum</p> 72 </li> 73 </ul> 74 </article> 75 <article> 76 <header>F</header> 77 <ul> 78 <li> 79 <h3><a href="#">页面</a></h3> 80 <p>Lorem ipsum</p> 81 </li> 82 <li> 83 <h3><a href="#">页面</a></h3> 84 <p>Lorem ipsum</p> 85 </li> 86 <li> 87 <h3><a href="#">页面</a></h3> 88 <p>Lorem ipsum</p> 89 </li> 90 <li> 91 <h3><a href="#">页面</a></h3> 92 <p>Lorem ipsum</p> 93 </li> 94 <li> 95 <h3><a href="#">页面</a></h3> 96 <p>Lorem ipsum</p> 97 </li> 98 </ul> 99 </article> 100 </div> 101 <div class="contactCategory"></div> 102 <script> 103 $(".contactList").bind("touchmove scroll resize", function () { 104 var ttop = $(window).scrollTop(); 105 $("article").each(function (i, e) { 106 var _top = $(e).offset().top; 107 var _height = $(e).outerHeight(); 108 $(e).toggleClass("fixed", _top <= ttop && _top + _height - 1 > ttop); 109 if (_top <= ttop && _top + _height - 1 > ttop) { 110 var $chr = $("header", this).text(); 111 $(".contactCategory li").removeClass("cur"); 112 $(".contactCategory li:contains(" + $chr + ")").addClass("cur"); 113 } 114 }); 115 }) 116 var ul = $("<ul></ul>").appendTo(".contactCategory"); 117 var codes = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; 118 for (var x in codes) { 119 var li = $("<li></li>").appendTo(ul).bind("click mouseenter", function () { 120 $t = $(this).text(); 121 var $tt = -1; 122 $(".contactList header").each(function () { 123 if ($(this).text() <= $t) $tt = $(this).offset().top + $('.contactList').scrollTop(); 124 }); 125 $tt > -1 && $('.contactList').stop().animate({ scrollTop: $tt }, 'show'); 126 }); 127 $('<a href="javascript:void(0)"></a>').text(codes[x]).appendTo(li); 128 } 129 </script> 130 </body> 131 </html> 132   

     

    转载于:https://www.cnblogs.com/lktec/archive/2013/05/29/3106443.html

    展开全文
  • 在线通讯录源码-SSM实现

    热门讨论 2020-06-04 19:04:09
    SSM项目之在线通讯录 受疫情影响,大三下在家中度过,学习了JAVA企业级应用开发课程,我们小组耗费一个星期时间编写了SSM项目之在线通讯录项目,其中马宽对系统的帮助很大,通过这次实践,跟着他学到了很多。 项目...

    SSM项目之在线通讯录

    受疫情影响,大三下在家中度过,学习了JAVA企业级应用开发课程,我们小组耗费一个星期时间编写了SSM项目之在线通讯录项目,其中马宽对系统的帮助很大,通过这次实践,跟着他学到了很多。
    项目包括:拦截器、controller类、service层、逆向工程、Ajax、js、分页、通讯录的CUED功能

    运行环境:Myeclipse+MySQL+Tomcat+JDK1.8

    框架技术:spring+springMVC+Mybatis

    运行界面截图:
    登录界面:
    在这里插入图片描述
    注册界面:
    在这里插入图片描述
    主界面:
    在这里插入图片描述
    增加界面:
    在这里插入图片描述
    删除界面:
    在这里插入图片描述
    修改界面:
    在这里插入图片描述
    查询界面:
    在这里插入图片描述
    分页界面:由于个人用户信息量较少,必须使用admin进入管理员界面才可实现分页功能

    在这里插入图片描述

    二:代码结构及关键代码实现

    在这里插入图片描述
    ContactCURD.java

    package cn.ma.spring.controller;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import com.alibaba.fastjson.JSON;
    
    import cn.ma.spring.mapper.ContactsMapper;
    import cn.ma.spring.po.Contacts;
    import cn.ma.spring.po.User;
    import cn.ma.spring.utils.Service;
    import cn.ma.spring.vo.ContactsVO;
    
    @Controller
    @RequestMapping("/Do")
    public class ContactCURD {
    	// 1.跳转删除页,2.希望在点击的一瞬间把所有联系人放到删除页
    	@RequestMapping("/toDel")
    	public String toDel(HttpSession session, Model m) {
    		// 1.拿到session中的uid
    		User logUser = (User) session.getAttribute("user");
    
    		// 2.通讯录初始化查询
    		Service service = new Service();
    		List<Contacts> clist = service.selectAllc(logUser.getUid());
    		m.addAttribute("msg", logUser);// 把session中的用户传到页面
    		m.addAttribute("clist", clist);// 把查询到的信息放到将要跳转的删除业务界面
    
    		return "DeleteCon";
    
    	}
    
    	// 删除业务
    	@RequestMapping("/Del")
    	public String Delete(Integer[] cid, Model m) {
    		for (Integer id : cid) {
    
    			Service service = new Service();
    			int a = service.deleteById(id);
    			System.out.println("编号为" + id + "》》记录被删除");
    
    			if (a > 0) {
    				m.addAttribute("delSucc", "删除成功");
    			}
    
    		}
    		return "DeleteCon";
    	}
    
    	// 跳转添加页面
    	@RequestMapping("/toInsert")
    	public String toInsert(HttpSession session,Model m) {
        User u=(User) session.getAttribute("user");
        m.addAttribute("msg", u);
    		return "insert";
    
    	}
    
    	// 添加业务
    	@RequestMapping("/Insert")
    	public String Insert(Contacts contacts, HttpSession session, Model m) {
    		// 1.先把session用户的uid拿出来 与前台的数据 拼装
    		User logedUser = (User) session.getAttribute("user");
    		int uid = logedUser.getUid();
    		contacts.setUid(uid);
    		System.out.println(contacts);
    		// 2.拼装完成后进行插入
    
    		// 根据用户名密码 来查询 登陆功能
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// Mapper是一个接口类 里面定义了很多方法
    		ContactsMapper cm = (ContactsMapper) act.getBean(ContactsMapper.class);
    		// 这个方法要与mapper.xml中的id保持一致
    		int a = cm.insert(contacts);// 如果大于0插入成功
    		if (a > 0) {
    			m.addAttribute("succ", "插入记录成功");
    			m.addAttribute("newcon", contacts);
    			m.addAttribute("all", "查看全部");
    		}
    
    		return "insert";
    
    	}
    
    	// 刷新业务
    	@RequestMapping(value = "/toSel")
    	public String toSel(HttpSession session, Model m) {
    		// 1.拿到session中的uid
    		User logUser = (User) session.getAttribute("user");
    
    		// 2.通讯录初始化查询
    		Service service = new Service();
    		List<Contacts> clist = service.selectAllc(logUser.getUid());
    		m.addAttribute("msg", logUser);
    		m.addAttribute("clist", clist);
    		return "scanner";// 跳转查询
    
    	}
    
    
    	@RequestMapping(value = "/toSearch")
    	public String toSearch(Model m,HttpSession session) {
    		User u=	(User) session.getAttribute("user");
    	    m.addAttribute("msg",u);
    		return "Search";// 跳转查询
    
    	}
    	
    	// 跳转查询业务
    	@RequestMapping(value = "/Search")
    	public String Search(String cname,Model m,HttpSession session) {
    	    User u=	(User) session.getAttribute("user");
    	    m.addAttribute("msg",u);
    	    
    		Contacts contacts=new Contacts();
    	
    	    contacts.setCname(cname);
    	    contacts.setUid(u.getUid());
    	    
    	  //根据Cname查询	一般用户功能
    	    Service sevice=new Service();
    	    List<Contacts> clist =sevice.selectAllByName(contacts);	
    	    m.addAttribute("clist", clist);
    		return "Search";
    
    	}
    	
    	@RequestMapping(value = "/SearchCon")//条件查询
    	public String Search(String cname,String caddress,String cphone,Model m,HttpSession session) {
    	    User u=	(User) session.getAttribute("user");
    	    m.addAttribute("msg",u);
    	    
    		Contacts contacts=new Contacts();
    		contacts.setCaddress(caddress);
    		contacts.setCphone(cphone);
    	    contacts.setCname(cname);
    	    contacts.setUid(u.getUid());
    	    
    	  //根据Cname查询	一般用户功能
    	    Service sevice=new Service();
    	    List<Contacts> clist =sevice.selectAllByCondition(contacts);
    	    m.addAttribute("clist", clist);
    		return "Search";
    
    	}
    	
    	    //写一个ajax请求 实时查询 一般用户请求
    		@RequestMapping(value = "/SearchAjax")
    		public void SearchAjax(String cname,HttpSession session,HttpServletResponse response) throws Exception {
    		    User u=	(User) session.getAttribute("user");
    		       
    			Contacts contacts=new Contacts();
    		    contacts.setCname(cname);
    		    contacts.setUid(u.getUid());
    		    
    		    //m.addAttribute("clist", clist);
    			System.out.println(cname+"ajax获取的cnme");
    			ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    			ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    		    List<Contacts> clist=	um.selectByUidAndCname(contacts);
    		    System.out.println(clist);
    		   
    		    response.setCharacterEncoding("UTF-8");
    		    response.getWriter().print(JSON.toJSONString(clist));
    		}
    	
    	
    
    	// 1.用于跳转修改页面 2.希望在跳转是同时拿出所有的数据
    	@RequestMapping("/toUpdateCon")
    	public String UpdateCon(HttpSession session, Model m) {
    		// 1.拿到session中的uid
    		User logUser = (User) session.getAttribute("user");
    
    		// 2.通讯录初始化查询
    		Service service = new Service();
    		List<Contacts> clist = service.selectAllc(logUser.getUid());
    		m.addAttribute("msg", logUser);// 把session中的用户传到页面
    		m.addAttribute("clist", clist);// 把查询到的信息放到将要跳转的删除业务界面
    
    		return "updateCon";
    	}
    
    	// 1.更新业务
    	@RequestMapping("/UpdateCon")
    	public String UpdateCon(ContactsVO conList,Model m) {
    		// 用于修改操作
    		List<Contacts> cts = conList.getCts();// cts要与vo保持一致
    		//System.out.println("观察记录"+cts);//前台选择的数据
    		List<Contacts> tmp = new ArrayList<Contacts>();//创建临时变量被选中的才存进去
    		
    		
            //页面被选中的cid肯定不为空,则存入临时变量
    		for (Contacts contacts : cts) {
    			if(contacts.getCid()!=null){
    				tmp.add(contacts);
    			}
    		} 
    		//System.out.println(tmp);//打印被选中的list
    		//把list传到前台吧
    		m.addAttribute("msgofupdate","更新成功您修改的记录如下");
    		m.addAttribute("tmp", tmp);//更新的东西放前端展示
    		//2.更新业务 更新被在选择的数据
    		
    		Service se=new Service();
    		//循环更新
    		for (Contacts c : tmp) {
    			se.updateByCidSelective(c);
    		} 
    		
    		
    		return "Objectscanner";
    
    	}
    	
    	
    	
    }
    
    

    LogAndReg.java

    package cn.ma.spring.controller;
    
    import java.util.List;
    
    import javax.servlet.http.HttpSession;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import cn.ma.spring.mapper.UserMapper;
    import cn.ma.spring.po.Contacts;
    import cn.ma.spring.po.User;
    import cn.ma.spring.utils.CreateUid;
    import cn.ma.spring.utils.Service;
    
    @Controller
    @RequestMapping(value = "/LAR")
    public class LogAndReg {
    
    	@RequestMapping(value = "/toLog")
    	public String tolog() {
    		return "log";// 跳转主页 == 登陆页面
    
    	}
    
    	@RequestMapping(value = "/toReg")
    	public String toReg() {
    		return "reg";// 跳转注册
    
    	}
    	
    	@RequestMapping(value = "/Reg")
    	public String Reg(User user,Model m) {
    		
    		//生成6位随机uid
    		CreateUid createUid=new CreateUid();
    		String uid=createUid.getUid();
    		int uuid=Integer.valueOf(uid);//转换为int
    		user.setUid(uuid);
    		//插入业务
    		Service service=new Service();
    	    int  a =service.addNewUser(user);
    	    
    	    if(a>0){
    	    	m.addAttribute("user", user);
    	    	m.addAttribute("msg", "注册成功");
    	    	m.addAttribute("msg2", "你的ID为");
    	    	return "log";// 跳转自己	
    	    }else{
    	    	m.addAttribute("msg", "注册失败");
    	    	return "reg";
    	    }
    		
    
    	}
    
    	@RequestMapping(value = "/valLog")
    	public String valLog(User user, Model m, HttpSession session) {
    		System.out.println("前台传参==》" + user.getUsername());
    		// 根据用户名密码 来查询 登陆功能
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// StuMapper是一个接口类 里面定义了很多方法
    		UserMapper sm = (UserMapper) act.getBean(UserMapper.class);
    		// 这个方法要与mapper.xml中的id保持一致
    		User logUser = sm.selectByUsernameAndPassword(user);
    
    		if (logUser == null) {
    			m.addAttribute("msg", "用户名密码错误");
    			return "log";
    		} else {
    			
    			// 1.把用户存进session
    			session.setAttribute("user", logUser);
    			User uu = (User) session.getAttribute("user");
    			String uname = uu.getUsername();
    			System.out.println(uname + "正在会话中");
    			// 2.通讯录初始化查询   //进入后有数据 ***在这里进行分页升级
    			Service service = new Service();
    			List<Contacts> clist = service.selectAllc(logUser.getUid());
    			m.addAttribute("msg", logUser);
    			m.addAttribute("clist", clist);
    			return "scanner";//sacnner 作为主业面 
    		}
    
    	}
    	@RequestMapping(value = "/LogOut")
    	public String logOut(HttpSession session) {
    		session.invalidate();//将当前用户登录状态释放
    		return "logOut";
    
    	}
    }
    
    

    Service.java

    package cn.ma.spring.utils;
    
    import java.util.List;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import cn.ma.spring.mapper.ContactsMapper;
    import cn.ma.spring.mapper.UserMapper;
    import cn.ma.spring.po.Contacts;
    import cn.ma.spring.po.User;
    
    public class Service {
    public List<Contacts> selectAllc(Integer uid){
    	    //根据Cid查询	一般用户功能   用于查询用户自己的通讯练习人
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// Mapper是一个接口类 里面定义了很多方法
    		ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    		//将uid为指定值的用户都查出来
    	    List<Contacts> clist=um.selectByUid(uid);
    		
    	    return clist;
    	
    }
    
    public int AllCNumber(){
        //根据Cid查询	一般用户功能   用于查询用户自己的通讯练习人
    	ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    	// Mapper是一个接口类 里面定义了很多方法
    	ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    	//将uid为指定值的用户都查出来
        int num=um.AllNumber();
    	
        return num;
    
    }
    
    public List<Contacts> selectAllByName(Contacts contacts){//名字 联系人
        //根据Cid查询	一般用户功能   用于查询用户自己的通讯练习人
    	ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    	// Mapper是一个接口类 里面定义了很多方法
    	ContactsMapper cm = (ContactsMapper) act.getBean(ContactsMapper.class);
    	//将uid为指定值的用户都查出来
        List<Contacts> clist=cm.selectByUidAndCname(contacts);
    	
        return clist;
    
    }
    
    public List<Contacts> selectAllByCondition(Contacts contacts){//条件查询 联系人
        //根据Cid查询	一般用户功能   用于查询用户自己的通讯练习人
    	ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    	// Mapper是一个接口类 里面定义了很多方法
    	ContactsMapper cm = (ContactsMapper) act.getBean(ContactsMapper.class);
    	//将uid为指定值的用户都查出来
        List<Contacts> clist=cm.selectByCondition(contacts);
    	
        return clist;
    
    }
    
        public int deleteById(Integer cid){
        	 //根据id删除	一般用户功能   用于删除用户自己的通讯练习人
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// Mapper是一个接口类 里面定义了很多方法
    		ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    		//将uid为指定值的用户都查出来
    	    int a= um.deleteByPrimaryKey(cid);
    	    return a;
    	   
       }
         
        public int addNewUser(User user) {
        	 //根据对象插入用户表
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// Mapper是一个接口类 里面定义了很多方法
    		UserMapper um = (UserMapper) act.getBean(UserMapper.class);
    		//插入
    	    int a=um.insert(user);
    		return a;
    		
    	}
        //更新业务
       public int updateByCidSelective(Contacts record){
    	        
    	 		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    	 		// Mapper是一个接口类 里面定义了很多方法
    	 		ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    	 		//更新
    	 	    int a=um.updateByPrimaryKeySelective(record);
    	 		return a;	   
       }
       
       public List<Contacts> AdminSelectALL(){
           
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// Mapper是一个接口类 里面定义了很多方法
    		ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    		//更新
    		List<Contacts> clist=um.selectAll();
    		return clist;	   
    }
       //分页
       public Page<Contacts> PageSelect(Integer start,Integer size){
           
    		ApplicationContext act = new ClassPathXmlApplicationContext("bean.xml");
    		// Mapper是一个接口类 里面定义了很多方法
    		ContactsMapper um = (ContactsMapper) act.getBean(ContactsMapper.class);
    		int	tal=um.AllNumber();//总记录条数
    		
    		Page<Contacts> pages=new Page<Contacts>();
    
    		pages.setPage(start);//起始页
    		pages.setSize(size);
    		pages.setTotal(tal);
    		
    		Contacts contacts=new Contacts();
    		int a=(start-1)*size;
    		contacts.setStart(a);
    		contacts.setSize(size);
    		
    		List<Contacts> clist=um.selectAllPage(contacts);
         	
    		pages.setRows(clist);
    	
    	
    		
    		
    		
    		
    		return pages;	   
    }
        
    }
    
    

    AdminSearch.jsp

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@ taglib prefix="itheima" uri="http://itheima.com/common/"%>
    <%
    	String path = request.getContextPath();
    	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
    			+ path + "/";
    %>
    
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>客户管理-BootCRM</title>
    <!-- 引入css样式文件 -->
    <!-- Bootstrap Core CSS -->
    <link href="<%=basePath%>css/bootstrap.min.css" rel="stylesheet" />
    <!-- MetisMenu CSS -->
    <link href="<%=basePath%>css/metisMenu.min.css" rel="stylesheet" />
    <!-- DataTables CSS -->
    <link href="<%=basePath%>css/dataTables.bootstrap.css" rel="stylesheet" />
    <!-- Custom CSS -->
    <link href="<%=basePath%>css/sb-admin-2.css" rel="stylesheet" />
    <!-- Custom Fonts -->
    <link href="<%=basePath%>css/font-awesome.min.css" rel="stylesheet"
    	type="text/css" />
    <link href="<%=basePath%>css/boot-crm.css" rel="stylesheet"
    	type="text/css" />
    </head>
    
    <body
    	Style="width:100%;
    	height: 100%;
    	background-image: url(images/bg2.jpg);
    	background-repeat: no-repeat;
    	background-size: 100% 100%;">
    
    
    
    	<div id="page-wrapper"width:100%;>
    		<div class="row">
    			<div class="col-lg-12">
    				<div class="panel panel-default">
    
    					<font color="red">${msg.username}</font>已登陆《——》<br>
    					<p align="right">
    						<img alt="" src="images/refresh.png"> <a href="AdminIndex">刷新</a>&#12288;
    						<img alt="" src="images/exit.png"> <a href="LogOut">退出</a>&#12288;&#12288;
    					</p>
    					<!-- 可以不用form因为写了事件 -->
    					<form action="Do/SearchCon" method="post">
    						<center>
    							管理员查看</a><br />
    						</center>
    					</form>
    
    					<table class="table table-bordered table-striped">
    						<thead>
    							<tr>
    								<th>序号</th>
    								<th>姓名</th>
    								<th>电话</th>
    								<th>地址</th>
    							</tr>
    						</thead>
    						<tbody>
    							<c:forEach items="${page.rows}" var="con" varStatus="a">
    								<tr>
    									<td>${a.count}</td>
    									<td>${con.cname}</td>
    									<td>${con.cphone}</td>
    									<td>${con.caddress}</td>
    								</tr>
    							</c:forEach>
    						</tbody>
    					</table>
    
    					<div class="col-md-12 text-right">
    						<itheima:page
    							url="${pageContext.request.contextPath }/AdminDo/AdminIndex" />
    					</div>
    					<!-- /.panel-body -->
    				</div>
    				<!-- /.panel -->
    			</div>
    			<!-- /.col-lg-12 -->
    		</div>
    	</div>
    	<jsp:include page="/WEB-INF/jsp/down.jsp" flush="true" />
    </body>
    </html>
    
    

    仅展示部分代码,有需要联系博主,欢迎大家留言讨论:

    有任何疑问和和源码需求敬请关注公众号【蜗牛资源社】

    欢迎交流学习!

    展开全文
  • 通讯录-源码

    2021-02-09 02:32:48
    通讯录
  • 企业通讯录php源码

    2018-12-03 19:30:25
    企业通讯录php源码,增删改查,搜索,模糊搜索,表单排序等等。
  • 本人写的一个个人通讯录,主体功能已经完成,界面美观大方,有源码,可以给初学者一个参考。
  • 这是基于jsp页面制作的网页,名称是通讯录管理系统,做的大体上能够实现其功能
  • ./tpl 网页模版目录 ./index.php 首页文件,网站配置信息 ./m.php MD5加密测试文件 ./contacts.sql 数据库文件 使用说明: .数据库文件 contacts.sql (提前创建mysql数据库,并导入此数据)2.数据库配置入口文件index....
  • 爬虫jsp获取网页源码

    2019-04-28 17:45:04
    在jsp页面文本框中输入数据,根据输入的指定网址,在页面中获取到源码,或者直接根据网址显示网页
  • 点赞评论留邮箱,直接发给你源码,不用自己复制!!! 点赞评论留邮箱,直接发给你源码,不用自己复制!!! 点赞评论留邮箱,直接发给你源码,不用自己复制!!! 运行截图如下 登录页 通讯录首页 添加一名...
     不用评论留邮箱了,不想发了。累  
    

    要源码的同学可以通过下面的地址下载,需要积分(可以去某宝找csdn代下
    源码下载链接


    运行环境:Eclipse tomcat8.5、数据库SQL SERVER
    运行截图如下
    ## 登录页

    登录页

    通讯录首页

    在这里插入图片描述

    添加一名联系人页面

    在这里插入图片描述

    通讯录更改联系人信息页面

    在这里插入图片描述

    通讯录查询页面

    在这里插入图片描述

    项目结构图

    在这里插入图片描述

    获取 数据库连接类:

    package bean;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class DbConnect {
        public static Connection connection;
        public static String url = "jdbc:sqlserver://localhost:1433; DatabaseName=addressList";
        private static String username = "sa";
    	private static String password ="";
        public static Connection getConnection() {
            try {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
                connection = DriverManager.getConnection(url,username, password);
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            }catch (Exception e) {
            	System.out.println("数据库连接失败");
            	e.printStackTrace();
    		}
            return connection;
        }
    }
    
    通讯录实体类:
    package bean;
    import java.io.Serializable;
    public class Address implements Serializable{
    	private int id;
    	private String name;
    	private String phone1;
    	private String phone2;
    	public Address() {
    	}
    	public Address(int id,String name,String phone1,String phone2) {
    		super();
    		this.id=id;
    		this.name=name;
    		this.phone1=phone1;
    		this.phone2=phone2;
    	}
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getPhone1() {
    		return phone1;
    	}
    	public void setPhone1(String phone1) {
    		this.phone1 = phone1;
    	}
    	public String getPhone2() {
    		return phone2;
    	}
    	public void setPhone2(String phone2) {
    		this.phone2 = phone2;
    	}
    	@Override
    	public String toString() {
    		return "Address [id=" + id + ", name=" + name + ", phone1=" + phone1 + ", phone2=" + phone2 + "]";
    	}
    }
    
    登录JSP页面:
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>通讯录</title>
    <link rel="stylesheet" href="./css/bootstrap.min.css">
    <link href="css/mystyle.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    .container {
    	color: white;
    }
    #footer {
    	position: fixed;
    	bottom: 0;
    	text-align: center;
    	margin-left: -50px; /*div宽度的一半*/
    	left: 39%;
    }
    </style>
    </head>
    <body>
    <div id="container">
    		<div class="container">
    			<h1 class="display-4">通讯录</h1>
    			<p class="lead">AddressList Book</p>
    		</div>
    	<br>
    	<br>
    	<div id="login-container">
    		<div align="center">
    		<form action="/addressList/loginServer" method="post">
    			<br><br>
    		 	<img class="mb-4" src="images/b.jpg" alt="这是一个图标" width="72" height="72">
     			 <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
    			<table>
    				<tr>
    					<td>
    						<div class="input-group mb-3">
    							<div class="input-group-preend">
    								<span class="input-group-text" id="inputGroup-sizing-default">账号</span>
    							</div>
    								<input name="user" type="text" required autofocus class="form-control" aria-label="Sizing example input" aria-describedby="inputGroup-sizing-default">
    						</div>
    					</td>
    				</tr>
    				<tr>
    					<td>
    						<div class="input-group mb-3">
    							<div class="input-group-prepend">
    								<span class="input-group-text" id="inputGroup-sizing-default">密码</span>
    							</div>
    							<input name="pwd" id="pwd" required type="password" class="form-control" aria-label="Sizing example input" aria-describedby="inputGroup-sizing-default"> 
    							<div class="input-group-append">
    								<button class="btn btn-outline-secondary" type="submit" id="button-addon2">登录</button>
    							</div>
    						</div>
    					</td>
    				</tr>
    			</table>
    		</form>
    		</div>
    	</div>
    	<div id="footer" align="center">
    		<footer class="text-muted">
    			<div class="container">
    				<p style="color: white;">Copyright &copy; 2019 gxu author:Wanmao Yi, All Rights Reserved</p>
    			</div>
    		</footer>
    	</div>
    </div>
    
    </body>
    </html>
    
    登录servlet:(查询所有学生信息显示到主页面jsp): 默认登录帐号是a,密码是1,登录帐号没有使用到数据库。
    package servlet;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.util.ArrayList;
    import java.util.List;
    import bean.Address;
    import bean.DbConnect;
    
    /**
     * Servlet implementation class loginServer
     */
    @WebServlet("/loginServer")
    public class loginServer extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public loginServer() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		response.setContentType("text/html");
    		request.setCharacterEncoding("utf-8");
    		response.setCharacterEncoding("utf-8");
    		String user = request.getParameter("user");
    		String pwd = request.getParameter("pwd");
    		if (user.equals("a") && pwd.equals("1")) {
    			Connection connection = DbConnect.getConnection();
    			String sql = "select * from addressbook";
    			PreparedStatement preparedStatement = null;
    			ResultSet resultSet = null;
    			List addressbook = null;
    			try {
    				preparedStatement = connection.prepareStatement(sql);
                    resultSet = preparedStatement.executeQuery();
                    if (resultSet!=null) {
                    	addressbook = new ArrayList();
        				try {
        					while (resultSet.next()) {
        						Address address = new Address();
        						address.setId(resultSet.getInt(1));
        						address.setName(resultSet.getString(2));
        						address.setPhone1(resultSet.getString(3));
        						address.setPhone2(resultSet.getString(4));
        						addressbook.add(address);
        					}
        				} catch (Exception e) {
        					System.out.println("封装数据集失败");
        					e.printStackTrace();
        				}
    				}
                    HttpSession httpSession = request.getSession();
                  httpSession.setMaxInactiveInterval(7200);
                  httpSession.setAttribute("addressbook", addressbook);
                  response.sendRedirect("addresslist.jsp");
    			}catch (SQLException e) {
    				System.out.println("1");
    				e.printStackTrace();
    			}catch (Exception e) {
    				// TODO: handle exception
    				System.out.println("2");
    				e.printStackTrace();
    			}	
    		}else {
    			response.sendRedirect("login.jsp");
    		}
    	}
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    }
    

    mvc模式:JSP + Servlet + JavaBean三层架构
    MVC模式(Model-View-Controller),是系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller):
    可以理解为:JSP充当视图,Servlet充当控制器,JavaBeans充当模型。

    1.View层(JSP),前台交互,比如我们注册时的数据等等,serlvet就是与前台数据进行交互的
    2.Contrller层(servlet充当):Model与View之间沟通的桥梁, 这个层有业务处理,用户的注册登录就可以看做是User的业务,我们就需要将相关的处理代码写到这个层中。
    3.Model层:实现系统的业务逻辑,即javaBean,常见的就是封装对象的属性、数据库连接操作等。
    常规会写一个dao层,是属于mvc里面Model层抽出来。目的就是更单纯的和数据库打交道,将servlet的数据和数据库进行交互。

    特点:JSP作为视图,来表现页面;Servlet作为控制器,控制程序的流程并调用业务进行处理;JavaBean封装了业务逻辑。遵循了MVC设计模式
    缺点:没有统一的开发框架导致开发周期长

    参考博客:
    JavaWeb-简单学生信息管理系统的实现-Jsp+Servlet+MySql
    Jsp+JavaBean模式,Jsp+Servlet模式,MVC模式介绍

    展开全文
  • myEclipse内置Tomcat运行,可实现基本的增删改查。管理员可以对用户信息和用户通信录进行各种操作,用户登录后可查看自己的通讯录
  • java jsp servlet 通讯录

    2019-03-07 16:30:01
    java jsp servlet 通讯录源码,适合初学者学习。内含详细源代码及注释说明。
  • 通道分流设置介绍|短信软件平台开发|网页短信源码销售 通道关键词分流设置: 此处所说到的关键词并非敏感词。敏感词是指不能发的内容敏感词。关键词是指可以发的短信内容。通道可设置多个分流关键字,客户通过...
  • servlet+java类+html制作简易网页通讯录实现增删查改功能 首先科普一下Java中的list表相关知识 链接:https://www.cnblogs.com/tigerlion/p/11179202.html 实验效果 项目结构图 在制作的时候可以将任务小化,...
  • NULL 博文链接:https://1017401036.iteye.com/blog/2304090
  • html5 通讯录

    热门讨论 2014-06-04 14:39:55
    html5 通讯录示例,可以参考下 html5宝典里面的
  • 仿微信通讯录

    2014-05-22 10:26:47
    仿微信通讯录 分类类表的listview 可以直接加到项目里面
  • 通讯录信息获取接口返回值说明企业授权服务商应用套件后,服务商获取的通讯录权限以应用为单位,每个应用对应的可见范围以及额外权限都可以获取到。服务商调用“获取企业授权信息”以及“获取永久授权码”两个接口与...
  • Box通讯录XML格式转换为vCard。 网页界面/在线版本 可以使用。 您也可以。 CLI用户安装 需要 。 从npm安装软件包。 npm i -g fritz-xml-2vcard fritz-xml-2vcard /path/to/contact.xml /path/to/output/dir 开发...
  • java源码包---java 源码 大量 实例

    千次下载 热门讨论 2013-04-18 23:15:26
    内容索引:JAVA源码,游戏娱乐,魔方,网页游戏  Java编写的网页版魔方游戏,编译后生成.class文件,然后用HTML去调用,不过运行时候需要你的浏览器安装有运行Class的插件。Java源代码实现部分,比较有意思,也具参考性...
  • 我在实现网页去重中遇到一些问题,现在卡壳了。哪位大牛能给我发一份网页去重的源码啊,最好是用java实现的,我的邮箱是freefish_2012@163.com。非常感谢。
  • servlet通讯录系统

    2017-09-15 22:07:11
    首页添加联系人查询所有联系...修改结果源码公开Contact.javapackage cn.itcast.dom4j;/** * Contact对象 */ public class Contact { private String id ; private String name; private String sex; private St
  • web通讯录通讯录主界面

    千次阅读 2018-01-22 19:29:53
    界面所用的素材网址点击打开链接,在用网上素材时候首先要把代码看懂才能进行修改,因此希望读者好好看看源码,看的时候着重看看字母排序原理、JQuery设计等等。 分组展示:这个地方有个不好的地方,由于我设计的...
  • ./tpl 网页模版目录 ./index.php 首页文件,网站配置信息 ./m.php MD5加密测试文件 ./contacts.sql 数据库文件 使用说明: 1.数据库文件 contacts.sql (提前创建mysql数据库,并导入此数据) 2.数据库配置入口文件...
  • /usr/bin/pythonimport osimport pickle#判断通讯录是否存在,不存在则创建空通讯录if os.path.exists(r'E:\Person.data')==False:f=open('E:\Person.data','wb')temp={'total' : 0}pickle.du...
  • 30款APP源码打包.zip

    2020-07-24 09:32:09
    Android仿赶集生活客户端APP源码,Android仿高德地图APP源码,Android仿开心网APP源码,Android仿美团界面APP源码,Android高仿陌陌APP源码,Android高仿奇艺APP源码,Android腾讯通讯录管理源码....共30款APP源码
  • ./tpl 网页模版目录 ./index.php 首页文件,网站配置信息 ./m.php MD5加密测试文件 ./contacts.sql 数据库文件 EML企业通讯录管理系统使用说明: 1.数据库文件 contacts.sql (提前创建mysql数据库,并...
  • 企业通讯录管理系统,向企业员工随时随地的提供企业通讯录信息,用户可在手机端实时查看人员联系方式,拨打电话等全面提高..../tpl 网页模版目录 ./index.php 首页文件,网站配置信息 ./m.php MD5加密测试文件 ./con

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,201
精华内容 880
关键字:

网页通讯录源码