dom4j 元素对象获取指定子元素  element("名字")

ServletConfig:

1.在Servlet运行时,需要获取servlet的配置信息 可以使用servletConfig 来进行获取  由tomcat创建

  在servlet实例化的时候,把servlet的一些配置信息放入ServletConfig对象

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

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

3.设置servlet的配置信息: 在web.xml <servlet>标签里设置 init-param

4.获取getServletConfig.getinitParameter(“键”) //单个                                                         

  Enumeration<String> e = getServletConfig.getinitParameterNames()//多个       

一个Servlet对应一个SevletConfig对象 只能获取当前servlet的信息

ServletContext:项目在tomcat容器运行时会创建一个 唯一全局对象 ServletContext :主要用于给web项目设置配置信息     所有servlet都可以获取

  req.getServletContext();//获取对象

web.xml设置属性: <context-parm>   <parm-name>  <parm-name>    </context-parm>

      方法:getInitParameter("键")                       getInitParameterNames();//获取多个键

作用域对象:具有作用域的对象,在一定范围内可以存值取值 可以使不同的servlet之间进行数据传递。

  servlet作用域对象:request   servletContext

  request:在一次请求之后 都可以进行数据传递    范围小

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

  servletContext:在整个项目都可以传递数据    大

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

   getAttribute(“”)//通过键获取

   removeAttribute()//删除值  

转发与重定向:实现页面之间的跳转

  1.转发:req.getRequestDispatchar("路径").forward(req,resq);

      路径:servlet路径和页面路径   forward(req,resq)

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

      路径:servlet路径和页面路径

       3.区别:

      转发原理:一次请求 直接在服务器内部进行跳转

      重定向原理:

 区别:

    转发:在服务器内部   url地址不变  一次请求  可以携带参数书  只能跳转本站点的网址

        查询

    重定向:在浏览器    url地址改变   多次请求不适用携带参数   跳转任何站点的网址  

        增删改成功之后  使用重定向  改变url地址

servlet3.0注解:

   servlet3.0 之后  java1.5   

 减少xml配置  简化代码 

 1.注解和xml不能同时配置一个servlet

