sevletconfig的实现 hashmap 重写sessionID sax解析xml文件的优点 模型驱动开发技术

原创 2015年11月17日 15:57:50

GenericServlet类的实现接口中包括了ServletConfig接口,但是它自身的init(ServletConfig config)方法又需要外界给它传递一个实现ServletConfig的对象,就是说GenericServlet和ServletConfig的依赖关系既是继承关系,也是一种关联关系。


httpsevlet继承genericservlet抽象类


HashMap不能保证元素的顺序,HashMap能够将键设为null,也可以将值设为null,与之对应的是Hashtable,(注意大小写:不是HashTable),Hashtable不能将键和值设为null,否则运行时会报空指针异常错误;



1. Java Servlet API 中引用 Session 机制来追踪客户的状态。Servlet API 中定义了 javax.servlet.http.HttpSession 接口,Servlet 容器必须实现这个接口。
2.当一个 Session 开始时,Servlet 容器将创建一个 HttpSession 对象,Servlet 容器为 HttpSession 分配一个唯一标识符,称为 Session ID。Servlet 容器将 Session ID 作为 Cookie 保存在客户的浏览器中。每次客户发出 HTTP 请求时,Servlet 容器可以从 HttpRequest 对象中读取 Session ID,然后根据 Session ID 找到相应的 HttpSession 对象,从而获取客户的状态信息。
3.当客户端浏览器中禁止 Cookie,Servlet 容器无法从客户端浏览器中取得作为 Cookie 的 Session ID,也就无法跟踪客户状态。  
Java Servlet API 中提出了跟踪 Session 的另一种机制,如果客户端浏览器不支持 Cookie,Servlet 容器可以重写客户请求的 URL,把 Session ID 添加到 URL 信息中。  
4. HttpServletResponse 接口提供了重写 URL 的方法:public java.lang.String encodeURL(java.lang.String url)  
该方法的实现机制为:   
● 先判断当前的 Web 组件是否启用 Session,如果没有启用 Session,直接返回参数 url。   
● 再判断客户端浏览器是否支持 Cookie,如果支持 Cookie,直接返回参数 url;如果不支持 Cookie,就在参数 url 中加入 Session ID 信息,然后返回修改后的 url。   
我们可以对网页中的链接稍作修改,解决以上问题:

修改前:

<a href=“maillogin.jsp“>   
修改后:  

<a href=“<%=response.encodeURL(“maillogin.jsp“)%>“>   


数组复制最快的方法是:
  A、for循环的话,很灵活,但是代码不够简洁.
    B、System.arraycopy()源码。可以看到是native方法:native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。 可以将native方法比作Java程序同C程序的接口。
public static native void arraycopy(Object src,  int  srcPos,
           Object dest, int destPos,int length); 

    C、选项有误,copyOf不是System的方法,而是Arrays的方法,下面是源码,可以看到本质上是调用的arraycopy方法。,那么其效率必然是比不上 arraycopy的
1
2
3
4
5
6
public static int[] copyOf(int[] original, int newLength) {
   int[] copy = new int[newLength];
   System.arraycopy(original, 0, copy, 0,
   Math.min(original.length, newLength));
   return copy;
}
 D。clone的话,返回的是Object【】,需要强制转换。 一般用clone效率是最差的,


不需要像dom解析那样在内存中建立一个dom对象,占用内存,sax解析是逐行解析的,每次读入内存的只是一行xml,所以速度快,效率高点。不过sax一般是处理固定格式的xml


1.过程建模.2.数据建模.3.对象建模。


截止JDK1.8版本,java并发框架支持锁包括?



读写锁   自旋锁   乐观锁

DOM和SAX解析XML文档区别及的优缺点

SAX (Simple API for XML) 和 DOM (Document Object Model) 是当前两个主要的XML API,几乎所有商用的xml 解析器都同时实现了这两个接口。因...
  • lm16875
  • lm16875
  • 2013年05月16日 18:20
  • 1411

DOM&SAX优缺点对比

DOM(文档对象模型),为XML文档的解析定义了一组接口,解析器读入整个文档,然后构造一个驻留内存的树结构,然后代码就可以使用DOM接口来操组整个树结构,其他点如下: 优点:整个文档树都在内存当...
  • hemeng2009
  • hemeng2009
  • 2014年10月15日 16:26
  • 589

Sax解析xml

sax解析一般用来解析比较复杂的xml文件,sax解析xml的速度通常也比dom4j快,在我的文章xml解析中这两种解析方式都会列举出来 sax解析 只需要继承DefaultHandler类 pa...
  • dly120219891208
  • dly120219891208
  • 2015年07月21日 14:21
  • 410

使用SAX方式解析XML文件

SAX方式解析XML的步骤: 1、通过SAXParseFactory的静态newInstance()方法获取SAXParseFactory实例factory 2、SAXParseFactory实例的n...
  • u014042146
  • u014042146
  • 2015年09月15日 18:16
  • 915

sax,dom,jdom的优缺点比较

 ---- sax, dom, jdom技术的优缺点比较 SAX分析器在对XML文档进行分析时,触发一系列的事件,应用程序通过事件处理函数实现对XML文档的访问。由于事件触发本身是有时序性...
  • yuan16423276
  • yuan16423276
  • 2013年12月19日 11:41
  • 3698

XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容

一、新建Demo2类: import java.io.File; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAX...
  • qq_32059827
  • qq_32059827
  • 2016年05月31日 13:16
  • 934

android 面试题(四)

一、选择题(30题,每题1.5分,共45分) 1.java.io包中定义了多个流类型来实现输入和输出功能,可以从不同的角度对其进行分   类,按功能分为:(c),如果为读取的内容进行处理后再输出,需要...
  • u012620150
  • u012620150
  • 2016年11月01日 09:32
  • 213

SAX解析XML文档的时候在characters方法中解析有的时候xml文档格式凌乱的时候拿不到数据

首先我们先将xml何为格式好何为格式不好讲清楚 先上格式好的图 在一个就是格式不好的图 我们可以看出来,格式好的与格式不好的之间的差别在于, 不好的多了很多 \n \t 这样的换...
  • u013803262
  • u013803262
  • 2016年07月02日 23:02
  • 1615

Xerces C++ SAX解析XML文档

关于SAX的解释,和好处,不做过多的介绍,你完全可以搜索引擎里面找到茫茫多的介绍http://baike.soso.com/v123641.htm?ch=ch.bk.innerlink; 本文的...
  • u012543266
  • u012543266
  • 2014年01月17日 17:27
  • 1037

Java解析xml文档之SAX解析

sax解析是一种边读边解析,仅向前读取,不能修改,用来读。sax创建XMLReader三步:SAXParserFactory factory = SAXParserFactory.newInstanc...
  • new___Smile
  • new___Smile
  • 2016年07月16日 00:59
  • 4175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sevletconfig的实现 hashmap 重写sessionID sax解析xml文件的优点 模型驱动开发技术
举报原因:
原因补充:

(最多只允许输入30个字)