<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      聲微飯否

      博客園 首頁(yè) 新隨筆 聯(lián)系 訂閱 管理

      dom4j 元素對(duì)象獲取指定子元素  element("名字")

      ServletConfig:

      1.在Servlet運(yùn)行時(shí),需要獲取servlet的配置信息 可以使用servletConfig 來(lái)進(jìn)行獲取  由tomcat創(chuàng)建

        在servlet實(shí)例化的時(shí)候,把servlet的一些配置信息放入ServletConfig對(duì)象

      2.獲取servletConfig:init(servletConfig config)方法可以使用  

                其他方法中:this.getServletConfig() ==getServletconfig();

      3.設(shè)置servlet的配置信息: 在web.xml <servlet>標(biāo)簽里設(shè)置 init-param

      4.獲取getServletConfig.getinitParameter(“鍵”) //單個(gè)                                                         

        Enumeration<String> e = getServletConfig.getinitParameterNames()//多個(gè)       

      一個(gè)Servlet對(duì)應(yīng)一個(gè)SevletConfig對(duì)象 只能獲取當(dāng)前servlet的信息

       

      ServletContext:項(xiàng)目在tomcat容器運(yùn)行時(shí)會(huì)創(chuàng)建一個(gè) 唯一全局對(duì)象 ServletContext :主要用于給web項(xiàng)目設(shè)置配置信息     所有servlet都可以獲取

        req.getServletContext();//獲取對(duì)象

      web.xml設(shè)置屬性: <context-parm>   <parm-name>  <parm-name>    </context-parm>

            方法:getInitParameter("鍵")                       getInitParameterNames();//獲取多個(gè)鍵

       

      作用域?qū)ο?/span>:具有作用域的對(duì)象,在一定范圍內(nèi)可以存值取值 可以使不同的servlet之間進(jìn)行數(shù)據(jù)傳遞。

        servlet作用域?qū)ο螅?span style="background-color: rgba(255, 0, 255, 1)">request   servletContext

        request:在一次請(qǐng)求之后 都可以進(jìn)行數(shù)據(jù)傳遞    范圍小

        req.getRequestDispatchar("").forword(req,resq)

        servletContext:在整個(gè)項(xiàng)目都可以傳遞數(shù)據(jù)    大

      方法:setAttribute("鍵","值")

         getAttribute(“”)//通過(guò)鍵獲取

         removeAttribute()//刪除值  

      轉(zhuǎn)發(fā)與重定向:實(shí)現(xiàn)頁(yè)面之間的跳轉(zhuǎn)

        1.轉(zhuǎn)發(fā):req.getRequestDispatchar("路徑").forward(req,resq);

            路徑:servlet路徑和頁(yè)面路徑   forward(req,resq)

        2.重定向:resp.sendRedirect("路徑")

            路徑:servlet路徑和頁(yè)面路徑

             3.區(qū)別:

            轉(zhuǎn)發(fā)原理:一次請(qǐng)求 直接在服務(wù)器內(nèi)部進(jìn)行跳轉(zhuǎn)

       

            重定向原理:

       

         

       

       

       區(qū)別:

          轉(zhuǎn)發(fā):在服務(wù)器內(nèi)部   url地址不變  一次請(qǐng)求  可以攜帶參數(shù)書(shū)  只能跳轉(zhuǎn)本站點(diǎn)的網(wǎng)址

              查詢

          重定向:在瀏覽器    url地址改變   多次請(qǐng)求不適用攜帶參數(shù)   跳轉(zhuǎn)任何站點(diǎn)的網(wǎng)址  

              增刪改成功之后  使用重定向  改變url地址

      servlet3.0注解:

           servlet3.0 之后  java1.5   

       減少xml配置  簡(jiǎn)化代碼 

       1.注解和xml不能同時(shí)配置一個(gè)servlet

      @WebServlet("/userServlet")
      @WebServlet(name="" urlpatterns="/訪問(wèn)路徑" loadStartUp=0//加載優(yōu)先級(jí)0最大
      initParams={@wenInitParam(name="aa",value="")}
      )
      @WebServlet(name="servlet02", urlPatterns = "/servlet02",
      loadOnStartup = 0, initParams = {
      @WebInitParam(name="ddd",value="dddddddddddd"),
      @WebInitParam(name="aaa",value = "aaaaaaa"),
      })

       

      XML:可擴(kuò)展標(biāo)記語(yǔ)言(英語(yǔ):Extensible Markup Language,簡(jiǎn)稱(chēng):XML)是一種標(biāo)記語(yǔ)言

        xml:可擴(kuò)展語(yǔ)言  可以自定義標(biāo)簽  主要用來(lái)寫(xiě)配置信息   重點(diǎn)xml編寫(xiě)格式 及xml解析方式

        1.xml和html區(qū)別

          xml:編寫(xiě)配置信息   標(biāo)簽自定義   具有約束(dtd)

          html:頁(yè)面展示  標(biāo)簽預(yù)定義

         2.xml規(guī)范:

          1.根節(jié)點(diǎn)只能有一個(gè)

          2.標(biāo)簽成對(duì)出現(xiàn) 由單個(gè)的

          3.節(jié)點(diǎn)嚴(yán)格區(qū)分大小寫(xiě)

          4.標(biāo)簽命名不能由特殊符號(hào)  純英文

          5.標(biāo)簽進(jìn)行正確的嵌套

                     

       

       

         3.xml特殊符號(hào):

          &lt;大于 &gt;小于 &quot;雙引號(hào) &apos;單引號(hào) &qmp;和號(hào)

      解析xml:

       1.解析方式:dom

          2.xml轉(zhuǎn)換成dom

       3.dom解析方式:

          1.得到doucument對(duì)象     

       DocumentBuilderFactory dbf  = DocumentBuilderFactory.newInstance();
       DocumentBuilder db = dbf.newDocumentBuilder();
       Document doc = db.parse(new File("收藏信息.xml"));

          2.doc對(duì)象到node節(jié)點(diǎn)List集合

       NodeList nodeList=  doc.getElementsByTagName("Brand");

          3.遍歷集合獲取到每一個(gè)node節(jié)點(diǎn) 方法:item();

         for(int i=0;i<nodeList.getLength();i++){
                  Node nodeBrand =nodeList.item(i);
                  Element e = (Element)nodeBrand;
                  System.out.println(e.getAttribute("name"));
                  //獲取子節(jié)點(diǎn)
                  NodeList nodeListType=e.getChildNodes();
                  for(int j=0;j<nodeListType.getLength();j++){
                      //獲取node節(jié)點(diǎn)
                      Node nodeType= nodeListType.item(j);
                      //判斷node節(jié)點(diǎn)是否為元素節(jié)點(diǎn)
                      if(nodeType.getNodeType()==Element.ELEMENT_NODE){
                          //轉(zhuǎn)換成元素節(jié)點(diǎn)
                          Element elementType =(Element)nodeType;
                          System.out.println(elementType.getAttribute("name"));
                      }
                  }
              }

       

          4.將node節(jié)點(diǎn)強(qiáng)制轉(zhuǎn)換為Element(元素)節(jié)點(diǎn)

          5.調(diào)用getAttribute("")方法獲取值

        4.增加節(jié)點(diǎn):

       

       1  Element eleBrand =doc.createElement("Brand");
       2         //設(shè)置屬性
       3         eleBrand.setAttribute("name","oppo");
       4         //創(chuàng)建子節(jié)點(diǎn)
       5         Element eleType= doc.createElement("Type");
       6         //設(shè)置屬性
       7         eleType.setAttribute("name","r20");
       8         //添加父子關(guān)系
       9         eleBrand.appendChild(eleType);
      10         doc.getElementsByTagName("PhoneInfo").item(0).appendChild(eleBrand);

       

            5.刪除節(jié)點(diǎn):

          1.獲取節(jié)點(diǎn)集合:getElementsByTagName("Brand")

          2.遍歷集合獲得node節(jié)點(diǎn)  強(qiáng)轉(zhuǎn)為Element節(jié)點(diǎn)

          3.節(jié)點(diǎn)調(diào)用getParentNode()獲取父節(jié)點(diǎn)調(diào)用removeChild(Child);

        6.增加節(jié)點(diǎn)屬性:

      Dom4j對(duì)xml進(jìn)行解析:

        1.將xml解析為dom對(duì)象

         SAXReader sr =new SAXReader();   Document doc= sr.read(new File("收藏信息.xml"));

        2.獲取根節(jié)點(diǎn)

      Element elementRoot =  doc.getRootElement();

        3.獲取子節(jié)點(diǎn):迭代器

      Iterator<Element> iter = elementRoot.elementIterator();

        4.寫(xiě)入文件

      OutputStream ops = new FileOutputStream(path);
      OutputFormat out = OutputFormat.createPrettyPrint();

      out.setEncoding("utf-8");
      XMLWriter writer =  new XMLWriter(ops,out);

      Dom4j中的重要方法:

        元素對(duì)象增加子節(jié)點(diǎn)addElement()

        元素對(duì)象設(shè)置屬性addAttribute()

        得到父節(jié)點(diǎn)getParent().remove(節(jié)點(diǎn))刪除節(jié)點(diǎn)

       

      posted on 2020-08-11 11:52  聲微飯否  閱讀(96)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 日韩一区二区三区高清视频| 久久国产自偷自偷免费一区| 青青青爽在线视频观看| 突泉县| 成人永久性免费在线视频| 亚洲中文字幕无码中文字| 亚洲精品国产熟女久久久| 爱如潮水日本免费观看视频| 全免费A级毛片免费看无码| 成人免费A级毛片无码片2022| 亚洲国产日韩伦中文字幕| 7878成人国产在线观看| 色香欲天天影视综合网| 国内极度色诱视频网站| 网友偷拍视频一区二区三区| 国产无套内射又大又猛又粗又爽| 九九热在线免费播放视频| 99无码中文字幕视频| 激情97综合亚洲色婷婷五| 国产又爽又黄又爽又刺激| 亚洲av一本二本三本| 国产日韩入口一区二区| 少妇人妻偷人偷人精品| 日韩精品一区二区三区无| 激情内射亚洲一区二区三区| 亚洲sm另类一区二区三区| 久久久精品94久久精品| 久热这里只有精品在线观看| 97人妻免费碰视频碰免| 波多野结av在线无码中文免费| 桃花岛亚洲成在人线AV| 亚洲美免无码中文字幕在线| 国产熟女真实乱精品51| 无码人妻斩一区二区三区 | 欧美熟妇乱子伦XX视频| 亚洲精品国产精品不乱码| 深夜福利啪啪片| 亚洲AV成人无码久久精品四虎| 少妇无码AV无码专区| 久热这里有精品视频播放| 欧美熟妇性XXXX欧美熟人多毛|