上一篇:用servlet显示图片 >>
Servlet设计
(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) {
}
}
}
相关文章:
- · SERV-U 6002版安全设置全攻略(4)
- · FTP的建立与维护
- · 用SSL加密增强FTP服务器安全性
- · 教你如何巧妙设定匿名FTP的安全
- · 创建IIS6.0下用户隔离模式FTP站点
- · Secure FTP:安全的企业级FTP服务器
- · BulletProof FTP Server:物美价廉
- · ArGoSoft FTP服务器:架设只要一分钟
- · FTP服务器架设--管理篇
- · FTP服务器架设--架设篇
- · FTP服务器架设--安全篇
- · serv-U FTP软件的攻击防守
- · FTP服务器快速架设全功略
- · IIS建立FTP就真的那么弱吗
- · 关于ftp服务程序中不安全因素研究
- · FTP服务器安全
- · FTP服务器端软件Serv-U教程(6)
- · FTP服务器端软件Serv-U教程(2)
- · FTP服务器端软件Serv-U教程(5)
- · FTP服务器端软件Serv-U教程(3)
- · FTP服务器端软件Serv-U教程(1)
- · FTP服务中允许上传权限存在的问题
- · 内网FTP服务器架设不完全解析
- · Linux下FTP的配置与应用
- · wingate FAQ大全
- · SyGate安装前奏
- · Leapftp的安全问题
- · FTP命令详解
- · 站点FTP参数设置
- · Linux服务器设置指南-代理接入服务器(2)4
- · Linux服务器设置指南-代理接入服务器(1)2
- · Linux下安PHP,APACHE,MYSQL,PERL方法3
- · 在Linux下建立强大的FTP搜索引擎3
- · 国产FTP助手--网络传神2
- · ISA下FTP的解决办法(4)
- · Linux服务器设置指南-代理接入服务器(2)1
- · MS Proxy用法(二)2
- · vsftpd服务器设置单用户登陆!!!!!
