1 理解dom解析器机制
  1)dom解析和dom4j原理一致
  2)Node是所有元素的父接口
  3)常用的API:
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();取得DOM解析器工厂
DocumentBuilder domParser =
factory.newDocumentBuilder();取得DOM解析器
domParser.parse(*.xml)加载需要解析的XML文件
Document.getDocumentElement()取得XML文件的根元素/节点
Element.getNodeName():取得根元素
Element.getElementsByTagName_r("汽车")取得"汽车"元素的集合
NodeList.item(i)取得第N个元素,从0开始
Element.getTextContent():取得元素的文本内容
Element.getAttributes().getNamedItem("出产时间").getTextContent():取得元素中某属性的值
document.createElement_x("汽车");创建新元素
Element.setTextContent("我的汽车");设置元素的内容
Element.appendChild(newCarElement);在尾部添加元素
Element.insertBefore(newCarElement,
   
rootElement.getElementsByTagName_r("汽车").item(1));在指定的元素前添加元素
TransformerFactory tf =
TransformerFactory.newInstance();创建输出工厂
Transformer transformer = tf.newTransformer();创建输出对象
Source source = new DOMSource(document);创建内存的document对象
Result result = new StreamResult(new
File("src/cn/itcast/xml/dom/car.xml"));指定输出的目标地点
transformer.transform(source,result);将document对象输出到xml文件中
     
  Element.setTextContent("深圳");更新元素的内容
Element.removeChild(secondCarElement);在父元素基础上删除直接子元素
 
 4)dom解析器会将空白字符当作有效元素对待 
 
 5)要让dom解析器将空白字符忽略,必须满足二条件
a)对XML文件必须写一个DTD约束
b)factory.setIgnoringElementContentWhitespace(true);
   6)dom类解析器和sax类解析器
a)dom是一次性加载到内容,形成document对象,人工导航,适合curd
b)sax是分次性加载到内容,sax解析器导航,但程序员需要编写sax处理器,必须扩展DefaultHandler类,适合r

2 web基本概念
  1)JavaWeb是用Java技术开发基于Web的应用
  2)在Internet上运行的资源有二大类:
a)静态资源
无论何时何地以何种身份访问该资源,显示的结果一样
HTML或XHTML或XML,CSS,JavaScript,...
b)动态资源
无论何时何地以何种身份访问该资源,有可以结果不一样
Servlet,Jsp,...

*3 安装tomcat web服务器
 
1)将某个文件提外界用户访问,必须有一个类似的网络应用程序来接收和响应用户的请求
  2)web服务器有多种类型
java开源:tomcat6/7。。。
商用:weblogic,websphere
  3)安装tomcat
a)配置JDK正确版本[至少是JDK5]和路径
b)执行tomcat/bin/startup.bat启动Web服务器
     
  c)CATALINA_HOME指明需要启动哪台tomcat服务器
     
  错误案例:
a)tomcat端口被占用,可以通过server.xml文件修改默认端口号
b)查看当前进程使用情况,工具Fport.exe
     
  c)窗口一闪而过,JAVA_HOME目录设置出错
  4)tomcat目录的含义:
*bin/启动和停止tomcat的脚本文件
*conf/配置tomcat的文本,以xml文件为主
*lib/tomcat用到的第三方jar包
logs/tomcat服务器操作相关的日志文件
temp/tomcat运行时用到的一些临时文件
     
**webapps/tomcat能被外界访问的符合标准目录结构的web应用
work/tomcat运行的工作目录

   5)Web标准目录结构:
tomcat/webapps目录
  |
mail目录(Web应用或Web工程,该Web应用下有N多Web静动态资源) 
     
     |
     
  *.html(静态资源)
     
    6)Web常用的编号
404:客户端请求的资源,服务端找不到
  
  
*4 配置虚拟主机和目录
 
1)虚拟目录:在tomcat/conf/server.xml文件中设置如下代码:
path="以/开头,表示虚拟目录"
     
docBase="web应用的真实目录"
附加:
reloadable="false"服务端会自动监视/WEB-INF/classes或lib目录下的变化情况,一旦变化,服务湍在设置成true的情况下,自动加载最新的内容,如果设置成false,服务端无法加载最新的资源,需要手工重新启动服务器,开发阶段设置为true,上线阶段设置为false。
     
unpackWAR="true"服务器会自动将web压缩文件解压成标准的web目录结构



  2)设置默认web应用
  3)设置默认web资源
