一聚教程网:一个值得你收藏的教程网站

热门教程

将 Microsoft 的 Internet Information Server 用作 Java

时间:2022-07-02 17:34:50 编辑:袖梨 来源:一聚教程网


现在这个工具极大地简化了您的工作。而 getParameterNames 方法就具有了类似下面的形式:
public Enumeration getParameterNames()
{
    return(
        new EnumerationComposite(
            new RequestDictionary[] {
                request.getQueryString(),
                request.getForm() } ) );
}
响应对象的下一个最常用的方法是 getSession。会话对象是另一个核心对象,它在 ASP 和 servlet 之间互为映像。因此,您提供的会话就必须拥有自己的适配器,稍后我会对此加以说明。但在我说明之前,请先看这个请求方法:
public HttpSession getSession( boolean flag )
{
    return( new SessionAdapter() );
}
在本文中,需要改写的请求对象的最后一个方法是 getCookies。顾名思义,它返回客户机所提供的 cookie 的集合。ASP 版本的 cookie 对象使我感到为难,它似乎用作自身的一个集合,但又引出了许多具有莫明其妙的功能的方法。但是我能够对脚本进行充分的剖析来改写 servlet。由于 ASP 版本中返回 Enumeration,而 servlet 版本中则返回一个数组,这样就可以使用 Vector 类中一个不常用的方法 copyInto,来实现这种转换,这是唯一的小窍门。另外请注意,由于在 com.ms.iis.asp 包和 javax.servlet.http 包中,类名是完全相同的,因此我们不得不明确指明每个 Cookie 对象的包名。代码如下:
public javax.servlet.http.Cookie[] getCookies()
{
    Vector tmpList = new Vector();
    CookieDictionary aspCookies = this.request.getCookies();
    IEnumerator e = aspCookies.keys();
    while( e.hasMoreItems() )
    {
        String key = (String) e.nextItem();
        String val = aspCookies.getCookie( key ).getValue();

热门栏目