Servlet方法中的常用五大方法浅析

开发 后端
Servlet方法有很多,但是本篇向你介绍的五大Servlet方法是功能非常强大的,在Web开发中作用不小。是不是很感兴趣呢?

这五大Servlet方法都是功能比较强大的。相信对于WEB设计来说有一定的帮助。不要一个一个方法的试验,等看完所有的内容,然后一起运用这些方法并结合以前的workshop来做个小程序。

◆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();  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

◆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);  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.


  ◆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();  
    }  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.


◆putJSPBeanInSession()方法

把jsp的数据类和一个jsp页面的ID放到 session中。

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

  • 1.
  • 2.
  • 3.
  • 4.
  • 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) {  
        }  
    }  
}  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

Servlet方法的使用要在实践操作中多多积累,慢慢总结,希望你早日熟练Servlet方法的使用。

【编辑推荐】

  1. 什么是Servlet以及常用Servlet API有哪些
  2. 选择JSP开发工具
  3. Servlet和JSP路径详细介绍
  4. Servlet生命周期
  5. JSP Servlet技术之表单数据浅析
责任编辑:仲衡 来源: JSP中文网
相关推荐

2010-07-29 13:41:57

Flex性能优化

2015-06-10 14:28:34

数据中心数据中心优化

2011-05-16 10:30:02

2010-07-27 13:05:12

Flex

2015-01-21 14:04:31

2015-02-02 09:16:49

公有云云应用程序优化

2015-06-08 11:12:20

TCP

2010-08-26 11:27:35

CSS居中

2011-04-19 13:40:27

2010-08-24 16:03:22

Div高度

2022-08-23 10:58:37

智能家居黑客网络攻击

2023-11-28 11:22:51

Pythonitertools库工具

2011-08-31 14:52:41

2014-01-22 10:09:09

2021-09-16 09:39:36

勒索软件供应链网络攻击黑客

2017-05-18 14:53:23

图像分类人工智能数据集

2009-08-04 15:36:16

2009-07-28 10:36:37

ASP.NET读取Ex

2021-07-09 05:51:00

增强分析敏捷性CIO

2009-09-01 09:37:15

C#写文件
点赞
收藏

51CTO技术栈公众号