老师,在写这里的代码时,我的没有这个getRootElement()方法(JDK版本是1.8 IDEA2019)
老师 为什么我这个is.read(bytes)的返回值是-1呢,明明一样的代码它 有时候读的出来 有时候读不出来
这个是读出来的
前面都正确
为啥8080进不去?
怎么解决
用ie浏览器也一样
老师,我想问一下为什么我用不了getChildren()方法和getAttribute方法了,jdom包和dom4j我都导了,而且在另一个程序里面能用,这个里面就不能用了,这是为什么?
这里的33和38行用了这两个方法却能用:
老师,idea怎么找不到相对路径,自己在网上找了一些资料也没搞明白
成功配置环境变量后为啥Tomcat软件一闪就自动退出了?
这第一行不是已经在最后换行了吗,为啥第二行还有换行
老师,1.我把获取输入流代码写成
byte[] buf=new byte[1024]; int len=0; while((len=is.read(buf))!=-1){ System.out.println(new String(buf,0,len)); }
结果就报SocketException异常,怎么回事2.这个换行\r\n什么意思啊,和\n,\n\r,\r有什么区别吗?
老师好,这里能不能讲解一下第二次add添加元素时,底层函数的指向。
老师,为什么我做的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不是对象引用的传递么,不是应该同时改变么。
老师您好:
String str=new String ("abc"),这个在栈,堆,常量池中,每一步的具体过程能详细讲一下么?对象创建的过程我明白,字符串的有点似懂非懂,麻烦老师了。
为啥源码和视频代码不一样?有啥区别吗
源码:
视频:
老师,视频中5分55秒的时候讲的那个获得类的方法,有一个是getDeclaredMethods(),视频中的解释是得到公共的方法对象。难道不是得到所有的方法对象,除了继承的方法吗?
老师好,我想问一下这size不是代表数组的长度吗?第一次扩容成10了,第二次进来的时候size不是10么
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637