Java资源网

| JAVA基础 | 环境配置 | JDBC | 线程技术 | Socket编程 | JavaMail | JAVA与XML | 设计模式 | 技术新闻 | Java认证 | 程序人生 软件下载
| JSP&Servlet | Spring | Struts | Hibernate | JBuilder | Eclipse | WebService | EJB技术 | J2ME开发 | 应用服务器 | JXTA | Ajax
Articles search文章搜索
   关键字:
   类 别:
       
New download 最新下载
· [组件]HTML Parser 1.5
· [教程]WebSphere Studio应用教程
· [组件]JDom 1.0
· [工具]Junit3.8.1
· [教程]EJB编程及J2EE系统架构和设计
· [教程]EJB教程
· [教程]J2EE Tutorial中文版
· [教程]Java编程思想2(英文)
· [教程]java编程思想(完整版)
· [教程]Java网络编程
New articles 最新文章
· 设计移动 Web 服务
· 解析XML的时候完全忽略DTD
· 理解XML Schema XML Schema 初步
· 标签库的深入研究
· 提升JSP应用程序的七大绝招
· 如何使用JDOM对XML文件进行操作
· 处理XML字符串中特殊字符
· 利用Digester把XML转换成为Java对象
· 使用WebService 和RMI远程协作
· 使用Axis开发Web Service程序
Articles top 热门文章
· Eclipse基础--plugin插件安装(6644)
· eclipse+tomcat+lomboz的安装配置说明(4774)
· Java程序员就业前景(4584)
· Windows下JAVA环境变量的设置祥解(3788)
· Tomcat下JSP、Servlet和JavaBean环境的配置(3716)
· 使用links方式安装Eclipse插件(3698)
· 一个老程序员的心理话(3533)
· linux下jdk的安装与配置(3459)
· 初学者入门:Structs中基本配置入门(3334)
· Eclipse 运行命令行参数大全(3084)
您的位置:首页>>JSP和Servlet>>Servlet设计
Servlet设计
2007-04-13   来源:www.javaresearch.org  作者:未知

这篇文章介绍几个Servlet的方法,这几个方法都是功能比较强大的。相信对于WEB设计来说有一定的帮助。不要一个一个方法的试验,等看完所有的内容,然后一起运用这些方法并结合以前的workshop来做个小程序。
(1)    parseTextMessage()方法
在这个例子里:定义了一个数据接受类。parseTextMessage()方法接受了一组从表单传送过来的对象以及他们的值。我们在做一些产品开发的时候,比如自定义表单,往往不知道传送过来有多少对象,对于这样的问题,程序是无法知道的,用了这个方法后,就可以报所有的对象一下子都拿到了。下面看一下这个例子:
private void parseTextMessage(HttpServletRequest request){

    Enumeration names;  // 列举client传送过来的所有的对象
    String      name;   /
    String[]    value;  //  
    // 接受所有的对象
    names = request.getParameterNames();
  
        while (names.hasMoreElements()) {
       //得到对象名称
        name = (String)names.nextElement();
      //根据对象名称重新找到对象的值
        value = request.getParameterValues(name);
     //  把对象名称和值放到一个类中,这个类的代码在前面的练习中有
        put(name, value);
    }

    // 获取一个page的ID,为什么要设置page id,在java规则中有
    pageID  = getPostPageID();
  
    //  获取事务id,如果有事务的话
    trxID   = getPostTrxID();
}




(2)    getJSPBeanInSession()方法
这是一个I/O管理类。这个方法根据page的id来从session中返回jsp的数据,如果用getSession(true).getAttribute(pageID) 也是对的。
      private JPC_JSPBean getJSPBeanInSession(String pageID) {

// 根据页的id来从session中返回jsp的数据
    return (JPC_JSPBean)request.getSession().getAttribute(pageID);
    }
  

(3)    dispatchTransaction()方法
 这个方法得到一组类的实例,然后开始事务处理。
public void dispatchTransaction() {
    JPC_Transaction trx = null;
    String classList[] = getTrxClassList(getTrxID());
     try {   
        for (int i = 0; i < classList.length; i++) {
              trx = (JPC_Transaction)Class.forName(classList[i]).newInstance();
            if (trx != null) {
                trx.setIOManager(this);
                trx.start();
            }
        }
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }
}

(4)    putJSPBeanInSession()方法
把jsp的数据类和一个jsp页面的ID放到 session中。
private void putJSPBeanInSession(String pageID, JPC_JSPBean jspBean) {
  
    //把jsp的数据类和一个jsp页面的ID放到 session中。
    request.getSession().setAttribute(pageID, jspBean);
}

(5)    sendPage()方法
private void sendPage(String pageID, JPC_JSPBean outJSPBean) {

// 把页面id和数据存储到 session 中
    if (outJSPBean != null) {
        putJSPBeanInSession(pageID, outJSPBean);
    }

// 根据文件id来取得文件数据
  String jspFileName = getJSPFileName(pageID);

//根据jsp文件名来得到一个RequestDispatcher
    RequestDispatcher rd = context.getRequestDispatcher(jspFileName);

    if (rd != null) {

        try {
            //调用jsp
            rd.forward(request, response);
        } catch (ServletException e) {
        } catch (IOException e) {
        }
    }
}


  --相关文章--
· 漫步j2ee之jsp技术(1) (2007-04-13)
· 提升JSP应用程序的七大绝招 (2007-04-13)
· 如何在JSP中处理中文 (2007-04-13)
· 第一章 taglibnbsp;原理和实现 (2007-04-13)
· 用jsp动态输出excel文档和中文乱码问题的解决 (2007-04-13)
· 可以自动跳转到出错页面的servlet jsp框架 (2007-04-13)

版权所有©2005-2006 JAVA资源网 渝ICP备05007591号 虚拟主机 | 关于我们 | 联系方式 | 广告业务 | 网站地图 | 友情链接