JAVA从零学re从零开始的JAVA学习02——<javaEE阶段三基础版>(需要完善)
xml的基础、http协议、tomcat的简单使用、一些设计模式
基于黑马商城的知识,没有系统学习了解大概就行
xml的基础
- xml的概念:可扩展的标记语言,可以自定义标签
- xml的作用:可以存放数据、配置文件
xml的结构:

组成:元素、属性、注释
编写xml文件的一般规则:
- 必须有根元素
- 有xml声明:<?xml version="1.0" encoding="utf-8"?>
- 必须有关闭标签、正确的嵌套
- 严格区分大小写、属性加引号
- 实体引用

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写好后不需要修改只需使用
初始创建的工厂类只能通过字符串返回所需要的类 不能返回工厂没有的类 和接口类、抽象类

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


浙公网安备 33010602011771号