浅析JSPHTTP服务器支持CGI

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

成都创新互联公司专注于沙湾企业网站建设,响应式网站设计,购物商城网站建设。沙湾网站建设公司,为沙湾等地区提供建站服务。全流程定制网站建设,专业设计,全程项目跟踪,成都创新互联公司专业和态度为您提供的服务

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

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

 
 
 
  1. //Parameter is null 
  2. if(params.equals("") == true) { 
  3. command = fileName; 
  4. else //Generate the command line { 
  5. command = fileName + " " + params; 
  6. //Execute CGI process as child process Process proc = m_rt.exec(command, null); 
  7. //Create CGI process output stream 
  8. BufferedReader pin = new BufferedReader(new InputStreamReader(proc.getInputStream() ) ); 
  9. String line = null; 
  10. //Get the output from CGI process 
  11. while( (line = pin.readLine() ) != null) { 
  12. m_sout.println(line); 
  13. }
  14. //Wait for CGI process finish 
  15. 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中读取命令行参数。

网页名称:浅析JSPHTTP服务器支持CGI
本文来源:http://www.shufengxianlan.com/qtweb/news34/76334.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联