@WebServlet("/userServlet")
@WebServlet(name="" urlpatterns="/访问路径" loadStartUp=0//加载优先级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:可扩展标记语言(英语:Extensible Markup Language,简称:XML)是一种标记语言

  xml:可扩展语言  可以自定义标签  主要用来写配置信息   重点xml编写格式 及xml解析方式

  1.xml和html区别

    xml:编写配置信息   标签自定义   具有约束(dtd)

    html:页面展示  标签预定义

  2.xml规范:

    1.根节点只能有一个

    2.标签成对出现 由单个的

    3.节点严格区分大小写

    4.标签命名不能由特殊符号  纯英文

    5.标签进行正确的嵌套

   3.xml特殊符号:

    &lt;大于 &gt;小于 &quot;双引号 &apos;单引号 &qmp;和号

解析xml:

 1.解析方式:dom

  2.xml转换成dom

 3.dom解析方式:

    1.得到doucument对象     

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

    2.doc对象到node节点List集合

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

    3.遍历集合获取到每一个node节点 方法:item();

   for(int i=0;i<nodeList.getLength();i++){
Node nodeBrand =nodeList.item(i);
Element e = (Element)nodeBrand;
System.out.println(e.getAttribute("name"));
//获取子节点
NodeList nodeListType=e.getChildNodes();
for(int j=0;j<nodeListType.getLength();j++){
//获取node节点
Node nodeType= nodeListType.item(j);
//判断node节点是否为元素节点
if(nodeType.getNodeType()==Element.ELEMENT_NODE){
//转换成元素节点
Element elementType =(Element)nodeType;
System.out.println(elementType.getAttribute("name"));
}
}
}

    4.将node节点强制转换为Element(元素)节点

    5.调用getAttribute("")方法获取值

  4.增加节点:

 1  Element eleBrand =doc.createElement("Brand");
2 //设置属性
3 eleBrand.setAttribute("name","oppo");
4 //创建子节点
5 Element eleType= doc.createElement("Type");
6 //设置属性
7 eleType.setAttribute("name","r20");
8 //添加父子关系
9 eleBrand.appendChild(eleType);
10 doc.getElementsByTagName("PhoneInfo").item(0).appendChild(eleBrand);

      5.删除节点:

    1.获取节点集合:getElementsByTagName("Brand")

    2.遍历集合获得node节点  强转为Element节点

    3.节点调用getParentNode()获取父节点调用removeChild(Child);

  6.增加节点属性:

Dom4j对xml进行解析:

  1.将xml解析为dom对象

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

  2.获取根节点

Element elementRoot =  doc.getRootElement();

  3.获取子节点:迭代器

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

  4.写入文件

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

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

Dom4j中的重要方法:

  元素对象增加子节点addElement()

  元素对象设置属性addAttribute()

  得到父节点getParent().remove(节点)删除节点

Servlet(三)的更多相关文章

  1. Cookie&Seesion会话 共享数据 工作流程 持久化 Servlet三个作用域 会话机制

    Day37 Cookie&Seesion会话 1.1.1 什么是cookie 当用户通过浏览器访问Web服务器时,服务器会给客户端发送一些信息,这些信息都保存在Cookie中.这样,当该浏览器 ...

  2. Servlet学习笔记(1)--第一个servlet&&三种状态对象(cookie,session,application)&&Servlet的生命周期

    servlet的404错误困扰了两天,各种方法都试过了,翻书逛论坛终于把问题解决了,写此博客来纪念自己的第一个servlet经历. 下面我会将自己的编写第一个servlet的详细过程提供给初学者,大神 ...

  3. 浅谈Servlet(三)

    一.三种作用域 作用域:web开发中用于存储和获得数据. 1.request 一次请求有效,在forward跳转时可用request作用域传递数据. 2.session client不变,sessio ...

  4. servlet三种实现方式之三通过继承HttpServlet开发servlet

    servlet有三种实现方式: 1.实现servlet接口 2.继承GenericServlet 3.通过继承HttpServlet开发servlet 第三种: import java.io.*; i ...

  5. 开发servlet三种方式

    第一种:实现Servlet接口 ServletDemo类 实现Servlet接口 public class ServletDemo implements Servlet { //初始化该servlet ...

  6. web开发之Servlet 三

    昨天我们学习了Servlet的运行过程和生命周期,那么今天我们学习下Servlet中非常重要的两个类:ServletConfig  ServletContext 我们可以看到,与顶层Servlet主动 ...

  7. servlet三种方式实现servlet接口

    简单介绍 Servlet接口实现类 1.Servlet接口SUN公司定义了两个默认实现类,分别为:GenericServlet.HttpServlet. 2.HttpServlet指能够处理HTTP请 ...

  8. Servlet 三种创建方式

    servlet 是运行在 Web 服务器(tomcat)中的小型 Java 程序(即:服务器端的小应用程序) (其实就是一个java类,只不过不用再new了).servlet 通常通过 HTTP(超文 ...

  9. Servlet三种创建方式

    直接实现 Servlet 接口不太方便,所以 Servlet 又内置了两个 Servlet 接口的实现类(抽象类),分别为 GenericServlet 和 HttpServlet,因此,创建 Ser ...

  10. Tomcat深入浅出——Servlet(三)

    零.HttpServletRequest 上一篇已经介绍了这个接口,现在补充些内容 首先介绍一下作用域: jakarta.servlet.jsp.PageContext pageContext 页面作 ...

随机推荐

  1. 当前工程中typescritpt依赖包与依赖包中依赖包类型不一致如何解决

    在开发中,遇到文件中引入webpack,但是webpack.ICompiler不一致的情况 //import webpack from 'webpack'; import webpackHot fro ...

  2. Java中的左移、右移详细分析

    转自csdn--https://blog.csdn.net/weixin_42408447/article/details/125914449 前提:<<(左移),>>(右移) ...

  3. SpringBoot导读

    SpringBoot 一.导读 1.开发工具及技术栈 JDK:jdk1.8.0_191 开发工具:IntelliJIDEA 2020.3.2 SpringBoot: 简化Spring的开发 需要一定的 ...

  4. ANT+JMETER+Jenkins 接口自动化

    Linux环境下搭建:ANT+JMETER+Jenkins 接口自动化 一.准备环境: 1.下载 JDK1.8 JDK下载地址:https://www.oracle.com/java/technolo ...

  5. 在Tomcat中部署Web项目的操作方法(必看篇)

    在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Manager Web应用程序 一:部署解包的webapp目录 将Web项目部署到Tom ...

  6. ES6 - Class - 继承

    Class 其实是一个语法糖,他能实现的,ES5同样能实现 ES5 //手机 function Phone(brand,price){ this.brand = brand; this.price = ...

  7. Java poi导入Excel

    public MessageTo insertExcel(MultipartFile file) { try { InputStream is = file.getInputStream(); Wor ...

  8. 移动端唤起QQ聊天

    var u = navigator.userAgent; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); if(isiOS){ if(u ...

  9. <二>JMeter/Navicat for MYSQL运行案例

    一.JMeter 1. 下载地址:http://jmeter.apache.org/download_jmeter.cgi 2. 选择适合的版本进行下载,如下: 3. 将下载好的压缩包解压到任意文件夹 ...

  10. Apple Sources

    1. libsystem_malloc.dylib的源码 https://opensource.apple.com/tarballs/libmalloc/ .这里有多个版本(例如用otool找到iOS ...