老师好,这里能不能讲解一下第二次add添加元素时,底层函数的指向。
threading Thread time sleep,time (name): (.format(name)) sleep() (.format(name)) __name__ == : start=time() t_list=[] i (): t1=Thread(=func1,=(.format(i),)) t1.start() t_list.append(t1) t1 t_list: t1.join() end=time()-start (end)
老师,为什么我做的servlet-class为null啊
package com.bjsxt.server; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class WebDom4j {//用于解析XML private List<Entity> entityList;//用于存储是N多Entity,而每一个Entity都是servlet-name与servlet-class private List<Mapping> mappingList;//用于存储N多Mapping,而每一个Mapping都是一个servlet-name与N多个url-pattern public List<Entity> getEntityList() { return entityList; } public void setEntityList(List<Entity> entityList) { this.entityList = entityList; } public List<Mapping> getMappingList() { return mappingList; } public void setMappingList(List<Mapping> mappingList) { this.mappingList = mappingList; } //构造方法 public WebDom4j() { entityList=new ArrayList<Entity>(); mappingList=new ArrayList<Mapping>(); } //获取Document对象的方法 private Document getDocument(){ try { //(1)创建SAXReader对象 SAXReader reader=new SAXReader(); //(2)调用read方法 return reader.read(new File("src\\WEB_INFO\\web.xml")); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public void parse(Document doc){ //(1)获取根元素 Element root=doc.getRootElement(); //获取web-app根元素 //(2)获取servlet子元素 for(Iterator<Element> ite=root.elementIterator("servlet");ite.hasNext();){ Element subElement=ite.next();//得到每一个servlet //创建一个实体类 Entity ent=new Entity(); //用于存储servlet-name与servlet-class for(Iterator<Element> subIte=subElement.elementIterator();subIte.hasNext();){ Element ele=subIte.next(); //可能是servlet-name,也可能是servlet-class if("servlet-name".equals(ele.getName())){ ent.setName(ele.getText()); //给实体类中的name赋值 }else if("serlvet-class".equals(ele.getName())){ ent.setClazz(ele.getText());//给实体类中的class赋值 } } //将Entity添加到集合中 entityList.add(ent); } //测试 for (Entity entity : entityList) { System.out.println(entity.getName()+"\t"+entity.getClazz()); } //解析servlet-mapping /*for(Iterator<Element> ite=root.elementIterator("servlet-mapping");ite.hasNext();){ Element subEle=ite.next();//得到每一个servlet-mapping //创建一个Mapping类的对象 Mapping map=new Mapping(); //解析servlet-mapping下的子元素 for(Iterator<Element> subIte=subEle.elementIterator();subIte.hasNext();){ Element ele=subIte.next(); //servlet-name,也有可能是url-pattern if("serlvet-name".equals(ele.getName())){ map.setName(ele.getText()); }else if("url-pattern".equals(ele.getName())){ //获取集合对象,调用集合对象的添加方法,添加元素 map.getUrlPattern().add(ele.getText()); } } //Mapping添加到集合中 mappingList.add(map); } //测试 for (Mapping m : mappingList) { System.out.println(m.getName()); for(String s:m.getUrlPattern()){ System.out.println(s); } }*/ } //用于测试 public static void main(String[] args) { WebDom4j web=new WebDom4j(); web.parse(web.getDocument()); } }
然后第二次测试servlet-name为null
package com.bjsxt.server; import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class WebDom4j {//用于解析XML private List<Entity> entityList;//用于存储是N多Entity,而每一个Entity都是servlet-name与servlet-class private List<Mapping> mappingList;//用于存储N多Mapping,而每一个Mapping都是一个servlet-name与N多个url-pattern public List<Entity> getEntityList() { return entityList; } public void setEntityList(List<Entity> entityList) { this.entityList = entityList; } public List<Mapping> getMappingList() { return mappingList; } public void setMappingList(List<Mapping> mappingList) { this.mappingList = mappingList; } //构造方法 public WebDom4j() { entityList=new ArrayList<Entity>(); mappingList=new ArrayList<Mapping>(); } //获取Document对象的方法 private Document getDocument(){ try { //(1)创建SAXReader对象 SAXReader reader=new SAXReader(); //(2)调用read方法 return reader.read(new File("src\\WEB_INFO\\web.xml")); } catch (DocumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } public void parse(Document doc){ //(1)获取根元素 Element root=doc.getRootElement(); //获取web-app根元素 //(2)获取servlet子元素 for(Iterator<Element> ite=root.elementIterator("servlet");ite.hasNext();){ Element subElement=ite.next();//得到每一个servlet //创建一个实体类 Entity ent=new Entity(); //用于存储servlet-name与servlet-class for(Iterator<Element> subIte=subElement.elementIterator();subIte.hasNext();){ Element ele=subIte.next(); //可能是servlet-name,也可能是servlet-class if("servlet-name".equals(ele.getName())){ ent.setName(ele.getText()); //给实体类中的name赋值 }else if("serlvet-class".equals(ele.getName())){ ent.setClazz(ele.getText());//给实体类中的class赋值 } } //将Entity添加到集合中 entityList.add(ent); } //测试 /*for (Entity entity : entityList) { System.out.println(entity.getName()+"\t"+entity.getClazz()); }*/ //解析servlet-mapping for(Iterator<Element> ite=root.elementIterator("servlet-mapping");ite.hasNext();){ Element subEle=ite.next();//得到每一个servlet-mapping //创建一个Mapping类的对象 Mapping map=new Mapping(); //解析servlet-mapping下的子元素 for(Iterator<Element> subIte=subEle.elementIterator();subIte.hasNext();){ Element ele=subIte.next(); //servlet-name,也有可能是url-pattern if("serlvet-name".equals(ele.getName())){ map.setName(ele.getText()); }else if("url-pattern".equals(ele.getName())){ //获取集合对象,调用集合对象的添加方法,添加元素 map.getUrlPattern().add(ele.getText()); } } //Mapping添加到集合中 mappingList.add(map); } //测试 for (Mapping m : mappingList) { System.out.println(m.getName()); for(String s:m.getUrlPattern()){ System.out.println(s); } } } //用于测试 public static void main(String[] args) { WebDom4j web=new WebDom4j(); web.parse(web.getDocument()); } }
http_server2.zip
老师好,我想请问一下这是linkedlist添加元素时的源码,第一次添加时,last为null,l也指向last为null,然后last指向了newNode对象,l不应该也指向了newNode对象,此时不为null了吗?因为l=last不是对象引用的传递么,不是应该同时改变么。
老师,为什么我们在windows系统中的mysql创建的连接,能连到linux系统中去呢
用django2.0及以上的同学可以把url()换成re_path(),里面的参数不用变,照着视频里的写就行,我用的django3.0.6和python3.7.6。这个不是提问,老师不用回答了,哈哈。
这个算创建成功吗?没有显示OK字样啊?
这是什么意思?报错
老师,本阶段上传的资料中没有课件,希望反映下,把课件也上传了!
老师您好:
String str=new String ("abc"),这个在栈,堆,常量池中,每一步的具体过程能详细讲一下么?对象创建的过程我明白,字符串的有点似懂非懂,麻烦老师了。
老师我想问下这些英文都是用我们想要的东西翻译过来成英文来算的是吗,
是不是不能随便命名。
为啥源码和视频代码不一样?有啥区别吗
源码:
视频:
for i in range(1,11): self.photo = PhotoImage(file="imgs/puke/puke"+str(i)+".gif") Label(root, image=self.photo).place(x=10+i*40, y=50)
老师我直接用for循环,最后只有一张10的图像,这是为什么呢,循环不应该都保留的吧。
i (): .photo = PhotoImage(=+(i)+) Label(root=.photo).place(=+i*=)
老师 我直接这样for循环,为什么只有最后一个10的图片呢
删除掉变量,后面对象没用了,自己会被删除吗
为什么'to be or not to be'.split('to')的运行结果是['', ' be or not ', ' be']。我觉得正确的应该是:[' be or not ', ' be'],前面为什么会多一个空字符串''呢,想不通,请老师帮忙解答下,谢谢~
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637