<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="http://feeds.qzone.qq.com/rss.xsl" version="1.0"?>
<rss version="2.0" xmlns:qz="http://qzone.qq.com">
<channel>
<title><![CDATA[璐╰☆╮簬□]]></title>
<description><![CDATA[基地]]></description>
<link>http://358965516.qzone.qq.com</link>
<lastBuildDate>Sat, 28 Nov 2009 20:23:20 GMT</lastBuildDate>
<generator>Qzone</generator>
<language>zh-cn</language>
<copyright>Copyright (C), 2005-2008, Tencent Tech. Co., Ltd.</copyright>
<pubDate>Mon, 17 Aug 2009 03:57:32 GMT</pubDate>

<item>
<title><![CDATA[JSP完全自学键盘记之六|Servlet5种接口|ServletRequest接口中的常用方法|ServletResponse接口中的常用方法]]></title>
<link>http://358965516.qzone.qq.com/blog/1250481452</link>
<description><![CDATA[Servlet5种接口 <br>public void init(ServletConfig config) throws ServletException <br>pubic void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException <br>public void destroy() <br>public ServletConfig getServletConfig() <br>public java.lang.String getServletInfo() <br>ServletRequest接口中的常用方法 <br>public java.lang.Object getAttribute(java.lang.String name) <br>pubic java.util.Enumeration getAttributeNames() <br>public void removeAttribute(java.lang.String name) <br>public void setAttribute(java.lang.String name,java.lang.Object o) <br>public java.lang.String getCharacterEncoding() <br>public int getContentLength() <br>public java.lang.String getContentType() <br>public ServletInputStream getInputStream() <br>public java.lang.String getLocalAddr() <br>public java.lang.String getLocalName() <br>public int getLocalPort() <br>public java.lang.String getParameter(java.lang.Stirng name) <br>public java.util.Enumeration getParameterNames() <br>public java.lang.String[] getParameter Values(java.lang.String name) <br>public java.lang.String getProtocol() <br>public java.io.BufferedReader getReader() throws java.io.IOException <br>public java.lang.String getRemoteAddr() <br>public java.lang.String getRemoteHost() <br>public int getRemotePort() <br>public RequestDispatcher getRequestDispatcher(java.lang.String Path) <br>public java.lang.String getServerName() <br>public int getServerPort() <br>public void setCharaterEncoding(java.lang.String env) throws java.io.UnsupportedEncodingException <br>ServletResponse接口中的常用方法 <br>public void flusBuffer() throws java.io.IOException <br>public int getBufferSize() <br>public java.lang.String getCharacterEncoding() <br>public java.lang.String getContentType() <br>public ServletOutputStream getOutputStream() throws java.io.IOException <br>public java.io.PrintWriter() throws java.io.IOException <br>public boolean isCommitted() <br>public void reset() <br>public void resetBuffer() <br>public void setBufferSize(int Size) <br>public void setCharacterEncoding(java.lang.String chatset) <br>public void setContentLength(int len) <br>public void setContentType(java.lang.String type) <br>GenericServlet类 <br>public bastract class GenericServlet extends java.lang.Object implements Servlet,ServletConfig,java.io.Serializable <br>两种重载init()方法 <br>public void init(ServletConfig config) throws ServletException <br>pulbic void init() throws ServletException <br>HttpServlet类 <br>public abstract class HttpServlet extends GenericServlet implements java.io.Serializable <br>两种重载service()方法 <br>public void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException <br>public void service(HttpServletRequest req,HttpServletResponse res) throws ServletException,java.io.IOException <br>针对HTTP1.1中定义的7种请求Get.Post.Head.Put.Delete.Trace.Options.HttpServlet分别提供7种处理方法 <br>public void doGet(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>public void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>public void doHead(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>public void doPut(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>public void doDelete(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>public void doTrace(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>public void doOptions(HttpServletRequest req,HttpServletResponse resp) throws ServletException,java.io.IOException <br>在HttpServletRequest接口中新增的常用方法 <br>public java.lang.String getContextPath() <br>public Cookie[] getCookies() <br>public java.lang.String getHeader(java.lang.String name) <br>public java.util.Enumeration getHeaderNames() <br>public java.util.Enumeration getHeaders(java.lang.String name) <br>public java.lang.String getMethod() <br>public java.lang.String getPathInfo() <br>public java.lang.String getPathTranslated() <br>public java.lang.String getQueryString() <br>public java.lang.String getRequestURI() <br>public java.lang.StringBuffer getRequestURL() <br>public java.lang.String getServletPath() <br>public HttpSession getSession() <br>public HttpSession getSession(boolean cerate) <br>在HttpServletResponse接口中新增的常用方法 <br>public void addCookie(Cookie cookie) <br>public void addHeader(java.lang.String name,java.lang.String value) <br>public boolean containsHeader(java.lang.String name) <br>public java.lang.String encodeRedirectURL(java.lang.String url) <br>public java.lang.String encodeURL(java.lang.String url) <br>public void sendError(int sc) throws java.io.IOException <br>public void sendError(int sc,java.lang.String msg) throws java.io.IOException <br>public void sendRedirect(java.lang.String location) throws java.io.IOException <br>public setHeader(java.lang.String name,java.lang.String value) <br>public void setStatus(int sc) <br>ServletConfig对象在Servlet初始化是向其传递配置信息,在这个接口中定义了4种方法 <br>public java.lang.String getInitParameter(java.lang.String name) <br>public java.util.Enumeration getInitParameterNames() <br>public ServletContext getServletContext() <br>public java.lang.String getServletName() <br> <br>此系列原创纯属个人学习笔记，无任何技术含量，好记性不如烂笔头，烂笔头不如好键盘，所以，在学习的同时用键盘记录了下来。本人完全自学。所以在学习的开始，对JSP进行了深刻的了解，要真正从零学起，那是真的很难，不过我不怕，知识再多也是慢慢积累的，文化再低也有大家一起学习，知识再难也有网络可以查询。欲速则不达。希望能在我们520找到和我一起学习的朋友，也希望有高人指点。 <br>  <br> <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1250481452#comment</comments>
<qz:effect>134217728</qz:effect>
<pubDate>Mon, 17 Aug 2009 03:57:32 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1250481452</guid>
</item>

<item>
<title><![CDATA[JSP完全自学键盘记之五]]></title>
<link>http://358965516.qzone.qq.com/blog/1250332312</link>
<description><![CDATA[JSP中的两种注释 <br>显式注释会被发送到客户端 <br>&lt;!--注释--&gt; <br>隐式注释不会在客户端显示 <br>&lt;% <br>   // 可以使用JAVA的单行注释 <br>   /* <br>    多行注释 <br>   */ <br>%&gt; <br>&lt;%-- <br>   JSP中使用的注释 <br>--%&gt; <br>声明语句 <br>&lt;%!....%&gt;声明全局变量.类.方法 <br>表达式 <br>&lt;%=...%&gt;类似于out.println(); <br>request.get.Parameter();所接收的参数均为String类型.如果需要使用int类型.必须进行转换 <br>int 变量名称=Integer.parseInt(&quot;包含数字的字符串&quot;) <br>为JSP页面指定编码&lt;%@page contentType=&quot;text/html;charset=gb2312&quot;%&gt; <br>导入包&lt;%@page import=&quot;java.util.*&quot;%&gt; <br>&lt;%@include file=&quot;&quot;%&gt;可以包含任意文件.但在有一个JSP页面中,只能有一组&lt;html&gt;&lt;head&gt;&lt;body&gt;&lt;title&gt; <br>标签式包含语句不传参&lt;jsp:include page=&quot;uri&quot; flush=&quot;true&quot;/&gt; <br>传参 <br>&lt;jsp:include page=&quot;uri&quot; flush=&quot;true&quot;&gt; <br>&lt;jsp:param name=&quot;参数名称&quot; value=&quot;值&quot;/&gt; <br>&lt;/jsp:include&gt; <br>跳转语句 <br>不传参&lt;jsp:forward page=&quot;uri&quot;/&gt; <br>传参 <br>&lt;jsp:forward page=&quot;uri&quot;&gt; <br>&lt;jsp:param name=&quot;参数名称&quot; value=&quot;值&quot;/&gt; <br>&lt;/jsp:forward&gt; <br>此跳转语句,属服务器端跳转.地址栏不会变化 ,无条件跳转 <br>此系列原创纯属个人学习笔记，无任何技术含量，好记性不如烂笔头，烂笔头不如好键盘，所以，在学习的同时用键盘记录了下来。本人完全自学。所以在学习的开始，对JSP进行了深刻的了解，要真正从零学起，那是真的很难，不过我不怕，知识再多也是慢慢积累的，文化再低也有大家一起学习，知识再难也有网络可以查询。欲速则不达。希望能在我们520找到和我一起学习的朋友，也希望有高人指点。 <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1250332312#comment</comments>
<qz:effect>134217728</qz:effect>
<pubDate>Sat, 15 Aug 2009 10:31:52 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1250332312</guid>
</item>

<item>
<title><![CDATA[两个小JAVA程序FizzBuzz.java和Fibonacci.java]]></title>
<link>http://358965516.qzone.qq.com/blog/1249873185</link>
<description><![CDATA[1.FizzBuzz.java <br>/** <br> * This program plays the game &quot;Fizzbuzz&quot;.  It counts to 100, replacing each <br> *这个程序扮演一个游戏“Fizzbuzz”它从100开始计数。取代每一个 <br> * multiple of 5 with the word &quot;fizz&quot;, each multiple of 7 with the word &quot;buzz&quot;, <br> *是5的倍数就改成fizz，是7的倍数就改成buzz <br> * and each multiple of both with the word &quot;fizzbuzz&quot;.  It uses the modulo <br> *和能被5和7都整除的就改成fizzbuzz，它是用模 <br> * operator (%) to determine if a number is divisible by another. <br> *判定数是否被整除 <br> **/ <br>public class FizzBuzz {                      // Everything in Java is a class  <br>    public static void main(String[] args) { // Every program must have main() <br>        for(int i = 1; i &lt;= 100; i++) {           // count from 1 to 100 <br>            if (((i % 5) == 0)&amp;&amp; ((i % 7) == 0))  // Is it a multiple of 5 &amp; 7? <br>                System.out.print(&quot;fizzbuzz&quot;);     <br>            else if ((i % 5) == 0)                // Is it a multiple of 5? <br>  System.out.print(&quot;fizz&quot;);  <br>            else if ((i % 7) == 0)                // Is it a multiple of 7? <br>  System.out.print(&quot;buzz&quot;);  <br>            else System.out.print(i);             // Not a multiple of 5 or 7 <br>            System.out.print(&quot; &quot;);                 <br>        } <br>        System.out.println(); <br>    } <br>} <br>2.Fibonacci.java <br>public class Fibonacci <br>{ <br> public static void main(String[] args) <br> { <br>  int n0=1,n1=1,n2; <br>  System.out.println(n0+&quot;&quot;+n1+&quot;&quot;); //加空格是为了转换成字符 <br>  for (int i=0;i&lt;18;i++) <br>  { <br>   n2=n1+n0; <br>   System.out.println(n2+&quot;&quot;); <br>   n0=n1; //不懂的可以把每一步的值打印出来就懂了 <br>   n1=n2; <br>   } <br>   System.out.println(); <br>  } <br> } <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1249873185#comment</comments>
<qz:effect>134217728</qz:effect>
<pubDate>Mon, 10 Aug 2009 02:59:45 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1249873185</guid>
</item>

<item>
<title><![CDATA[JSP完全自学键盘记之四]]></title>
<link>http://358965516.qzone.qq.com/blog/1249526009</link>
<description><![CDATA[在javax.xml.parsers包中,定义了DOM解析器工厂类DocumentBuilderFactory,用于产生DOM解析器,DocumentBuliderFactory是一个抽象类,在这个类中提供了一个静态的方法newInstance(),用于创建工厂类的一个实例<br>newInstance()方法通过下面3种途径依次查找解析器工厂类<br>1,首先查看是否设置了javax.xml.parsers.DocumentBuilderFactory系统属性,如果设置了则以该系统属性的值来构造工厂类的实例,我们可以用两种方式来设置这个系统属性,一种是在程序中利用System.setProperty()来设置,如下<br>System.setProperty(&amp;amp;quot;javax.xml.parsers.DocumentBuilderFactory&amp;amp;quot;,&amp;amp;quot;org.apache.xerces.jaxp.DocumentBuilderFactoryImpl&amp;amp;quot;);<br>建议不要在程序中直接设置解析工厂类,因为如果将来要更换解析器,那么就要对程序做出修改,别一种是在用java.exe执行程序的时候,通过-D选项来设置系统属性如下<br>java-Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl<br>2,查找JRE目录下的lib子目录下的jaxp.properties文件,如果存在,则读取该配置文件,这个配置文件的格式是标准的Java属性文件格式,我们可以在JER\lib目录下建立jaxp.properties文件,然后配置要使用的工厂类,如下<br>java x.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl<br>采用这种方式 配置解析工厂类,灵活性好,如果程序需要更换解析器,只需要修改jaxp.properties文件<br>3,在classpath环境变量所指定的JAR文件中查找META-INF/services目录下的javax.xml.parsers.DocumentBuilderFactory文件.<br>DocumentBuilder类提供 parse()方法,用于解析XML文档的内容,返回一个表示整个文档的Document对象,DocumentBuilder类有5个重载的parse()方法如下<br>public Document parse(File f) throws SAXException,IOException<br>pubic abstract Document parse(InputSource is) throws SAXException,IOException<br>public Document parse(InputStream is) throws SAXException,IOException<br>public Document parse(InputStream is,String systemId) throws SAXException,IOException<br>public Document parse(String uri) throws SAXException,IOException<br>此外DocumentBuilderFactory 类中还提供了一些方法,用于控制解析器的行为,如下<br>public void setCoalescing(boolean coalescing)<br>该方法指定解析器是否将CDATA节点转换为文本节点,以及是否将它和周围的文本节点合并.默认值false<br>public void setExpandEntityReferences(boolean expandEntityRef)<br>该方法指定解析器是否要展开外部实体引用,如果为true外部数据将插入文档,默认值true<br>public void setIgnoringComments(blooean ignoreComments)<br>该方法指定解析器是否要忽略文档中的注释,默认值为false<br>public void setIgnoringElementContentWhitespace(blooean whitespace)<br>该方法指定解析器是否要忽略元素内容中的空白,默认值false<br>public void setNamespaceAware(blooean awareness)<br>该方法指定解析器是否要支持XML的名称空间.默认值false<br>public void setValidating(blooean validating)<br>默认情况下,解析器不验证文档,将validating设置为true,将打开验证功能<br>在javax.xml.parsers包中定义了一个错误类FactoryConfigurationError和一个异常类ParserConfigurationException此系列原创纯属个人学习笔记，无任何技术含量，好记性不如烂笔头，烂笔头不如好键盘，所以，在学习的同时用键盘记录了下来。本人完全自学。所以在学习的开始，对JSP进行了深刻的了解，要真正从零学起，那是真的很难，不过我不怕，知识再多也是慢慢积累的，文化再低也有大家一起学习，知识再难也有网络可以查询。欲速则不达。希望能在我们520找到和我一起学习的朋友，也希望有高人指点。 <!--v:3.2--> ]]></description>
<category><![CDATA[个人日记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1249526009#comment</comments>
<qz:effect>134219264</qz:effect>
<pubDate>Thu, 06 Aug 2009 02:33:29 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1249526009</guid>
</item>

<item>
<title><![CDATA[JSP完全自学键盘记之三]]></title>
<link>http://358965516.qzone.qq.com/blog/1249439790</link>
<description><![CDATA[名称空间通过使用一系列的保留属性来声明,这种属性的名字必须是以xmlns或以xmlns:作为前缀,与其它任何XML属性一样.这些属性可以直接或以默认的方式给出 <br>第一种形式: <br>&lt;元素名 xmlns:prefixname=&quot;URI&quot;&gt; <br>第二种形式: <br>&lt;元素名 xmlns=&quot;URI&quot;&gt; <br>XML的两套API是DOM(Document Object Model)和SAX(Simple APIfor XML) <br>Apache的Xerces是一个使用非常广泛的解析器,它提供了DOM和SAX的调用接口,并有多种语言的实现版本,要利用Xerces访问XML文档,只需要在应用程序中构造一个解析器实现类的对象,SAX定义的解析器接口是org.xml.sax.XMLReader中提供的实现类是org.apache.xerces.parsers.SAXParser <br>JAXP(Java API for XMLProcessing)是在解析器之上封闭了一个抽象层,允许开发人员以独立于厂商的API调用访问XML数据. <br>DOM定义了一个Node接口 ,用于表示文档树中一个节点,从这个接口派生出更多的具体接口. <br>在Node中接口中定义的主要方法如下 <br>public java.lang.String getNodeName() 返回该节点的名字 <br>public short getNodeType()  返回表示该节点类型的代码.在Node接口中,为每种类型的节点都定义了一个短整型常量 <br>public java.lang.String getNodeValue() throws DOMException  返回该节点的值 <br>public void setNodeValue(java.lang.String node value) throws DOMException 设置该节点的值 <br>public boolean hasChildNodes() 判断该节点是否有子节点 <br>public NodeList getChildNodes() 以节点列表的形式返回该节点所有的子节点 <br>public Node getFirstChild()  返回该节点的第一个节点,如果没有这样的节点,返回null <br>public Node getLastChild()  返回该节点的最后一个节点,如果没有这样的节点,返回null <br>public Node getParentNode()  返回该节点的父节点 <br>public Node getNextSibling() 返回紧随该节点的后一个兄弟节点(具有同一个父节点) <br>public Node getPreviousSibling()  返回紧挨着该节点的前一个兄弟节点(具有同一个父节点) <br>public Document getOwnerDocument()  返回该节点所属的Document对象 <br>public NamedNodeMap getAttributes()  如果该节点是元素节点,则返回该节点的所有属性,否则null <br>public Node appendChild(Node newChild) throws DOMException 在该节点的子节点列表末尾添加newChild节点并返回新添加的节点 <br>Node insertBefore(Node newChild,Node refChild) throws DOMException 在该节点refChild之前插入newChild子节点.如果refChild是null.将在子节点列表的末尾插入refChild节点.如果newChild是DocumentFragment对象.那么它的所有子节点在refChild之前被插入 <br>public Node removeChild(Node oldChild) throws DOMException 从该节点的子节点列表中移除oldChild节点,并返回被移除的节点 <br>public Node replaceChild(Node newChild,Node oldChild) throws DOMException 在该节点的子节点列表中,用newChild替换oldChild节点,并返回被替换节点(oldChild节点) <br>public java.lang.String getLocalName() 返回该节点限定名的本地部分 <br>public java.lang.String getNamespaceURI() 返回该节点的名称空间URI.如果没有指定名称空间则返回null <br>public java.lang.String getPrefix()  返回该节点的名称空间前缀 <br>public void setPreffix(java.lang.String prefix) throws DOMException 设置该节点的名称空间前缀 <br>public void normalize() 将该节点所有的后代文本节点,包括属性节点,调整为规范化(normal)的形式,这仅仅是从(如果:元素,温度循环试验,处理指令,CDATA段.和实体引用) 上分隔文本节点,也就是在该节点所在的这棵树下,既不存在相信的文本节点,也不存在空的文本节点 <br>此系列原创纯属个人学习笔记，无任何技术含量，好记性不如烂笔头，烂笔头不如好键盘，所以，在学习的同时用键盘记录了下来。本人完全自学。所以在学习的开始，对JSP进行了深刻的了解，要真正从零学起，那是真的很难，不过我不怕，知识再多也是慢慢积累的，文化再低也有大家一起学习，知识再难也有网络可以查询。欲速则不达。希望能在我们520找到和我一起学习的朋友，也希望有高人指点。 <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1249439790#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Wed, 05 Aug 2009 02:36:30 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1249439790</guid>
</item>

<item>
<title><![CDATA[JSP完全自学键盘记之XML与DTD二]]></title>
<link>http://358965516.qzone.qq.com/blog/1249097329</link>
<description><![CDATA[DTD的元素类型声明 <br>&lt;!ELEMENT 元素名称 元素内容说明&gt; <br>元素内容说明可以指明以下5种可能的元素内容形式 <br>1.#PCDATA <br>关键字#PCDATA说明元素包含字符数据 <br>&lt;?xml version-&quot;1.0&quot; encoding=&quot;gb2312&quot;?&gt;&lt;!DOCTYPE hr[ <br>&lt;!ELEMENT hr (#PCDATA)&gt; <br>]&gt;&lt;hr&gt;人力资源标准&lt;hr&gt; <br>2.子元素 <br>3.混合内容 <br>4.EMPTY <br>5.ANY <br>实体声明为了能在多个文档中调用同样的内容.经过XML处理哭 对文档进行分析处理后,引用实体的位置会被实体的内容所替换. <br>一般实体是在文档内容中使用的实体,而参数实体则是在DTD中使用的已分析实体.不管是一般实体还是参数实体都是用ENTITY来声明 <br>&lt;!ENTITY 实体名 &quot;实体内容&quot;&gt; <br>引用实体的方式: &amp;实体名; <br>&lt;?xml version-&quot;1.0&quot; encoding=&quot;gb2312&quot;?&gt;&lt;!DOCTYPE website[ <br>&lt;!ELEMENT website (name,copyright)&gt; <br>&lt;!ELEMENT name (#PCDATA)&gt; <br>&lt;!ELEMENT copyright (#PCDATA)&gt; <br>&lt;!ENTITY name &quot;我爱电脑技术论坛&quot;&gt; <br>&lt;!ENTITY copyright &quot;&amp;#169;2004 我爱电脑技术论坛, All Rights Resered&quot;&gt; <br>]&gt;&lt;website&gt; <br> &lt;name&gt;&amp;name;&lt;/name&gt; <br> &lt;copyright&gt;&amp;copyright;&lt;/copyright&gt; <br>&lt;/website&gt; <br>参数实体只能在DTD中使用 <br>&lt;!ENTITY % 实体名 &quot;实体内容&quot;&gt; <br>注意中间的空格,引用实体的方式:  %实体名; <br>属性表声明 <br>&lt;!ATTLIST 元素名 属性名 属性类型 默认声明&gt; <br>默认声明可以有4种默认设置,#REQUIRED,#IMPLIED,#FIXED+默认值,只有默认值 <br>#REQUIRED说明必须为元素提供该属性 <br>#IMPLIED说明元素可以包含该属性,也可以不包含 <br>#FIXED+默认值说明一个固定的属性默认值,文档的编写者不能修改该属性的值,元素中不包含这个属性,XML处理器将以声明的默认值向应用程序报告该属性. <br>只有默认值和FIXED+默认值一样,如果元素不包含该属性,XML处理器将以声明的默认值向应用程序报告该属性,不同的是这种声明方式属性的值是可以变的 <br>在属性表声明时总共有10种属性类型可以选择,分别是:CDATA,Enumerated,ID,IDREF,IDREFS,ENTITY,ENTITIES,NMTOKEN,NMTOKENS,NOTATION <br>CDATA这是最常用的一种属性类型,表明属性值为字符数据,与元素内容说明中的#PCDATA相同. <br>Enumerated在声明属性时,可以限制属性的取值只能从一个列表中选择,这类属性属于枚举类型,要注意枚举类型的属性声明并没有使用关键字Enumerated,此处只是用于说明.如 <br>&lt;!ATTLIST person sex (male | female) #REQUIRED&gt; <br>ID,IDREF,IDREFS,一个ID类型的属性值惟一标识XML文档中的一个元素,一个元素只能有一个ID类型的属性,ID类型的属性必须设置为#IMPLIED或者#REQUIRED,因为ID类型属性的每一个取值都是用来标识一个特定的元素,为ID类型的属性提供默认值,特别是固定的默认值是毫无意义的.IDREF类型的属性值为同一文档中另一个元素的ID类型的属性值,而这另一个元素的ID类型的属性值必须是已经存在的,利用ID和IDREF这两种类型的属性,我们可以在两个对象之间建立一种关联关系,如果一个属性需要引用文档中多个ID类型的属性值,则可以把它声明为IDREFS类型,IDREFS类型的属性值是一毓以空格分隔的ID类型的属性值,而且必须与文档中已有的ID类型属性值相匹配, <br>ENTITY,ENTITIES,ENTITY类型的属性把外部的二进制数据链接到文档 .ENTITY类型的属性值是在DTD中声明的未分析的一般实体的名称 <br>NMTOKEN,NMTOKENS,名称标记是任何命名字符的混合体,.NMTOKEN类型的属性值是受限制的文本,只能包含名称字符,不能包含空白字符.XML名称不能以除字母,下划线.和冒号之外的其它字符开头,而名称标记没有这个限制,所有的XML名称都是名称标记,但不是所有名称标记都是XML名称. <br>NOTATION,类型属性的值就是在记号声明中的名称 <br>在现实中,有很多数据都是无法用XML来表示的,比如:声音,图像,影像等.对于这些数据XML处理器通常都不支持的,通过DTD中的记号声明 为非XML数据描述一种可能的格式,或者指定一个外部处理程序. <br>记号声明有两种形式,一咱是使用MIME类型 <br>&lt;!NOTATION gif SYSTEM &quot;image/gif&quot;&gt; <br>另一种是使用URI路径,指出外部处理程序的位置 <br>&lt;!NOTATION gif SYSTEM &quot;iexplore.exe&quot;&gt; <br>也可以使用PUBLIC来代替SYSTEM,并添加公共的名称和URI此系列原创纯属个人学习笔记，无任何技术含量，好记性不如烂笔头，烂笔头不如好键盘，所以，在学习的同时用键盘记录了下来。本人完全自学。所以在学习的开始，对JSP进行了深刻的了解，要真正从零学起，那是真的很难，不过我不怕，知识再多也是慢慢积累的，文化再低也有大家一起学习，知识再难也有网络可以查询。欲速则不达。希望能在我们520找到和我一起学习的朋友，也希望有高人指点。 <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1249097329#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Sat, 01 Aug 2009 03:28:49 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1249097329</guid>
</item>

<item>
<title><![CDATA[XML与DTD序]]></title>
<link>http://358965516.qzone.qq.com/blog/1249011608</link>
<description><![CDATA[xml格式要求 <br>1、开始标签必须要有一个结束标签配套 <br>2、空元素标签必须被关闭 <br>3、所有的标签都区分大小写 <br>4、所有的标签必须合理嵌套 <br>5、所有标签的属性值必须用双引号或单引号括起来 <br>6、XML有且只有能一个根元素 <br>XML的声明 <br>&lt;?xml 版本信息[编码信息][文档独立性信息]?&gt;  []中为可选信息 <br>&lt;?xml version=&quot;1.0&quot; encoding=&quot;gb2312&quot; standalone=&quot;yes&quot;?&gt; <br>CDATA段 <br>CDATA 段中的内容不被XML处理器分析，所以可以在其中包含任意的字符 <br>CDATA 段以字符串“&lt;![CDATA[”开始，以字符串“]]&gt;”结束 <br>XML注释 &lt;!--this is comment--&gt; <br>处理指令（processing instructions PI）以&lt;?开始，以?&gt;结束 <br>&lt;?xml-stylesheet href=&quot;hello.css&quot; type=&quot;text/css&quot;?&gt; <br>XML文档中可以在元素中使用一个特殊的属性xml:space，来通知应用程序保留此元素中 <br>空白，xml:space必须被声明为Enumerated类型，它的值必须是“default”“preserve” <br>两者之一，也可以两个都取 <br>&lt;!ATTLIST poem xml:space (default|preserve) 'preserve'&gt; <br>&lt;!ATTLIST pre xml:space (preserve) #FIXED 'preserve'&gt; <br>内部DTD <br>&lt;?xml version==&quot;1.0&quot; encoding='gb2312' standalone=&quot;yes&quot;?&gt; <br>&lt;!DOCTYPE greeting [ <br> &lt;!ELEMENT greeting (#PCDATA)&gt; <br>]&gt; <br>文档类型声明由&lt;!开始，后面紧跟一个关键字DOCTYPE，然后是文档根元素的名称，接下来 <br>是标记声明块，标记声明块放在[]中，由一个或多个标记声明构成，最后由&gt;结束 <br>在DTD中，所有关键字都是大写的，元素和属性可以任意大小写 <br>外部DTD <br>用关键字 SYSTEM或者PUBLIC来指出外部DTD的位置，SYSTEM表示文档使用的是私有DTD文件。PUBLIC <br>表示文档类型使用公共DTD，并且这个DTD还有一个名字，XML程序先检索到PUBLIC后面的DTD文件， <br>如果找不到DTD就使用“外部DTD文件的URI”来查找该DTD <br>&lt;!DOCTYPE 根元素的名字 SYSTEM&quot;外部DTD文件的URI&quot;&gt; <br>&lt;!DOCTYPE greetind SYSTEM &quot;hello.dtd&quot;&gt; <br>&lt;!DOCTYPE 根元素的名字 PUBLIC&quot;DTD的名称&quot; &quot;外部DTD文件的URI&quot;&gt; <br>DTD的名称和XML名称略有不同，如果一项DTD是ISO标准，它的名称要以字符“ISO”开始，如果是 <br>一个非ISO的标准组织批准的DTD，它的名称以加号（+）开始，如果不是标准组织批准的DTD， <br>它的名称以连字符(-)开始。这些开始字符或字符串后接双斜杠（//）和DTD所有都名字，之后是另一 <br>个双斜杠和DTD描述的文档类型，接着又是一个双斜杠后接ISO 639 语言标识符，如EN表示英语， <br>ZH表示中文， <br>-//lu wang//DTD HR 1.0//ZH <br>连字符(-)表示这个DTD不是由任何标准组织批准的，为lu wang所有，描述的是人力资源管理，用中文 <br>编写。完整的如下 <br>&lt;!DOCTYPE HR PUBLIC &quot;-//lu wang//DTD HR 1.0//ZH&quot; &quot;<a href="http://www.nanchongba/xml/dtds/hr.dtd" target="_blank">http://www.nanchongba/xml/dtds/hr.dtd</a><wbr />&quot;&gt; <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1249011608#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Fri, 31 Jul 2009 03:40:08 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1249011608</guid>
</item>

<item>
<title><![CDATA[JSP的内建对象]]></title>
<link>http://358965516.qzone.qq.com/blog/1249011546</link>
<description><![CDATA[out对象的主要作用是在Web浏览器内输出信息。out对象被封装为javax.servlet.jsp.JspWriter接口， <br>clear()：清除缓冲区中的内容，不将数据发送至客户端。 <br>clearBuffer()：清除缓冲区中的内容，并将数据发送至客户端。 <br>close()：关闭输出流。 <br>flush()：输出缓冲区中的数据。 <br>getBufferSize()：获取缓冲区的大小。 <br>getRemaining()：获取缓冲区的剩余空间。 <br>isAutoFlush() 。 <br>newLine()：输出一个换行字符，换一行。 <br>print()：显示各种数据类型的内容。 <br>println()：分行显示各种数据类型的内容。 <br>如果autoFlush设定为true，则当缓冲区内容充满时JspWriter会自动将内容送出。如果autoFlush设为false，则在缓冲区内容充满时会产生IOException的错误。  <br>request对象的作用是获取客户端所需要的信息。request对象被封装为javax.servlet.http.HttpServletResquest接口 <br>response对象被封装为javax.servlet.http.HttpServletResponse接口 <br>session对象的作用是记录每个客户端的访问状态，以便跟踪每个客户端的操作状态。session对象被封装为javax.servlet.http.HttpSession接口， <br>PageContext对象的作用是取得任何范围的参 <br>application对象的主要作用是为多个应用程序保存信息，直至服务器关闭为止。application对象被封装为javax.servlet.SercletContext接口的类型，通过pageContext.getSrevletContext()方法可以获取application对象。  <br>config对象的主要作用是取得服务器的配置信息。config对象被封装为javax.servletConfig接口，通过pageContext.getServletConfig()方法可以获取一个config对象。config提供存取servlet class初始化参数以及有关server环境信息的ServletContext对象。 <br>page对象的实质就是java.lang.Object，它是java.lang.Object类的一个实例。page对象代表JSP本身，更确切的说，它是代表JSP被转译后的Servlet，它可以调用Servlet类定义的方法，作用和Java中的this一样。  <br>exception对象的作用是显示异常信息，它是java.lang.Throwable的一个实例，只有在包含isErrorPage=&quot;true&quot;的页面中才可以被使用，在一般的JSP内容中使用该对象将无法编译JSP文件。 <br>   在JSP页面编写过程中常会出现如下几种错误，读者应该注意。 <br>空指针错误：java.lang.NullPointerException <br>格式化数字错误：java.lang.NumberFormatException <br>类定义未找到错误：java.lang.NoClassDefFoundError <br>JAVA错误：java.lang.Error <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1249011546#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Fri, 31 Jul 2009 03:39:06 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1249011546</guid>
</item>

<item>
<title><![CDATA[JAVA 1加到100]]></title>
<link>http://358965516.qzone.qq.com/blog/1248850111</link>
<description><![CDATA[public class add <br>{ <br> public static void main(String[] args) <br> { <br>  int sum=0; <br>  for(int i=0;i&lt;=100;i++) <br>  { <br>   sum +=i;//sum+=i等于sum=i+sum <br>   } <br>   System.out.println(&quot;1+2+3+4+5....=&quot;+sum); <br>  } <br> } <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1248850111#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Wed, 29 Jul 2009 06:48:31 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1248850111</guid>
</item>

<item>
<title><![CDATA[JAVA web  开发详解]]></title>
<link>http://358965516.qzone.qq.com/blog/1248761530</link>
<description><![CDATA[今天收到书了。80元。。跟我以前买的那些书一样厚。拿在手上都沉甸甸的。现在电脑里一大堆视频教程和电子书。现在又怀抱像砖头一样的书。要学到何时才是头呀。。。。。 <!--v:3.2--> ]]></description>
<category><![CDATA[JSP键盘记]]></category>
<author><![CDATA[358965516@qq.com(璐╰☆╮簬□)]]></author>
<comments>http://358965516.qzone.qq.com/blog/1248761530#comment</comments>
<qz:effect>134218240</qz:effect>
<pubDate>Tue, 28 Jul 2009 06:12:10 GMT</pubDate>
<guid>http://358965516.qzone.qq.com/blog/1248761530</guid>
</item>

</channel>
</rss>

