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. [hdu2087]剪花布条(KMP)

    题意:求存在模式串个数,不可重复. 解题关键:模板题.整理模板用.重复和不可重复的区别在下面已标出.主要是j的变化. #include<cstdio> #include<cstrin ...

  2. shader之texture

    纹理坐标作为属性传递到顶点着色器 texture是OPENGL对象,包含一张或多张相同格式的图片. 它有2中用途: the source of a texture access from a Shad ...

  3. [Oracle]oracle查询表列名、及列数

    --查询表列数 select count( column_name ) from user_tab_columns where table_name = 'CJ_HOME_MEDICAL_RECORD ...

  4. memcached 扩展安装(windows)

    在脚本之家里下载扩展压缩包 https://www.jb51.net/softs/392873.html 安装扩展前得先安装memcached并启动 下载完扩展压缩包解压并找到对应自己php版本 复制 ...

  5. spring-eureka 源码解读----作为集群的eureka怎么样实现不做二次传播

    在平时工作中,eureka作为一个集群时候,我们会配置多个peer ,假设当前有服务器eureka-A,eureka-B,eureka-C. 如果Eureka A的peer指向了B, B的peer指向 ...

  6. Noip2016day1 天天爱跑步running

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...

  7. lca最近公共祖先(st表/倍增)

    大体思路 1.求出每个元素在树中的深度 2.用st表预处理的方法处理出f[i][j],f[i][j]表示元素i上方第2^j行对应的祖先是谁 3.将较深的点向上挪,直到两结点的深度相同 4.深度相同后, ...

  8. 支持通配符查询的k-gram索引

    k-gram索引的通配符查询处理技术称为k-gram索引. 一个k-gram代表由k个字符组成的序列.对于词项castle来说,cas.ast.stl都是3-gram.我们用特殊的字符$来标识词项的开 ...

  9. 11.Python初窥门径(函数名,可迭代对象,迭代器)

    Python(函数名,可迭代对象,迭代器) 一.默认参数的坑 # 比较特殊,正常来说临时空间执行结束后应该删除,但在这里不是. def func(a,l=[]): l.append(a) return ...

  10. jsf+ejb

    jsf+ejb 示例 http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide/5/html/Sample_J ...