怎样在前台页面用<c:forEach></forEach>显示
 <div id="con1-left">
  <c:forEach items="${tlist }" var="t">
    <div class="con1-1">
     <a href="#">${t.typeName }</a>
    <div class="cs">
    </div>
     <c:forEach items="${llist }" var="l">
     <a href="#">${l.lineName }</a>
     </c:forEach>
    </div>
    </c:forEach>
        显示成这个效果 这是一条数据的  
        ![图片说明](https://img-ask.csdn.net/upload/201604/12/1460450224_301100.png)

        数据多了就成这样了

        ![图片说明](https://img-ask.csdn.net/upload/201604/12/1460450296_46123.png)
        </div>

2个回答

把第二个foreach放到第一个里面,然后根据typeName来判断分类

u010030637
小主是只喵 回复My_cxd: 那就加个条件判断下
接近 4 年之前 回复
My_cxd
My_cxd 第二个就在第一个里面呀
接近 4 年之前 回复

没看懂你的意思,而且你的你多了一个/c:forEach标签

My_cxd
My_cxd 那个是第一个<c:forEach>的结束标签
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
初始化下拉框,用js好,还是c:foreach好
初始化省份下拉框 1.页面初始化用ajax,查询所有省份,拼接成下拉框,放在相应节点下 2.现在后台查询相互所有的provinceList,然后再前台c:foreach循环 这两种哪种好?
Angularjs的取值问题,${}怎么循环取值
![图片说明](https://img-ask.csdn.net/upload/201912/11/1576042209_160545.png)![图片说明](https://img-ask.csdn.net/upload/201912/11/1576042225_431775.png) 后台存的是一个list集合,前台可以${xx[0].xx}取值,但是怎么遍历这个集合呢,这个是html页面,不是c:foreach,刚刚学angulars 。。。。怎么办?咋遍历
自定义标签,如何把后台的值传到前台
自定义标签,重写doTag方法,查询数据库,怎么把查询的list返回到前台页面, 前台页面类似<m:query tablename="tbuser",var="result"/>,然后用${result}显示查询结果集合, 就像<c:foreach var>一样,怎么把结果放到属性中去
求助ajax怎么设置request.setattribute
求助各位大神,有一段前台代码是这样的: ``` <c:forEach var="me" items="${fileNameMap}"> </c:forEach> ``` 现在我想用ajax给items动态赋值,ajax调用的后台代码有一句:request.setattribute(“fileNameMap”,fileNameMap),问题来了:前台页面怎么也接收不到后台传来的fileNameMap,还望各位大神指点一二,不胜感激!
在jsp页面中用el表达式取保存在request中Attribute的数组,,但是取不出来
request.setAttribute("csdnTitle", titles) 后台保存的标签 <c:forEach var="list" items="${csdnTitle}" varStatus="status"> <tr> <td>${status.index+1}</td> <td>${list.title}</td> </tr> </c:forEach> 上面是前台显示的,但是一直为空,后台标签中是有值的,求大神指导。
springmvc中出现前台无法遍历后台传来结果的问题
![图片说明](https://img-ask.csdn.net/upload/201606/19/1466322518_628633.png)<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 上边是加入的标签 ${requestScope.tom }//测试可以 ${requestScope.employees}//单独调用测试可以 <c:if test=" ${empty requestScope.employees}" > 没有任何员工信息 </c:if> <c:if test="${!empty requestScope.employees }"> <table border="1" cellpadding="10" cellspacing="0"> <tr> <th>ID</th> <th>LastName</th> <th>Email</th> <th>Gender</th> <th>Department</th> <th>Edit</th> <th>Delete</th> </tr> <c:forEach items=" ${requestScope.employees }" var="emp"> <tr> <td>${items[fn:trim(emp.id)]}</td> <td>${items[fn:trim(emp.lastname)]}</td> <td>${items[fn:trim(emp.email)]}</td> <td>${items[fn:trim(emp.gender)]==0 ? 'female' : 'male'}</td> <td>${items[fn:trim(emp.department.departmentName)]}</td> <td><a href=" ">Edit</a></td> <td><a href=" ">Delete</a></td> </tr> </c:forEach> </table> </c:if> 运行结果: zhang [Employee [id=1001, lastname=E-AA, email=aa@163.com, gender=1, department=com.sxmu.entity.Department@3b8cf60f], Employee [id=1002, lastname=E-BB, email=bb@163.com, gender=1, department=com.sxmu.entity.Department@79191bb0], Employee [id=1003, lastname=E-CC, email=cc@163.com, gender=0, department=com.sxmu.entity.Department@79df8c75], Employee [id=1004, lastname=E-DD, email=dd@163.com, gender=0, department=com.sxmu.entity.Department@34c2959c], Employee [id=1005, lastname=E-EE, email=ee@163.com, gender=1, department=com.sxmu.entity.Department@68223185]] 从这个结果可以看到在页面已经拿到了这个结果,页面打印了一个表格,可是数据并没有录入进去
前台方法不走getDSList调用不到
<c:forEach var="info" items="${QZJKsfList}" varStatus="status"> <!--如果是直辖市1000 2000 9000 ... 直接到营业厅 --> <c:choose> <c:when test="${info.WERKS_S == 1000 ||info.WERKS_S == 2000||info.WERKS_S == 9000||info.WERKS_S == M000}"> <a onclick="getDSList('${info.YSNUM}','${info.NAME3}','${cDate}','${levelId}','${info.ZSQART }','${info.NAME2 }','${info.MAKTX }');"><font color="#666666" style="font-size:13px;">${info.YSNUM}</font></a> </c:when> <c:otherwise> <a class="mui-ellipsis" onclick="getsfDetail('${info.YSNUM}','${info.NAME3}','${cDate}','${levelId}','${info.ZSQART }','${info.MAKTX }');"><font color="#666666" style="font-size:13px;">${info.YSNUM}</font></a> </c:otherwise> </c:choose> <!-- 如果是地市查询 --> <c:choose> <c:when test="${info.WERKS_D != null}"> <a onclick="getDSList('${info.YSNUM}','${info.NAME3}','${cDate}','${levelId}','${info.ZSQART }','${info.NAME2 }','${info.MAKTX }');"><font color="#666666" style="font-size:13px;">${info.YSNUM}</font></a> </c:when> </c:choose> </c:forEach> 前台页面判断后 调用不到getDSList()这个方法 ,求大神解答
struts2难点
action 里有个list(userlist),里面放的是许多User ,其中user实体类有个userNo属性, action 里另一个list(sheetlist), 里面放的是许多Sheet,其中sheet实体类也有个userNo属性 先将以上的两个list,传到前台的xxx.jsp页面 现在的目的是循环 userlist ,显示所有的用户信息, 且还有一个字段,(状态:“已考”,考未) 当userlist里的userno 存在于sheetlist中时 ,显示“已考”,反之显示未考(用struts标签,or jstl标签) 一下是小弟的代码: <c:forEach items="${pageModel.list}" var="paper"> <tr height="35"> <td align="center"><a href="student/studentAction!getExamPaperInfo?examPaper.paperNo=${paper.paperNo}">${paper.paperName}</a> </td> <c:forEach items="${list}" var="examSheet"> <c:if test="${paper.paperNo eq examSheet.examPaper.paperNo}"> <td align="center">已考</td> <td align="center">√点击开始考试 </td> </c:if> <c:if test="${!(paper.paperNo eq examSheet.examPaper.paperNo)}"> <td align="center">未考</td> <td align="center"> <a href="/StudyTestPlatform/student/studentAction!showExamList.action" class='word_purple' onclick="window.open('student/studentAction!startExam?examPaper.paperNo=${paperNo}','考试页面','height=700, width=800,top=20,left=300,toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,status=no'); window.close();">√点击开始考试</a> </td> </c:if> </c:forEach> </tr> </c:forEach> 运行有问题,(小弟尚且认为是两次循环出现了问题) 小弟才疏学浅,还请赐教! 谢谢!
怎么将一个jsp页面中没在表单里的一个参数传递到controller的方法上?
前台有个动态的导航栏,当点击导航栏的某个导航链接时,要用${pageContext.request.contextPath }/admin/select.action这个action去调用controller里的方法去执行查询操作,但查询操作需要前台 value=“${dep.user_department}”里的值作为参数,要怎么传过来? ``` <div class="dropdown" style=" height:30px;float: left; background-color:#2785eb;margin-left: 85px;border-radius:6px; "> <a class="dropdown-toggle" data-toggle="dropdown" href="#" style="text-decoration: none; color: white; font-size: 22px;"> 展开导航 <span class="caret"></span> </a> <ul class="dropdown-menu"> <c:forEach items="${dep_list}" var="dep"> <li><a href="${pageContext.request.contextPath }/admin/select.action"> <c:out value="${dep.user_department}"/><p> </a></li> </c:forEach> </ul> </div> ```
使用DWR出现奇怪问题
最近做项目,使用DWR的时候遇到了一个莫名其妙的问题: 需求:博客系统,当用户浏览某个博客首页的时候列出博主文章的标题列表,并且列出文章的回复数,由于回复在另外一个表中,需要查询count(*)获取。我的实现是,先列出文章标题,再用DWR获取各个文章的回复数(生成一个文章标题就生成一个ReplyCountUtil.replyCountUtil(id)方法获取回复数) JS对象配置: [code="java"]<create creator="spring" javascript="ReplyCountUtil" scope="request"> <param name="beanName" value="replyCountUtil" /> <include method="getArtCount" /> </create>[/code]给getArtCount方法传进去一个文章的ID,返回文章的回复数。 问题是:当页面加载完成后,DWR读取的回复数总是一样的(即第一篇文章的回复数),好像其他的getArtCount()就没有执行?? 为什么... 是不是我这种实现方式也有问题? [b]问题补充:[/b] 前台jsp是这样的,因为太多,我简化了一下: [code="java"]<ul class="archives"> <!-- 循环文章标题start --> <c:forEach items="${list}" var="article" varStatus="Status"> <li> <h3> 标题:<a href="#" target="_self">${article.name }</a> 回复:<span id="article_${article.id }"><script type="text/javascript" defer="defer">getNums(${article.id });}</script></span>条 </h3> </li> </c:forEach> <!-- end --> </ul>[/code] 页面加载完毕后执行getNums方法获取数量: [code="java"]<script type="text/javascript"> //获得文章的回复数 function getNums(id) { var obj = document.getElementById('article_'+year); obj.innerHTML = ""; //调用ReplyCountUtil类的getArtCount方法,根据Id获取文章的回复数 ReplyCountUtil.getArtCount(id,function (data) {setNums(id,data)}); } //innerHTML到<span> function setNums(id,data) { var obj = document.getElementById('article_'+id); obj.innerHTML = data;//data 文章的回复数 } </script>[/code] ReplyCountUtil类的getArtCount方法不用再贴出来了吧,就是通过DAO,执行sql的count()计算文章的回复数。 [b]问题补充:[/b] 还是有问题,估计是dwr在多个相同的方法并行执行时变量有问题? 另外问下:一般像博客、论坛系统取回帖数是怎么去的,谢谢~~ [b]问题补充:[/b] 请问 lovewhzlq 一般像博客、论坛首页当列出标题后,是怎么读取回帖数、浏览量的,谢谢~~ [b]问题补充:[/b] 是一次全部取出赋值,还是像我的实现那样生成多个ajax方法, 最后一个问题,谢谢
从数据库中获取的数据在jsp页面上的显示问题
做一个项目的时候,从数据库获取数据,用迭代的方式在前台显示,只能显示一部分的信息,就好像是有一个固定空间似的,只要内容超出了这个空间,就不能显示了,怎么解决? 代码如下: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!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> <script type="text/javascript"> var ksTime; //定义考试时间以分钟计算 ksTime = 120;//设置时间 这里设置为0.1代表是6秒,测试用 if (readCookie("ss") == "") { setCookie("ss", new Date(), ksTime / 60); } function sT() { var tti = new Date(); var lt = parseInt((tti - new Date(readCookie("ss"))) / 1000) if ((ksTime * 60 - lt) < 0) { setCookie("ss", new Date(), 0); alert("考试时间到!\n即将提交试卷!"); document.forms[0].submit(); } else { lm = Math.floor(lt / 60); ls = lt % 60; allY = ksTime * 60 - lt; ym = Math.floor(allY / 60); ys = allY % 60; document.getElementById("tTime").innerHTML = "考试已经开始了" + lm + "分" + ls + "秒" + ",剩余" + ym + "分" + ys + "秒"; var ttt = setTimeout("sT()", 1000); } } function readCookie(name) { var cookieValue = ""; var search = name + "="; if (document.cookie.length > 0) { offset = document.cookie.indexOf(search); if (offset != -1) { offset += search.length; end = document.cookie.indexOf(";", offset); if (end == -1) end = document.cookie.length; cookieValue = document.cookie.substring(offset, end) } } return cookieValue; } function setCookie(name, value, hours) { var expire = ""; if (hours != null) { expire = new Date((new Date()).getTime() + hours * 3600000); expire = "; expires=" + expire.toGMTString(); } document.cookie = name + "=" + value + expire; } </script> </head> <body onload="sT()"> <form action="submitExam" method="post"> <table align="center" bgcolor="#0066cc" width="66%"> <tr> <td align="left">考试时间:120分钟</td> <td align="center">考生:${studentInfo.studentName}</td> </tr> <tr> <td colspan="2" align="center"><div id="tTime"></div></td> </tr> </table> <table align="center" bgcolor="#DDDDDD" width="66%"> <tr> <td bgcolor="#ccffff">选择题(每小题5分,共20个)</td> </tr> <% int index = 1; int i = 1; %> <c:forEach items="${subjects}" var="subject"> <tr> <td ><input type="hidden" name="subjectID" value="${subject.subjectID}" /> <span style="background-color:#66ffff"> 第<%=index++%>题 ${subject.subjectTitle} </span></td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="A">A. ${subject.subjectOptionA}</td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="B">B. ${subject.subjectOptionB}</td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="C">C. ${subject.subjectOptionC}</td> </tr> <tr> <td align="left"><input name="subjectAnswer<%=i%>" type="radio" value="D">D. ${subject.subjectOptionD} <%i++; %> </td> </tr> </c:forEach> <tr> <td width="200px" ><input type="submit" value="提交试卷"></td> </tr> </table> </form> </body> </html> ``` 显示如下: ![图片说明](https://img-ask.csdn.net/upload/201511/20/1448028190_914976.png) 本来应该设置的应该显示10道题的,但是只显示到第8道题的题目,下面的都没有显示,就连提交按钮也没有显示。 郁闷了好久,想知道为什么没有全部显示出来——求大神帮忙!
jsp+servlet+sqlserver分页,前台获取的ID总为每一页信息的最后一项的ID?
# 求教大神:JSP+servlet+sqlserver分页查询后,在页面获取ID时,不管点击哪一项,传到后台的ID值都为每一页信息的最后一项的ID? ![这是前台页面](https://img-ask.csdn.net/upload/201704/12/1491958509_846310.png) serverlt代码: int pageIndex = 1;//页数 int pageCount = 0;//总页数 int count = 0;//总数据条数 Session session = HibernateUtil.openSession(); //数据总条数查询 SQLQuery sqlquery1 = session.createSQLQuery("select count(userID) from t_user"); List<Integer> numList = sqlquery1.list(); count = numList.get(0); pageCount = count/20+(count/20!=0?1:0);//总页数 //按钮处理分页 String indexnum = request.getParameter("pageindex"); if(indexnum!=null&&Integer.parseInt(indexnum)<=pageCount&&Integer.parseInt(indexnum)>0){ pageIndex = Integer.parseInt(indexnum); } //数据查询 SQLQuery sqlquery = session.createSQLQuery("select top 20 " + "u.userID,u.name,ad.address, ad.communityID,c.community,ad.building,ad.unit,ad.houseNum,u.phone,u.openDate,u.chageDate,u.isPrePaid,u.buyTimes "+ " from t_user as u left join t_address as ad on u.addressID=ad.addressID left join t_area as ar on ad.areaID=ar.areaID "+ " left join t_community as c on c.communityID=ad.communityID " +"where userID not in (select top "+20*(pageIndex-1)+" userID from t_user ) order by userID"); List<Object[]> olist = sqlquery.list(); //将要显示的字段传到userInfo.jsp request.setAttribute("olist", olist);//用户信息 request.setAttribute("count", count);//数据总条数 request.setAttribute("pageCount", pageCount);//数据总页数 request.setAttribute("pageIndex", pageIndex);//当前页数 request.getRequestDispatcher("userInfo.jsp").forward(request, response); ``` 前端代码: <c:forEach items="${olist }" var="o" > <tr> <td height="20" bgcolor="#FFFFFF"><div align="center"> <input type="checkbox" name="checkbox2" value="checkbox" /> </div></td> <td height="20" bgcolor="#FFFFFF"><div align="center" class="STYLE1"> <div align="center">${o[0] }</div> </div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[1] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[2] }</span></div></td> <td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[3] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[4] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[5] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[6] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[7] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[8] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[9] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[10] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[11] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">${o[12] }</span></div></td> <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE4"> <a><img src="images/edt.gif" width="13" height="13" />编辑</a>&nbsp; <a href="#" onclick="del()"><img src="images/del.gif" width="13" height="13" />删除</a> <script> function del(){ if(window.confirm("是否删除用户?")==true){ window.location.href="moduser?type=2&id="+${o[0] }; } } </script> </span></div></td> </tr> # </c:forEach> ```
ResultSet为什么只能返回一条数据?
我想创建一个方法,使用ResultSet从数据库中返回结果集并封装到List中,然后将List传递到Servlet中,再使用JSTL显示到前台页面。但是不知为什么ResultSet只能得到数据库中的第一行数据,如何才能返回数据库中的全部结果呢? 从数据库中返回结果集的代码如下: [code="java"] // 抽象出从数据库查询所有数据的方法 public static List<User> getOracleFindAll() throws Exception { Connection conn = JDBC_Connection.getOracleConnection(); String sql = "SELECT * FROM T_CHALIEZHOU_REGISTER"; Statement stmt = conn.createStatement(); // 返回结果集 ResultSet rs = stmt.executeQuery(sql); //建立两个泛型容器 List<User> lstuser = new ArrayList<User>(); User user = new User(); if(rs != null){ while (rs.next()) { user.setUsername(rs.getString("t_username")); user.setUseridtype(rs.getString("T_USERIDTYPE")); user.setUserid(rs.getString("T_USERID")); user.setSex(rs.getString("T_SEX")); user.setDate(rs.getString("T_BIRTHDAY")); user.setIdencode(rs.getString("T_IDENCODE")); lstuser.add(user); } } return lstuser; } [/code] Servlet代码如下: [code="java"] public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { List<User> lst2 = DB_Operation.getOracleFindAll(); request.setAttribute("lst2", lst2); } catch (Exception e) { e.printStackTrace(); } // 重定向页面 //String path = request.getContextPath(); this.getServletContext().getRequestDispatcher("/registerlist.jsp") .forward(request, response); } [/code] 表现层JSTL代码如下: [code="java"] <td colspan="2" align="center"> <c:if test="${lst2 != null}"> <table width="480px" border="0" align="center"> <tr align="center"> <th>真实姓名</th> <th>证件类型</th> <th>证件号码</th> <th>性别</th> <th>出生日期</th> <th>验证码</th> </tr> <c:forEach items="${ lst2 }" var="user"> <tr align="center"> <td align="center">${ user.username }</td> <td align="center">${ user.useridtype }</td> <td align="center">${ user.userid }</td> <td align="center">${ user.sex }</td> <td align="center">${ user.date }</td> <td align="center">${ user.idencode }</td> </tr> </c:forEach> </table> </c:if> </td> [/code]
c#mvc视图加载完数据触发JS
页面有个查询按钮,查询完成返回PartialView(); 前台foreach遍历,我怎样才能在加载完数据table后,触发一个js方法。
jqgrid linq 分页查询问题
比如我SortCode 字段为null 排序,返回数据总数对的,但是分页数据显示会有重复行,换个其他字段就分页数据显示就对的,不知道啥问题。 不像sql rownumber函数 order by 字段必需唯一不重复 jqgrid 前台页面通过 sortname: 'SortCode', sortorder: 'asc', 字段传到后台排序 底层方法 public IEnumerable<T> FindList<T>(Expression<Func<T, bool>> condition, string orderField, bool isAsc, int pageSize, int pageIndex, out int total) where T : class,new() { using (var dbConnection = Connection) { string[] _orderField = orderField.Split(','); var dataLinq = new SQLinq<T>().Where(condition); foreach (string item in _orderField) { var parameter = Expression.Parameter(typeof(T), "t"); var property = typeof(T).GetProperty(item); var propertyAccess = Expression.MakeMemberAccess(parameter, property); Expression<Func<T, object>> orderBy = t => propertyAccess; dataLinq.OrderByExpressions.Add(new SQLinq<T>.OrderByExpression { Ascending = isAsc, Expression = orderBy }); } var dataQuery = dbConnection.Query<T>(dataLinq); total = dataQuery.Count(); var data = dataQuery.Skip<T>(pageSize * (pageIndex - 1)).Take<T>(pageSize).AsQueryable(); return data.ToList(); } }
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
五年程序员记流水账式的自白。
不知觉已中码龄已突破五年,一路走来从起初铁憨憨到现在的十九线程序员,一路成长,虽然不能成为高工,但是也能挡下一面,从15年很火的android开始入坑,走过java、.Net、QT,目前仍处于android和.net交替开发中。 毕业到现在一共就职过两家公司,目前是第二家,公司算是半个创业公司,所以基本上都会身兼多职。比如不光要写代码,还要写软著、软著评测、线上线下客户对接需求收集...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
一文详尽系列之模型评估指标
点击上方“Datawhale”,选择“星标”公众号第一时间获取价值内容在机器学习领域通常会根据实际的业务场景拟定相应的不同的业务指标,针对不同机器学习问题如回归、分类、排...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
压测学习总结(1)——高并发性能指标:QPS、TPS、RT、吞吐量详解
一、QPS,每秒查询 QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。互联网中,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 二、TPS,每秒事务 TPS:是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
程序员该看的几部电影
1、骇客帝国(1999) 概念:在线/离线,递归,循环,矩阵等 剧情简介: 不久的将来,网络黑客尼奥对这个看似正常的现实世界产生了怀疑。 他结识了黑客崔妮蒂,并见到了黑客组织的首领墨菲斯。 墨菲斯告诉他,现实世界其实是由一个名叫“母体”的计算机人工智能系统控制,人们就像他们饲养的动物,没有自由和思想,而尼奥就是能够拯救人类的救世主。 可是,救赎之路从来都不会一帆风顺,到底哪里才是真实的世界?如何...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
还记得那个提速8倍的IDEA插件吗?VS Code版本也发布啦!!
去年,阿里云发布了本地 IDE 插件 Cloud Toolkit,仅 IntelliJ IDEA 一个平台,就有 15 万以上的开发者进行了下载,体验了一键部署带来的开发便利。时隔一年的今天,阿里云正式发布了 Visual Studio Code 版本,全面覆盖前端开发者,帮助前端实现一键打包部署,让开发提速 8 倍。 VSCode 版本的插件,目前能做到什么? 安装插件之后,开发者可以立即体验...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
2019年除夕夜的有感而发
天气:小雨(加小雪) 温度:3摄氏度 空气:严重污染(399) 风向:北风 风力:微风 现在是除夕夜晚上十点钟,再有两个小时就要新的一年了; 首先要说的是我没患病,至少现在是没有患病;但是心情确像患了病一样沉重; 现在这个时刻应该大部分家庭都在看春晚吧,或许一家人团团圆圆的坐在一起,或许因为某些特殊原因而不能团圆;但不管是身在何处,身处什么境地,我都想对每一个人说一句:新年快乐! 不知道csdn这...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
2020年的1月,我辞掉了我的第一份工作
其实,这篇文章,我应该早点写的,毕竟现在已经2月份了。不过一些其它原因,或者是我的惰性、还有一些迷茫的念头,让自己迟迟没有试着写一点东西,记录下,或者说是总结下自己前3年的工作上的经历、学习的过程。 我自己知道的,在写自己的博客方面,我的文笔很一般,非技术类的文章不想去写;另外我又是一个还比较热衷于技术的人,而平常复杂一点的东西,如果想写文章写的清楚点,是需要足够...
别低估自己的直觉,也别高估自己的智商
所有群全部吵翻天,朋友圈全部沦陷,公众号疯狂转发。这两周没怎么发原创,只发新闻,可能有人注意到了。我不是懒,是文章写了却没发,因为大家的关注力始终在这次的疫情上面,发了也没人看。当然,我...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
节后首个工作日,企业们集体开晨会让钉钉挂了
By 超神经场景描述:昨天 2 月 3 日,是大部分城市号召远程工作的第一天,全国有接近 2 亿人在家开始远程办公,钉钉上也有超过 1000 万家企业活跃起来。关键词:十一出行 人脸...
Java基础知识点梳理
虽然已经在实际工作中经常与java打交道,但是一直没系统地对java这门语言进行梳理和总结,掌握的知识也比较零散。恰好利用这段时间重新认识下java,并对一些常见的语法和知识点做个总结与回顾,一方面为了加深印象,方便后面查阅,一方面为了掌握好Android打下基础。
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
【CSDN学院出品】 你不可不知的JS面试题(分期更新……)
1、JS中有哪些内置类型? 7种。分别是boolean、number、string、object、undefined、null、symbol。 2、NaN是独立的一种类型吗? 不是。NaN是number类型。 3、如何判断是哪个类型? Object.prototype.toString.call(),返回为[object Type]。 现在我们来验证一下。 Object.prototype.toS...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
相关热词 c# 识别回车 c#生成条形码ean13 c#子控制器调用父控制器 c# 写大文件 c# 浏览pdf c#获取桌面图标的句柄 c# list反射 c# 句柄 进程 c# 倒计时 线程 c# 窗体背景色
立即提问