java 解析cgi,浅析JSP HTTP服务器支持CGI

浅析JSP HTTP服务器支持CGI

JSP HTTP服务器支持CGI简而言之就是支持客户端调用服务器端的CGI例程。在服务器端,CGI一般以可执行文件的形式存放例如:可执行文件,可执行脚本)。这些CGI执行文件可以单独运行也可以接受客户端的请求作为参数运行。而HTTP服务器就要担负起调用CGI可执行文件以及将客户端的请求参数传递给CGI程序,并将CGI的执行结果反馈给客户端。

1. JSP HTTP服务器不需要参数的CGI程序的调用

对于不需要参数的CGI程序,已经将功能模块固定设置到CGI程序中,当调用时,执行该功能模块即可。这种类型的CGI程序一般用于功能比较固定的场合。以下是既支持需要参数的CGI也支持无需参数的CGI的代码://Parameter is null

if(params.equals("") == true) {

command=fileName;

}

else //Generate the command line {

command=fileName+ " " + params;

}

//Execute CGI process as child process Processproc=m_rt.exec(command, null);

//Create CGI process output stream

BufferedReaderpin=newBufferedReader(new InputStreamReader(proc.getInputStream() ) );

Stringline=null;

//Get the output from CGI process

while( (line=pin.readLine() ) != null) {

m_sout.println(line);

}

//Wait for CGI process finish

proc.waitFor();

以上代码中,通过Java的Runtime类的exec接口调用CGI可执行文件,并将CGI的执行输出返回给客户端。

2. JSP HTTP服务器需要参数的CGI程序的调用

对于需要参数的CGI程序,功能模块没有固定,而是需要以及传入参数才能执行相应的功能。这种类型的CGI程序相对比较灵活。被调用时,HTTP服务器必须将客户端请求中的参数行传入到CGI进程中,在CGI程序中对请求进行解析,进而执行相应的模块。HTTP服务器与CGI进程的通信可以采用三种方式:

1)以命令行的方式传入执行参数。参见以上代码“command = fileName + " " + params;”)中。将可执行文件和参数作为命令行传入调用。

2)写入到CGI进程的标准输入stdin)中,CGI程序只需要从标准输入中读取相应的参数行即可。

3)将参数行写入到CGI进程的环境变量QUERY_STRING中。CGI从环境变量QUERY_STRING中读取命令行参数。

在JSP中获取数据库连接

介绍JSP Action的使用

简化JSP表达式中代码

详解JSP向Servlet转换

简单介绍JSP元素教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值