比较一下CGI与ASP调用方式的区别
ASP是ActiveServerPage的缩写,意为“动态服务器页面”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互,是一种简单、方便的编程工具。ASP的网页文件的格式是asp,现在常用于各种动态网站中。ASP是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容(如在线表单),也可以创建使用HTML网页作为用户界面的web应用程序。
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。
能访问外网的服务器上搭建一个http透明代理只允许内网访问,内网CURL指定proxy就可以了。或者可以使用SSH的端口转发功能实现。
假定A是本地内网主机,B是远程提供第三方服务的主机,这两台主机之间无法连通。但是,现在还有一台C,可以同时连通前面两台主机。因此,很自然的想法就是,通过C,将A连上B。
调用方法大致有三种方法:
1)使用,直接AXIS调用远程的web service
2)直接SOAP调用远程的webservice
3)使用wsdl2java把WSDL文件转成本地类,然后像本地类一样使用,即可。
我一般使用第三种,挺简单的:
比如webservice的代码如下:
@WebService
public class ServiceHello {
/
供客户端调用的方法
@param name
@return String
/
public String getValue(String name){
return "我叫"+name;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Endpointpublish("http://localhost:9001/Service/ServiceHello", new ServiceHello());
Systemoutprintln("service success!");
}
}
1)先建立客户端webservice项目,使用命令将WSDL文件转成本地类,比如:
C:\Users\aiher\Workspaces\MyEclipse 2015\TheClient\src>wsimport -s -p comhyanclient -keep http://localhost:9001/Service/ServiceHellowsdl
2)编写客户端测试类,调用服务端web service接口的某个方法,如下:
public class ServiceTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
ServiceHello hello = new ServiceHelloService()getServiceHelloPort();
String name = hellogetValue("Hyan");
Systemoutprintln("name-:"+name);
}
}
doGet是处理客户端发来的Get请求,doPost是处理客户端发来的Post请求,它们的区别可以从以下7个方面来说明:
1、客户端(一般指浏览器)生成的方式
get:form中method属性为get时;或者直接在URL地址栏中输入URL,需要传递参数时,直接在URL后面拼接“name=张三&age=18”这样的查询参数字符串;
post:form中method属性为post。
2、客户端数据传送方式
get:表单数据存放在URL地址后面。所有get方式提交时HTTP中没有消息体;
post:表单数据存放在HTTP协议的消息体中以实体的方式传送到服务器。
3、服务器获取数据方式
get:服务器采用Servlet中的doGet来获取变量的值;
post:服务器采用Servlet中的doPost来获取数据。
4、传输的数据量
get:数据量长度有限制,一般不超过2kb。因为是参数传递,且在地址栏中,故数据量有限制;
post:适合大规模的数据传送。因为是以实体的方式传送的。
5、安全性
get:安全性差。因为是直接将数据显示在地址栏中,浏览器有缓冲,可记录用户信息。所以安全性低;
post:安全性高。因为post方式提交数据时是采用的HTTP post机制,是将表单中的字段与值放置在HTTP HEADER内一起传送到ACTION所指的URL中,用户是看不见的。
-servlet
1。本地管理:你自己拥有服务器,广域网接口,已经申请了域名。这种情况成本最高,维护最麻烦。但是好处是更新速度快(可在本地直接完成),网络带宽稳定。
2。服务器托管:你自己拥有服务器,已经申请了域名。这种情况的成本较上一种的低,维护相对简单,只要将更新的资料随时上传即可。但是更新速度较慢(需要通过网络登陆到服务器上传),网络带宽可能不太稳定。
3。完全托管:你只拥有域名。这种情况成本最底,维护相对简单。但是网站的更新较慢,服务器的使用情况不明,性能没有保障(网络公司一般会让几可网站共用一个服务器),访问带宽完全没有保障。
0条评论