一、系统简介

本项目采用eclipse工具开发,jsp+servlet技术编写,样式采用了layui和bootstrap前段框架,数据库采用的是mysql,navicat开发工具。

系统一共分为4个角色分别是:管理员,租客,中介,房东

二、模块简介

管理员

1、登录

2、修改个人信息

3、租客管理

4、房东管理

5、中介管理

6、房源管理

7、房源预约管理

8、看房记录管理

9、合同信息管理

10、统计管理

中介

1、登录

2、个人信息修改

3、房源管理

4、预约管理

5、看房记录管理

6、合同管理

房东

1、登录

2、房源管理

3、预约管理

4、看房记录管理

租客

1、登录,注册

2、浏览房源

3、预约房源

4、查看记录

5、修改个人信息

三、项目截图

项目结构

数据库

后台登录

前台登录

注册

租客管理

中介管理

房东管理

房源管理

预约管理

看房记录管理

合同管理

统计管理

四、代码简介

后端登录代码,通过form表单请求到servlet的login方法,在方法体内进行各种用户的查询操作,查询成功后,跳转后台页面!!!

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";
%>
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>Login Page</title><!-- 样 式 文 件 --><link rel="stylesheet" href="resource/component/pear/css/pear.css" /><link rel="stylesheet" href="resource/admin/css/other/login.css" /></head><!-- 代 码 结 构 --><body background="resource/admin/images/background.svg" style="background-size: cover;"><form class="layui-form" action="LoginServlet?action=login" method="post"  id="loginForm" name="loginForm" ><div class="layui-form-item"><img class="logo" src="resource/admin/images/logo.png" /><div class="title">登&emsp;&emsp;录</div><div class="desc">房 屋 租 赁 系 统</div></div><div class="layui-form-item"><input type="text" placeholder="请输入用户名或者手机号" name="phone" id="phone" hover class="layui-input"  /><span id="msg3" style="color:red">${message}</span></div><div class="layui-form-item"><input id="pwd" type="password" name="pwd" placeholder="请输入密码" hover class="layui-input"  /></div><div class="layui-form-item" style="text-align: center;"><input type="radio" name="type" id="type" value="1" title="管理员" checked><input type="radio" name="type" id="type" value="2" title="房东" > <input type="radio" name="type" id="type" value="3" title="中介" > </div><div class="layui-form-item"><button type="submit" class="pear-btn pear-btn-success login" id="login">登录</button></div><!--  <div class="layui-form-item"><a href="LoginServlet?action=toRegister" class="pear-btn pear-btn-warming  layui-btn-fluid">去注册</a></div>  --></form><!-- 资 源 引 入 --><script src="resource/component/layui/layui.js"></script><script src="resource/component/pear/pear.js"></script><script>layui.use(['layer', 'form','jquery'], function(){var form = layui.form,layer = layui.layer,$= layui.jquery;form.render();//这句一定要加,占坑$("#login").on("click", function() {var phone = $("#phone").val().trim(); // trim()去除空格var pwd = $("#pwd").val().trim();var type = $("#type").val();if(phone == ""){layer.msg('用户名或者手机号不能为空!');return false;}if(pwd == ""){layer.msg('密码不能为空!');return false;}if(type == ""){layer.msg('请选择角色!');return false;}});setTimeout(function(){ $("#msg").html("")},3000);setTimeout(function(){ $("#msg2").html("")},3000);setTimeout(function(){ $("#msg3").html("")},3000);});</script></body>
</html>
private void login(HttpServletRequest request, HttpServletResponse response) {// TODO Auto-generated method stubString phone = request.getParameter("phone");String pwd = request.getParameter("pwd");String type = request.getParameter("type");if(type != null && type.equals("1")){Admin admin = new Admin();admin.setUserName(phone);admin.setPwd(pwd);Admin admin1 = ls.selectAdmin(admin);try {if (admin1 == null){request.setAttribute("message", "管理员用户不存在或者密码错误");request.getRequestDispatcher("/WEB-INF/views/loginHt.jsp").forward(request, response);}else {request.getSession().setAttribute("admin",admin1);request.getSession().setAttribute("flag",1);request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);}               } catch (Exception e) {e.printStackTrace();}}else if(type != null && type.equals("2")){//房东LandLoard la  =ls.selectLandLoard(phone,pwd);try {if (la == null){request.setAttribute("message", "手机号不存在或者密码错误");request.getRequestDispatcher("/WEB-INF/views/loginHt.jsp").forward(request, response);}else {request.getSession().setAttribute("landLoard",la);request.getSession().setAttribute("flag",2);request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);}              } catch (Exception e) {e.printStackTrace();}}else if(type != null && type.equals("3")){//中介Agency agency  =ls.selectAgency(phone,pwd);try {if (agency == null){request.setAttribute("message", "手机号不存在或者密码错误");request.getRequestDispatcher("/WEB-INF/views/loginHt.jsp").forward(request, response);}else {request.getSession().setAttribute("agency",agency);request.getSession().setAttribute("flag",3);request.getRequestDispatcher("/WEB-INF/views/main.jsp").forward(request, response);}               } catch (Exception e) {e.printStackTrace();}}}

前端登录代码,通过form表单请求到servlet的tentLogin方法,请求成功后跳转前端首页

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>房屋租赁平台</title><link rel="stylesheet" type="text/css" href="resource/static/css/main.css"><link rel="stylesheet" type="text/css" href="resource/res/layui/css/layui.css"><script type="text/javascript" src="resource/res/layui/layui.js"></script><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0"><meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
</head>
<body><div class="site-nav-bg"><div class="site-nav w1200"><p class="sn-back-home"><i class="layui-icon layui-icon-home"></i><a href="HouseServlet?action=houseListIndex">首页</a><a href="LoginServlet?action=toLoginHt">后台管理</a></p><div class="sn-quick-menu"></div></div></div><div class="header"><div class="headerLayout w1200"><div class="headerCon"><h1 class="mallLogo"><a href="#" title="" style="color:#C89581">房屋租赁系统<!-- <img src="resource/static/img/logo.png"> --></a></h1></div></div></div><div class="content content-nav-base  login-content"><div class="login-bg"><div class="login-cont w1200"><div class="form-box"><form class="layui-form" action="LoginServlet?action=tentLogin" method="post"  id="loginForm" name="loginForm" ><legend>租客登录</legend><div class="layui-form-item"><div class="layui-inline iphone"><div class="layui-input-inline"><input type="text" name="phone" id="phone"  placeholder="请输入手机号" autocomplete="off" class="layui-input"><span id="msg3" style="color:red">${message}</span></div></div><div class="layui-inline iphone"><div class="layui-input-inline"><input type="password" name="pwd" id="pwd"  placeholder="请输入密码" autocomplete="off" class="layui-input"></div></div><input type="hidden" name="type" value="4" ></div><div class="layui-form-item login-btn" ><div class="layui-input-block"><button class="layui-btn" id="login" lay-filter="demo1" >登录</button></div></div></form></div></div></div></div><div class="footer"><div class="ng-promise-box"><div class="ng-promise w1200"><p class="text"><a class="icon1" href="javascript:;">保证100%正品房源</a><a class="icon2" href="javascript:;">绝对保证房源质量</a><a class="icon3" style="margin-right: 0" href="javascript:;">保证售后服务质量</a></p></div></div><div class="mod_help w1200">                                     <p><a href="javascript:;">关于我们</a><span>|</span><a href="javascript:;">帮助中心</a><span>|</span><a href="javascript:;">售后服务</a><span>|</span><a href="javascript:;">房屋资讯</a><span>|</span><a href="javascript:;">关于房源</a></p><p class="coty">房屋租赁平台版权所有 &copy; 2020-2021</p></div></div><script src="resource/res/layui/layui.js"></script>
<script>
layui.use(['layer', 'form','jquery'], function(){var form = layui.form,layer = layui.layer,$= layui.jquery;form.render();//这句一定要加,占坑$("#login").on("click", function() {var phone = $("#phone").val().trim(); // trim()去除空格var pwd = $("#pwd").val().trim();var type = $("#type").val();if(phone == ""){layer.msg('用户名或者手机号不能为空!');return false;}if(pwd == ""){layer.msg('密码不能为空!');return false;}if(type == ""){layer.msg('请选择角色!');return false;}});setTimeout(function(){ $("#msg").html("")},3000);
setTimeout(function(){ $("#msg2").html("")},3000);
setTimeout(function(){ $("#msg3").html("")},3000);
});
</script>
</body>
</html>
//租客登录private void tentLogin(HttpServletRequest request, HttpServletResponse response) {// TODO Auto-generated method stubString phone = request.getParameter("phone");String pwd = request.getParameter("pwd");Tenant te  =ls.selectTenant(phone,pwd);try {if (te == null){request.setAttribute("message", "手机号不存在或者密码错误");request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request, response);}else {request.removeAttribute("message");request.getSession().setAttribute("tenant",te);request.getSession().setAttribute("flag",4);response.sendRedirect(request.getContextPath()+"/HouseServlet?action=houseListIndex");}                } catch (Exception e) {e.printStackTrace();}}

租客管理相关代码

在TenantServlet,文件里面,post请求中过滤jsp页面传过来的action参数,然后编写指定的方法进行不同的操作

@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String action=request.getParameter("action");//接受请求的参数if(action != null && action.equals("tenantList")) {//去业务员列表页面tenantList(request, response);}else if(action != null && action.equals("tenantListLike")){tenantListLike(request, response);}else if(action != null && action.equals("toAddTenant")){toAddTenant(request, response);}else if(action != null && action.equals("addTenant")){addTenant(request, response);}else if(action != null && action.equals("updateTenant")){updateTenant(request, response);}else if(action != null && action.equals("toUpdateTenant")){toUpdateTenant(request, response);}else if(action != null && action.equals("deleteTenant")){deleteTenant(request, response);}else if(action != null && action.equals("mineMessage")){mineMessage(request, response);}else if(action != null && action.equals("registe")){//租客注册registe(request, response);}}

租客列表

编写分页查询,查询后的数据返回给前端展示

 /*** 分页查询租客* @param request* @param response*/private void tenantList(HttpServletRequest request, HttpServletResponse response) {String p=request.getParameter("p");//接收页码int pageSize=4;//每页显示5条int pageNum=1; //默认第一页if(p!=null){pageNum= Integer.parseInt(p);}//调用分页查询List<Tenant> list=ts.getTenantListPage(pageNum,pageSize);int nums=ts.queryTenantCount(); //查询总数//计算总页数int totalPage=(nums%pageSize==0)? (nums/pageSize):(nums/pageSize+1);request.setAttribute("cp",pageNum); //当前页request.setAttribute("tp",totalPage); //总页数try {request.removeAttribute("msg");request.setAttribute("list" ,list);request.getRequestDispatcher("/WEB-INF/views/tenant/tenantList.jsp").forward(request, response);} catch (Exception e) {e.printStackTrace();}}
}
<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
<jsp:include page="/WEB-INF/common/form_header.jsp"/><body><div class="layui-col-md12"><div class="layui-card"><div class="layui-card-header">租客列表</div><div class="layui-card-body"><form action="TenantServlet?action=tenantListLike" method="post"><input type="text" placeholder="根据租客姓名称查询" name="name" id ="name" style="height:26px;" /><input type="submit" class="layui-btn layui-btn-sm layui-btn-normal" value="查询" /><c:if test="${flag == 1}"><a href="TenantServlet?action=toAddTenant"class="layui-btn layui-btn-sm layui-btn-normal">新增租客</a></c:if></form>   <span style="color: red" class="help-block m-b-none">${msg}</span><table class="layui-table"><thead><tr><th>姓名</th><th>性别</th><th>密码</th><th>手机号</th><th>创建时间</th><th>操作</th></tr></thead><tbody><c:forEach items="${list}" var="u"><tr><td>${u.realName }</td><td>${u.sex }</td><td>${u.pwd }</td><td>${u.phone }</td><td>${u.time }</td><td>  <c:if test="${flag == 1}"><a href="TenantServlet?action=toUpdateTenant&id=${u.id}" id="update"class="layui-btn layui-btn-sm layui-btn-norma"><iclass="layui-icon">修改</i></a><a href="TenantServlet?action=deleteTenant&id=${u.id}" id="delete"class="layui-btn layui-btn-sm layui-btn-danger"><iclass="layui-icon">删除</i></a></c:if> </td></tr></c:forEach></tbody></table><div style="text-align: center"><div class="layui-btn-group"><a class="layui-btn layui-btn-primary"href="TenantServlet?action=tenantList&p=1">首页</a><%--        判断是否有上一页--%><c:if test="${cp>1}"><a class="layui-btn layui-btn-primary"href="TenantServlet?action=tenantList&p=${cp-1}">上一页</a></c:if><%--        循环显示页码--%><c:forEach begin="${cp-2>1 ? (cp-2) :1}"end="${cp+2>tp?tp:(cp+2)}" var="e"><%--            判断是否是当前页--%><c:if test="${cp==e}"><a class="layui-btn layui-btn-danger"href="TenantServlet?action=tenantList&p=${e}">${e}</a></c:if><c:if test="${cp!=e}"><a class="layui-btn layui-btn-primary"href="TenantServlet?action=tenantList&p=${e}">${e}</a></c:if></c:forEach><%--        判断是否有下一页--%><c:if test="${cp<tp}"><a class="layui-btn  layui-btn-primary"href="TenantServlet?action=tenantList&p=${cp+1}">下一页</a></c:if><a class="layui-btn  layui-btn-primary"href="TenantServlet?action=tenantList&p=${tp}">尾页</a> <!-- <aclss="layui-btn" href="TenantServlet?action=tenantList&p=2">2</a><a clss="layui-btn" href="TenantServlet?action=tenantList&p=3">3</a><a clss="layui-btn" href="TenantServlet?action=tenantList&p=4">4</a> --></div></div></div></div></div><script src="resource/layui/jquery-1.9.1.min.js"></script><script type="application/javascript">
$(function () {$("#delete").click(function () {return confirm("你确定删除这条记录吗");})
})</script></body>
</html>
 public List<Tenant> getTenantListPage(int pageNum, int pageSize) {String sql="select * from tenant limit ?,?";int startNo=(pageNum-1)*pageSize;List<Tenant> list=null;try {list= runner.query(sql, new BeanListHandler<Tenant>(Tenant.class),new Object[] {startNo,pageSize});//添加实体类的适配器进行类的反射return list;} catch (Exception e) {//捕获异常throw new RuntimeException(e);//抛出运行异常}}

新增租客

填写form表单,请求form表单里面的action方法,请求指定的servlet下面的方法,进行注册操作。

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+ path + "/";
%>
<jsp:include page="/WEB-INF/common/form_header.jsp"/>
<body><div class="layui-fluid"><div class="layui-row layui-col-space15"><div class="layui-col-md12"><div class="layui-card"><div class="layui-card-header">新增租客</div><span id="msg3" style="color:red">${message}</span><div class="layui-card-body" ><form action="TenantServlet?action=addTenant" method="post" class="layui-form"><div class="layui-form-item"><label class="layui-form-label">姓名:</label><div class="layui-input-inline"><input name="realName" id="realName" class="layui-input" /></div></div><div class="layui-form-item"><label class="layui-form-label">性别:</label><div class="layui-input-inline"><select name="sex" id ="sex" ><option value="">请选择性别</option><option value="男">男</option><option value="女">女</option></select></div></div> <div class="layui-form-item"><label class="layui-form-label">密码:</label><div class="layui-input-inline"><input name="pwd" id="pwd"  class="layui-input" /></div></div><div class="layui-form-item"><label class="layui-form-label">手机号:</label><div class="layui-input-inline"><input name="phone" id="phone" class="layui-input" /></div></div><br><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" type="submit" id="updateRecord">提交</button><a href="TenantServlet?action=tenantList" class="layui-btn layui-btn-primary" >返回</a></div></div>  </form></div></div></div></div></div><script src="resource/layui/layui.js"></script>
<script src="resource/layui/jquery-1.9.1.min.js"></script>
<script>layui.use([ 'form','jquery','layer','laydate' ], function() {var form = layui.form,layer = layui.layer,laydate=layui.laydate,$= layui.jquery;form.render();//这句一定要加,占坑$('#updateRecord').click(function(){  var realName = $.trim($('#realName').val());var pwd = $.trim($('#pwd').val());var sex = $.trim($('#sex').val());var phone = $.trim($('#phone').val());if(realName == ''){  layer.msg('姓名不能为空',{icon:6},function() {time:2000}); return false;  }if(pwd == ''){  layer.msg('密码不能为空',{icon:6},function() {time:2000}); return false;  }if(sex == ''){  layer.msg('性别不能为空',{icon:6},function() {time:2000}); return false;  }if(phone == ''){  layer.msg('手机号不能为空',{icon:6},function() {time:2000}); return false;  }});});
</script>
</body>
</html>
 /*** 新增租客* @param request* @param response* @throws IOException * @throws ServletException */private void addTenant(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//String temp = request.getParameter("temp");String realName = request.getParameter("realName");String sex = request.getParameter("sex");String pwd = request.getParameter("pwd");String phone = request.getParameter("phone");String flag=String.valueOf((request.getSession().getAttribute("flag")));Tenant te = ts.selectTenantByPhone(phone);if(te!=null&&flag.equals("4")) {request.setAttribute("message", "手机号已存在!");request.getRequestDispatcher("/WEB-INF/views/register.jsp").forward(request,response);}else if(te!=null&&flag.equals("1")) {request.setAttribute("message", "手机号已存在!");request.getRequestDispatcher("/WEB-INF/views/tenant/addTenant.jsp").forward(request,response);}else if(te==null&&flag.equals("4")) {Tenant tenant = new Tenant();tenant.setPhone(phone);tenant.setPwd(pwd);tenant.setRealName(realName);tenant.setSex(sex);tenant.setTime(WebUtils.nowDate());ts.addTenant(tenant);request.getRequestDispatcher("/WEB-INF/views/login.jsp").forward(request,response);}else if(te==null&&flag.equals("1")) {Tenant tenant = new Tenant();tenant.setPhone(phone);tenant.setPwd(pwd);tenant.setRealName(realName);tenant.setSex(sex);tenant.setTime(WebUtils.nowDate());ts.addTenant(tenant);response.sendRedirect(request.getContextPath()+"/TenantServlet?action=tenantList");}}
 public List<Tenant> getTenantListPage(int pageNum, int pageSize) {String sql="select * from tenant limit ?,?";int startNo=(pageNum-1)*pageSize;List<Tenant> list=null;try {list= runner.query(sql, new BeanListHandler<Tenant>(Tenant.class),new Object[] {startNo,pageSize});//添加实体类的适配器进行类的反射return list;} catch (Exception e) {//捕获异常throw new RuntimeException(e);//抛出运行异常}}

代码总体类型,本项目比较简单,非常适合初学者学习jsp和servlet,练习一些基础的sql语句,了解前端代码!!!!!!

喜欢的点赞 关注,感谢!!!!!

基于javaweb的房屋租赁系统(前端+后端)相关推荐

  1. 基于javaweb的房屋租赁系统(java+ssm+jsp+mysql)

    基于javaweb的房屋租赁系统(java+ssm+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/sts等 ...

  2. 基于javaweb的房屋租赁后台管理系统

    一.系统简介 本项目采用eclipse工具开发,jsp+servlet+jquery技术编写,数据库采用的是mysql,navicat开发工具. 系统一共分为1个角色分别是:管理员 二.模块简介 管理 ...

  3. 基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署

    基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署 基于JAVA二手房屋租赁系统计算机毕业设计源码+系统+lw文档+部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 ...

  4. 基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件

    基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件 基于Java毕业设计房屋租赁系统源码+系统+mysql+lw文档+部署软件 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  5. 基于javaweb的问卷调查系统(java+ssm+layui+jsp+mysql)

    基于javaweb的问卷调查系统(java+ssm+layui+jsp+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclips ...

  6. 基于javaweb的日记系统(java+jsp+bootstrap+servlet+mysql)

    基于javaweb的日记系统(java+jsp+bootstrap+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  7. SSM框架基于JavaWeb在线投票系统的设计与实现源码

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 SSM框架基于JavaWeb在线投票系统的设计与实现源码 视频效果 SSM框架基 ...

  8. 基于javaweb的房屋租赁管理系统(java+ssm+layui+mysql+jsp)

    基于javaweb的房屋租赁管理系统(java+ssm+layui+mysql+jsp) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myecli ...

  9. 基于SSM公寓房屋租赁系统(附论文)

    大家好,很高兴和大家分享源码.不管是什么样的需求.都希望各位计算机专业的同学们有一个提高. 大家可以通过常用的搜索引擎,以百度为例,搜索 源码乐园 code51 ,然后再次搜索 自己想要的即可.更多的 ...

最新文章

  1. linux负载均衡(什么是负载均衡)
  2. Android自定义spinner下拉框实现的实现
  3. bucket sort count sort
  4. 如何用阿里云容灾服务(HDR)为本地数据中心提供极致保护...
  5. Trie树(c++实现)
  6. asp.net + jQuery + LINQ 简单登录
  7. 常见Promise面试题
  8. 关于线程的停止、挂起、退出(修改)
  9. OpenCV-闭运算(CLOSE)
  10. 一文掌握 Docker 技术体系
  11. SqlServer彻底卸载,适用于任何版本,亲测了n次都可用
  12. 笔记本 续航测试软件,续航能力测试
  13. 《随笔二十二》—— C++中的“ 函数模板 和 类模板 ”
  14. 计算机课程意见建议,对计算机课程的建议论文
  15. iOS 面向切面编程与typhoon框架
  16. 编写MTK6737平台的GPIO驱动例程(六)
  17. kvm显示器怎么切换服务器,kvm切换器一套键盘鼠标显示器的热键切换方法教程
  18. xml中加html源码,XML与HTML的结合(下)_xml
  19. 在rk3328上从零构建ubuntu16.04系统系列(1):sdk的环境配置和编译与uboot的网卡驱动配置
  20. java referencequeue,Reference 、ReferenceQueue 详解

热门文章

  1. G001-181-08
  2. 手机游戏无障碍设计——猜地鼠之Android篇
  3. 分享使用PHP开发留言板
  4. Go按多组id数组出现次数,由多到少排序并去重,输出权重id数组
  5. centOS6.8安装VMware tools,请确保您已登录客户机操作系统。在客户机中装载CD驱动器启动终端,使用tar解压缩安装程序,然后执行vmware-insall.pl安装VMware To
  6. HDU-4414 Finding crosses
  7. Echarts 柱状图渐变色设置
  8. 树莓派改造成通用计算机,218元!树莓派电脑板成功改造完整便携式电脑(图)...
  9. JAVA泛型与集合类
  10. 用PHP+MYSQL写一个完整的登录界面