mail-WEB-INF-web.xml文件中设置如下代码:
   
     
  mail.html
     
 
 
4)设置虚拟主机:在tomcat/conf/server.xml文件中设置如下代码: 
     
     
     
     
     
name表示虚拟主机名,与HOSTS文件中定义的一致
     
appBase虚拟主机对应的Web应用根目录
     
\表示真实目录
     
/表示外界通过浏览器访问的目录
     
以windowXP为例:C:\WINDOWS\system32\drivers\etc\HOSTS文件
 
 
5)位于webapps/目录下的标准web应用,服务器会自动映射成一个虚拟目录
 
6)某些旧版的tomcat服务器,可能无法自动映射webapps/目录下的标准web应用,需要加上WEB-INF/web.xml文件才行
    
  

5 理解C/S和B/S结构的特点
  1)Domain Name Service
  2)DNS是电信内部的一个域名和IP地址的映射关系
 
3)在查询DNS之前,先查看本地操作系统对应的HOSTS文件,是否能找到对应的IP,如果能找到,不会查DNS了,只有在
   
查找不到的情况下,再连网找DNS服务器 
  4)CS结构:程序和数据分离在不同的端
   *BS结构:程序和数据绑定在服务端

JAVA-Web04的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 六 java和Tomcat

    Java企业级应用TOMCAT实战 http://blog.oldboyedu.com/java-tomcat/ 老男孩笔记 常规应用架构模型 Tomcat对静态请求效率低,可以做动静分离,动态的给T ...

  3. 部署Java和Tomcat

    Tomcat介绍 Tomcat服务器是一个免费的开放源代码的Web应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP网页的首选. Tomcat和Nginx.Apach ...

  4. Java第三阶段学习(十二、HttpServletRequest与HttpServletResponse)

    一.HttpServletRequest 1.概述: 我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和 ...

  5. JAVA基础之ServletContext应用

    创建一个登陆的界面,并且统计次数! 导入jar包; 1. driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/java0603?u ...

  6. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  7. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  8. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  9. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  10. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

随机推荐

  1. [MTC3]Cracking SHA1-Hashed Passwords

    题目地址:https://www.mysterytwisterc3.org/en/challenges/level-ii/cracking-sha1-hashed-passwords 解题关键:根据键 ...

  2. 面试题: 数据库 sql优化 sql练习题 有用 学生表,课程表,成绩表,教师表 练习

    什么是存储过程?有哪些优缺点? 什么是存储过程?有哪些优缺点? 存储过程就像我们编程语言中的函数一样,封装了我们的代码(PLSQL.T-SQL). 存储过程的优点: 能够将代码封装起来 保存在数据库之 ...

  3. 如何增加新的PointT类型

    博客转载自:http://www.pclcn.org/study/shownews.php?lang=cn&id=286 为了增加新的point类型,首先需要进行定义,例如: struct M ...

  4. 反射获取窗体所有控件的Text

    可以直接通过反射获取当前窗体的所有控件的Text(具有Text属性),具体代码如下: foreach (var field in form.GetType().GetFields(System.Ref ...

  5. 第3章 编写ROS程序-1

    1.创建工作区和功能包 在我们写任何程序之前,第一步是创建一个容纳我们的功能包的工作区,然后再创建功能包本身. 创建工作区  使用标准的mkdir命令行去创建一个目录,我们将把这个新的目录称作工作区目 ...

  6. 在多台手机上批量安装apk

    1.手机要打开adb调试 2.该程序可以实现台android手机的多个apk批量安装 1.getSeriaoNum.py模块,该模块获取已连接手机的序列号 import os import threa ...

  7. C# 移除string[] 数组中的指定元素

    本文转载自  http://www.cnblogs.com/jcdd-4041/p/3279531.html 第一步:先把string[] 转换成 ArrayList   第二步:移除指定元素 第三步 ...

  8. 4. docker镜像的概念、管理(查看、下载、删除)

    镜像的概念 镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 下图展示的是Docker镜像的系统结构. ...

  9. UnityShader实例09:Stencil Buffer&Stencil Test

    http://blog.csdn.net/u011047171/article/details/46928463 Stencil Buffer&Stencil Test 在开始前先吐槽下uni ...

  10. 关于fiddler抓取HTTPS请求443的问题

    1.环境:fiddler4.IOS10.3以上 2.需求:使用fiddler抓取IOS上的https请求 3.解决方案 步骤一:设置fiddler 步骤二:手机端安装证书 手机设置代理,打开手机浏览器 ...