JavaWeb黑马旅游网-学习笔记07【旅游线路查询】
- Java后端 学习路线 笔记汇总表【黑马程序员】
- JavaWeb黑马旅游网-学习笔记01【准备工作】
- JavaWeb黑马旅游网-学习笔记02【注册功能】
- JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
- JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
- JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】
- JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】
- JavaWeb黑马旅游网-学习笔记07【旅游线路查询】
- JavaWeb黑马旅游网-学习笔记08【旅游线路详情】
- JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】
- JavaWeb黑马旅游网-学习笔记10【项目代码】
目录
40-旅游线路查询_参数传递
header.html
route_list.html
41-旅游线路查询_后台代码
RouteDaoImpl.java
RouteServiceImpl.java
RouteServlet.java
42-旅游线路查询_前台代码
route_list.html
40-旅游线路查询_参数传递
点击搜索按钮,触发搜索事件。模糊查询。
header.html
route_list.html
41-旅游线路查询_后台代码
RouteDaoImpl.java
package cn.itcast.travel.dao.impl;import cn.itcast.travel.dao.RouteDao;
import cn.itcast.travel.domain.Route;
import cn.itcast.travel.util.JDBCUtils;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;import java.util.ArrayList;
import java.util.List;public class RouteDaoImpl implements RouteDao {private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());@Overridepublic int findTotalCount(int cid, String rname) {//String sql = "select count(*) from tab_route where cid = ?";//1.定义sql模板String sql = "select count(*) from tab_route where 1=1 ";StringBuilder sb = new StringBuilder(sql);List params = new ArrayList();//条件们//2.判断参数是否有值if (cid != 0) {sb.append(" and cid = ? ");params.add(cid);//添加?对应的值}if (rname != null && rname.length() > 0) {sb.append(" and rname like ? ");params.add("%" + rname + "%");}sql = sb.toString();return template.queryForObject(sql, Integer.class, params.toArray());}@Overridepublic List<Route> findByPage(int cid, int start, int pageSize, String rname) {//String sql = "select * from tab_route where cid = ? and rname like ? limit ? , ?";String sql = " select * from tab_route where 1 = 1 ";//1.定义sql模板StringBuilder sb = new StringBuilder(sql);List params = new ArrayList();//条件们//2.判断参数是否有值if (cid != 0) {sb.append(" and cid = ? ");params.add(cid);//添加?对应的值}if (rname != null && rname.length() > 0) {sb.append(" and rname like ? ");params.add("%" + rname + "%");}sb.append(" limit ? , ? ");//分页条件sql = sb.toString();params.add(start);params.add(pageSize);return template.query(sql, new BeanPropertyRowMapper<Route>(Route.class), params.toArray());}@Overridepublic Route findOne(int rid) {String sql = "select * from tab_route where rid = ?";return template.queryForObject(sql, new BeanPropertyRowMapper<Route>(Route.class), rid);}
}
RouteServiceImpl.java
package cn.itcast.travel.service.impl;import cn.itcast.travel.dao.FavoriteDao;
import cn.itcast.travel.dao.RouteDao;
import cn.itcast.travel.dao.RouteImgDao;
import cn.itcast.travel.dao.SellerDao;
import cn.itcast.travel.dao.impl.FavoriteDaoImpl;
import cn.itcast.travel.dao.impl.RouteDaoImpl;
import cn.itcast.travel.dao.impl.RouteImgDaoImpl;
import cn.itcast.travel.dao.impl.SellerDaoImpl;
import cn.itcast.travel.domain.PageBean;
import cn.itcast.travel.domain.Route;
import cn.itcast.travel.domain.RouteImg;
import cn.itcast.travel.domain.Seller;
import cn.itcast.travel.service.RouteService;import java.util.List;public class RouteServiceImpl implements RouteService {private RouteDao routeDao = new RouteDaoImpl();private RouteImgDao routeImgDao = new RouteImgDaoImpl();private SellerDao sellerDao = new SellerDaoImpl();private FavoriteDao favoriteDao = new FavoriteDaoImpl();@Overridepublic PageBean<Route> pageQuery(int cid, int currentPage, int pageSize, String rname) {//封装PageBeanPageBean<Route> pb = new PageBean<Route>();//设置当前页码pb.setCurrentPage(currentPage);//设置每页显示条数pb.setPageSize(pageSize);//设置总记录数int totalCount = routeDao.findTotalCount(cid, rname);pb.setTotalCount(totalCount);//设置当前页显示的数据集合int start = (currentPage - 1) * pageSize;//开始的记录数List<Route> list = routeDao.findByPage(cid, start, pageSize, rname);pb.setList(list);//设置总页数 = 总记录数/每页显示条数int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : (totalCount / pageSize) + 1;pb.setTotalPage(totalPage);return pb;}@Overridepublic Route findOne(String rid) {//1.根据id去route表中查询route对象Route route = routeDao.findOne(Integer.parseInt(rid));//2.根据route的id 查询图片集合信息List<RouteImg> routeImgList = routeImgDao.findByRid(route.getRid());//2.2将集合设置到route对象route.setRouteImgList(routeImgList);//3.根据route的sid(商家id)查询商家对象Seller seller = sellerDao.findById(route.getSid());route.setSeller(seller);//4. 查询收藏次数int count = favoriteDao.findCountByRid(route.getRid());route.setCount(count);return route;}
}
RouteServlet.java
package cn.itcast.travel.web.servlet;import cn.itcast.travel.domain.PageBean;
import cn.itcast.travel.domain.Route;
import cn.itcast.travel.domain.User;
import cn.itcast.travel.service.FavoriteService;
import cn.itcast.travel.service.RouteService;
import cn.itcast.travel.service.impl.FavoriteServiceImpl;
import cn.itcast.travel.service.impl.RouteServiceImpl;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/route/*")
public class RouteServlet extends BaseServlet {private RouteService routeService = new RouteServiceImpl();private FavoriteService favoriteService = new FavoriteServiceImpl();/*** 分页查询** @param request* @param response* @throws ServletException* @throws IOException*/public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.接受参数String currentPageStr = request.getParameter("currentPage");String pageSizeStr = request.getParameter("pageSize");String cidStr = request.getParameter("cid");//接受rname 线路名称String rname = request.getParameter("rname");rname = new String(rname.getBytes("iso-8859-1"), "utf-8");int cid = 0;//类别id//2.处理参数if (cidStr != null && cidStr.length() > 0 && !"null".equals(cidStr)) {cid = Integer.parseInt(cidStr);}int currentPage = 0;//当前页码,如果不传递,则默认为第一页if (currentPageStr != null && currentPageStr.length() > 0) {currentPage = Integer.parseInt(currentPageStr);} else {currentPage = 1;}int pageSize = 0;//每页显示条数,如果不传递,默认每页显示5条记录if (pageSizeStr != null && pageSizeStr.length() > 0) {pageSize = Integer.parseInt(pageSizeStr);} else {pageSize = 5;}//3. 调用service查询PageBean对象PageBean<Route> pb = routeService.pageQuery(cid, currentPage, pageSize, rname);//4. 将pageBean对象序列化为json,返回writeValue(pb, response);}/*** 根据id查询一个旅游线路的详细信息** @param request* @param response* @throws ServletException* @throws IOException*/public void findOne(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.接收idString rid = request.getParameter("rid");//2.调用service查询route对象Route route = routeService.findOne(rid);//3.转为json写回客户端writeValue(route, response);}/*** 判断当前登录用户是否收藏过该线路** @param request* @param response* @throws ServletException* @throws IOException*/public void isFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 获取线路idString rid = request.getParameter("rid");//2. 获取当前登录的用户 userUser user = (User) request.getSession().getAttribute("user");int uid;//用户idif (user == null) {//用户尚未登录uid = 0;} else {//用户已经登录uid = user.getUid();}//3. 调用FavoriteService查询是否收藏boolean flag = favoriteService.isFavorite(rid, uid);//4. 写回客户端writeValue(flag, response);}/*** 添加收藏** @param request* @param response* @throws ServletException* @throws IOException*/public void addFavorite(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1. 获取线路ridString rid = request.getParameter("rid");//2. 获取当前登录的用户User user = (User) request.getSession().getAttribute("user");int uid;//用户idif (user == null) {//用户尚未登录return;} else {//用户已经登录uid = user.getUid();}//3. 调用service添加favoriteService.add(rid, uid);}
}
42-旅游线路查询_前台代码
route_list.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>黑马旅游-搜索</title><link rel="stylesheet" type="text/css" href="css/common.css"><link rel="stylesheet" href="css/search.css"><script src="js/jquery-3.3.1.js"></script><script src="js/getParameter.js"></script><script>$(function () {/*var search = location.search;//alert(search);//?id=5//切割字符串,拿到第二个值var cid = search.split("=")[1];*///获取cid的参数值var cid = getParameter("cid");//获取rname的参数值var rname = getParameter("rname");//判断rname如果不为null或者""if (rname) {//url解码rname = window.decodeURIComponent(rname);}//当页码加载完成后,调用load方法,发送ajax请求加载数据load(cid, null, rname);});function load(cid, currentPage, rname) {//发送ajax请求,请求route/pageQuery,传递cid$.get("route/pageQuery", {cid: cid, currentPage: currentPage, rname: rname}, function (pb) {//解析pagebean数据,展示到页面上//1.分页工具条数据展示//1.1 展示总页码和总记录数$("#totalPage").html(pb.totalPage);$("#totalCount").html(pb.totalCount);/*<li><a href="">首页</a></li><li class="threeword"><a href="#">上一页</a></li><li class="curPage"><a href="#">1</a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#">6</a></li><li><a href="#">7</a></li><li><a href="#">8</a></li><li><a href="#">9</a></li><li><a href="#">10</a></li><li class="threeword"><a href="javascript:;">下一页</a></li><li class="threeword"><a href="javascript:;">末页</a></li>*/var lis = "";var fristPage = '<li onclick="javascipt:load(' + cid + ',1,\'' + rname + '\')"><a href="javascript:void(0)">首页</a></li>';//计算上一页的页码var beforeNum = pb.currentPage - 1;if (beforeNum <= 0) {beforeNum = 1;}var beforePage = '<li onclick="javascipt:load(' + cid + ',' + beforeNum + ',\'' + rname + '\')" class="threeword"><a href="javascript:void(0)">上一页</a></li>';lis += fristPage;lis += beforePage;//1.2 展示分页页码/*1.一共展示10个页码,能够达到前5后4的效果2.如果前边不够5个,后边补齐10个3.如果后边不足4个,前边补齐10个*/// 定义开始位置begin,结束位置 endvar begin; // 开始位置var end; // 结束位置//1.要显示10个页码if (pb.totalPage < 10) {//总页码不够10页begin = 1;end = pb.totalPage;} else {//总页码超过10页begin = pb.currentPage - 5;end = pb.currentPage + 4;//2.如果前边不够5个,后边补齐10个if (begin < 1) {begin = 1;end = begin + 9;}//3.如果后边不足4个,前边补齐10个if (end > pb.totalPage) {end = pb.totalPage;begin = end - 9;}}for (var i = begin; i <= end; i++) {var li;//判断当前页码是否等于iif (pb.currentPage == i) {li = '<li class="curPage" onclick="javascipt:load(' + cid + ',' + i + ',\'' + rname + '\')"><a href="javascript:void(0)">' + i + '</a></li>';} else {//创建页码的lili = '<li onclick="javascipt:load(' + cid + ',' + i + ',\'' + rname + '\')"><a href="javascript:void(0)">' + i + '</a></li>';}//拼接字符串lis += li;}/*for (var i = 1; i <= pb.totalPage; i++) {var li;//判断当前页码是否等于iif (pb.currentPage == i) {li = '<li class="curPage" onclick="javascipt:load(' + cid + ',' + i + ')"><a href="javascript:void(0)">' + i + '</a></li>';} else {//创建页码的lili = '<li onclick="javascipt:load(' + cid + ',' + i + ')"><a href="javascript:void(0)">' + i + '</a></li>';}//拼接字符串lis += li;}*/var lastPage = '<li class="threeword"><a href="javascript:;">末页</a></li>';var nextPage = '<li class="threeword"><a href="javascript:;">下一页</a></li>';lis += nextPage;lis += lastPage;//将lis内容设置到 ul$("#pageNum").html(lis);/*<li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>【减100元 含除夕/春节出发】广州增城三英温泉度假酒店/自由行套票</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>299</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li>*///2.列表数据展示var route_lis = "";for (var i = 0; i < pb.list.length; i++) {//获取{rid:1,rname:"xxx"}var route = pb.list[i];var li = '<li>\n' +' <div class="img"><img src="' + route.rimage + '" style="width: 299px;"></div>\n' +' <div class="text1">\n' +' <p>' + route.rname + '</p>\n' +' <br/>\n' +' <p>' + route.routeIntroduce + '</p>\n' +' </div>\n' +' <div class="price">\n' +' <p class="price_num">\n' +' <span>¥</span>\n' +' <span>' + route.price + '</span>\n' +' <span>起</span>\n' +' </p>\n' +' <p><a href="route_detail.html?rid=' + route.rid + '">查看详情</a></p>\n' +' </div>\n' +' </li>';route_lis += li;}$("#route").html(route_lis);//定位到页面顶部window.scrollTo(0, 0);});}</script>
</head>
<body>
<!--引入头部-->
<div id="header"></div>
<div class="page_one"><div class="contant"><div class="crumbs"><img src="data:images/search.png" alt=""><p>黑马旅行><span>搜索结果</span></p></div><div class="xinxi clearfix"><div class="left"><div class="header"><span>商品信息</span><span class="jg">价格</span></div><ul id="route"><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>【减100元 含除夕/春节出发】广州增城三英温泉度假酒店/自由行套票</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>299</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>浪花朵朵旅行普吉岛丛林飞跃空中飞人探险游中文服务泰国旅游</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>899</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>黑妞皇家旅行普吉岛攀牙湾大船星光之旅皮划艇日落休闲特色体验</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>999</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>浪花朵朵旅行普吉岛皇帝岛珊瑚岛香蕉船拖拽伞水上项目</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>99</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>环游记 泰国清迈Lila massage女子监狱spa 丽菈泰式按摩马杀鸡</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>199</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>【减100元 含除夕/春节出发】广州增城三英温泉度假酒店/自由行套票</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>899</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>【减100元 含除夕/春节出发】广州增城三英温泉度假酒店/自由行套票</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>1199</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li><li><div class="img"><img src="data:images/04-search_03.jpg" alt=""></div><div class="text1"><p>泰国芭提雅三合一日游芭提雅蒂芬妮人妖秀成人门票bigeye含接送</p><br/><p>1-2月出发,网付立享¥1099/2人起!爆款位置有限,抢完即止!</p></div><div class="price"><p class="price_num"><span>¥</span><span>1589</span><span>起</span></p><p><a href="route_detail.html">查看详情</a></p></div></li></ul><div class="page_num_inf"><i></i> 共<span id="totalPage">12</span>页<span id="totalCount">132</span>条</div><div class="pageNum"><ul id="pageNum"><li><a href="">首页</a></li><li class="threeword"><a href="#">上一页</a></li><li class="curPage"><a href="#">1</a></li><li><a href="#">2</a></li><li><a href="#">3</a></li><li><a href="#">4</a></li><li><a href="#">5</a></li><li><a href="#">6</a></li><li><a href="#">7</a></li><li><a href="#">8</a></li><li><a href="#">9</a></li><li><a href="#">10</a></li><li class="threeword"><a href="javascript:;">下一页</a></li><li class="threeword"><a href="javascript:;">末页</a></li></ul></div></div><div class="right"><div class="top"><div class="hot">HOT</div><span>热门推荐</span></div><ul><li><div class="left"><img src="data:images/04-search_09.jpg" alt=""></div><div class="right"><p>清远新银盏温泉度假村酒店/自由行套...</p><p>网付价<span>¥<span>899</span>起</span></p></div></li><li><div class="left"><img src="data:images/04-search_09.jpg" alt=""></div><div class="right"><p>清远新银盏温泉度假村酒店/自由行套...</p><p>网付价<span>¥<span>899</span>起</span></p></div></li><li><div class="left"><img src="data:images/04-search_09.jpg" alt=""></div><div class="right"><p>清远新银盏温泉度假村酒店/自由行套...</p><p>网付价<span>¥<span>899</span>起</span></p></div></li><li><div class="left"><img src="data:images/04-search_09.jpg" alt=""></div><div class="right"><p>清远新银盏温泉度假村酒店/自由行套...</p><p>网付价<span>¥<span>899</span>起</span></p></div></li><li><div class="left"><img src="data:images/04-search_09.jpg" alt=""></div><div class="right"><p>清远新银盏温泉度假村酒店/自由行套...</p><p>网付价<span>¥<span>899</span>起</span></p></div></li></ul></div></div></div>
</div>
<!--引入头部-->
<div id="footer"></div>
<!--导入布局js,共享header和footer-->
<script type="text/javascript" src="js/include.js"></script>
</body>
</html>
加油~
JavaWeb黑马旅游网-学习笔记07【旅游线路查询】相关推荐
- 黑马旅游网学习笔记之旅游线路详情(八)
概述 (一)需求分析 (二)后台代码 (三)前台代码 (一)需求分析 再来看看数据库的关系 这里使用SQLyog能够清晰看到一对多的关系 (二)后台代码 RouteServlet: /*** 根据id ...
- 黑马旅游网学习笔记之旅游线路查询(七)
概述 (一)参数传递 (二)后台代码 (三)前台代码 (一)参数传递 (二)后台代码 第一步,加上rname字段 然后分三种情况: 第一种,直接在首页查询 只有rname 没有cid 第二种,进去之后 ...
- JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb黑马旅游网-学习笔记08【旅游线路详情】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb黑马旅游网-学习笔记06【旅游线路分页展示分页展示】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb黑马旅游网-学习笔记05【分类数据展示功能】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb黑马旅游网-学习笔记04【BaseServlet抽取】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb黑马旅游网-学习笔记03【登陆和退出功能】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- JavaWeb黑马旅游网-学习笔记02【注册功能】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
最新文章
- JDK8漫谈——增强接口
- 开发者们,「Innovation 2021」网易应用创新开发者大赛正式开赛了!
- 在五分钟内学习使用Python进行类型转换
- 报错 ValueError: too many values to unpack (expected 2)
- 直播 3.0 时代,在线教育行业的裂变和重构
- php hidden属性,微信小程序关于组件的hidden属性的使用建议
- c 语言试题及解析,C语言试题及答案解析.pdf
- android 开机启动无效,Android实现开机自启动无效问题
- 一些简单的局域网入侵命令
- 关于计算机未来理想,关于未来与梦想的作文
- LT8911EXB功能概述 LT8911EXB是MIPI转EDP一般能用于车载,平板,教育电子,广告机,收银机等等
- 以太坊数据结构与存储分析
- 地理坐标系、大地坐标系与地图投影与重投影详解
- 洛谷P2404 Java解法
- Codeforces1478 B. Nezzar and Lucky Number(推导)
- 各大CMS系统优缺点(2017)
- 一课时计算机基础教案模板,《计算机应用基础》教案模板
- JSP页面中常用四种标签
- 【论文笔记06】智能合约的合约安全和隐私安全研究综述
- 散步(dfs,邻接矩阵法)