JAVA从零学re从零开始的JAVA学习02——<javaEE阶段三基础版>(需要完善)

xml的基础、http协议、tomcat的简单使用、一些设计模式

基于黑马商城的知识,没有系统学习了解大概就行

xml的基础

  • xml的概念:可扩展的标记语言,可以自定义标签
  • xml的作用:可以存放数据、配置文件

  xml的结构:

  

 

 

   组成:元素、属性、注释

  编写xml文件的一般规则:

  1. 必须有根元素
  2. 有xml声明:<?xml version="1.0" encoding="utf-8"?>
  3. 必须有关闭标签、正确的嵌套
  4. 严格区分大小写、属性加引号
  5. 实体引用

  

 

   xml的两个约束:DTD约束、Schame约束

  DTD约束

    DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。

    DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

  DTD的编写:

  • 声明一个空元素:category EMPTY
  • 只有PCDATA的元素:(#PCDATA)
  • 带有任何内容的元素:ANY
  • 带有子元素的元素:(child1,child2,...)
  • 只出现一次的元素:(message)
  • 最少出现一次的元素:(child-name+)
  • 声明出现零次或多次的元素/零次或一次:(child-name*) /(child-name?)
  • 声明非..既..的元素:(to,from,header,(message|body))
  • 声明混合元素:(#PCDATA|to|from|header|message)*

  DAD约束的内部使用和外部使用:

    内部使用:<!DOCTYPE root-element [element-declarations]>

    外部使用:<!DOCTYPE root-element SYSTEM "filename">

  XSchema约束:

    是DTD的替代,比DTD功能更强大

  Schame的编写

  • 简易元素

     。

 

 

   

  • 声明属性
    •   

       

  • 如何限定
    • 一般规则    更多限定参考菜鸟教程 
    •  

       

  • 复合元素
    • 混合类型

  指示器:minOccurs="0" maxOccurs="5"——更多参考菜鸟教程 会用就行

  xml的使用

  命名空间 我自己瞎理解的

    在xml文件中xmlns :是默认的命名空间  xmlns:xsi是自身的命名空间  xis:sc是引用的

    在sc文件中target 目标命名空间

  使用方法可以在JavaScript、java等多语言使用 在JavaScript中使用DOM对象的一般语法可调用

  在java中使用解析开发包dom4j和jaxen包配合使用快速读取到内容

    

 

     在dom4j中支持xpath表达式的两个方法

      

 

       

 

     

 1 /*
 2    xPath : 基于dom4j 的便捷解析 xml 文件的方式 .
 3    提供 类似于选择器的字符串标识 , 避免使用 for 一层一层筛选 标签.
 4    ======================================================
 5    步骤:
 6   1. 导入  jaxen.jar 包 .
 7   2. 获取核心类 与 dom4j 一致 .
 8   3. 使用 字符串标识 ,获取 标签.
 9         selectNodes("xxx")
10         selectSingleNode("XXX")
11         xpath 表达式 :
12           1. //元素名  , 省去 for循环 .
13 
14 
15 
16  */
17 public class Demo01 {
18     public static void main(String[] args) throws Exception {
19           // 创建 SAXReader
20         SAXReader saxReader = new SAXReader();
21 
22         // 读取
23         Document document = saxReader.read(new FileInputStream("web06_xml\\src\\beans.xml"));
24 
25         System.out.println(document);
26         // 获取所有bean
27 //        List list = document.selectNodes("//bean");
28 //        System.out.println(list.size());
29         // 获取所有的 Property
30         List<Element> list = document.selectNodes("//property");
31         // System.out.println(list.size());
32 
33         for (Element element : list) {
34 //            System.out.println(element.getName());
35 
36             String value = element.attributeValue("value");
37             System.out.println(value);
38         }
39     }
40 }
使用方法

http协议

  概念:HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是

  用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。。

  HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

tomcat对于java的使用

  概述:tomcat的文件结构

    

 

   idea配置项目发布到tomcat服务器中

    

 

     

 

     

 

     虚拟路径

    

 

     通过xml配置等就可以通过网页访问

servlet简单使用

  概念:javaweb三大组件之一 

  使用:主要理解xml的作用

  

 

   继承Servlet接口

  

 1 /*
 2    实现Servlet 入门 :
 3    编写类 :
 4        1. 定义类, 实现 Servlet接口
 5        2. 重写 service方法  , 当浏览器访问此类, 会自动执行 service 方法
 6     编写 web.xml 配置文件 .  在文件配置我们 HelloServlet 的信息
 7        3.  servlet 类信息    <Servlet>
 8            servlet 路径信息  <Servlet-mapping>
 9 
10              <!-- 表示 Servlet 类 -->
11             <servlet>
12                 <!-- 表示 servlet类的名字 , 格式任意起名 ,建议见名知意  -->
13                 <servlet-name>hello</servlet-name>
14                 <!-- 表示 servlet类的  路径 , 全类名 -->
15                 <servlet-class>hm01_hello.HelloServlet</servlet-class>
16             </servlet>
17             <!-- 表示 Servlet 类 配置的路径 , 用于浏览器访问-->
18             <servlet-mapping>
19                 <!-- 表示 servlet类的名字 , 与前面Servlet标签中 name 一致  -->
20                 <servlet-name>hello</servlet-name>
21                 <!-- 表示 servlet类 在浏览器中虚拟路径 -->
22                 <url-pattern>/h</url-pattern>
23             </servlet-mapping>
24 
25 
26 
27  */
28 
29 public class HelloServlet implements Servlet {
30     @Override
31     public void init(ServletConfig servletConfig) throws ServletException {
32 
33     }
34 
35     @Override
36     public ServletConfig getServletConfig() {
37         return null;
38     }
39 
40     /*
41        接收客户端请求的方法 .
42 
43      */
44     @Override
45     public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
46         System.out.println("hello");
47     }
48 
49     @Override
50     public String getServletInfo() {
51         return null;
52     }
53 
54     @Override
55     public void destroy() {
56 
57     }
58 }
使用方法

设计模式

  简单的工厂模式:提供所需要的类 ——类似与工具类Utils写好后不需要修改只需使用

  初始创建的工厂类只能通过字符串返回所需要的类 不能返回工厂没有的类 和接口类、抽象类

  

 

   升级的工厂通过泛型 类加载器、反射可以创建接口类型对象 只需要修改配置文件就可以提供所需的类

  

 

 

  

   

posted @ 2020-02-26 11:39  袁德华  阅读(119)  评论(0)    收藏  举报