当前位置:首页 » 网页前端 » cweb发布
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

cweb发布

发布时间: 2022-12-22 17:17:53

㈠ 如何发布webservice服务

如何发布一个Web服务:
a,在类上添加@WebService注解
(注:此注解是jdk1.6提供的,位于javax.jws.WebService包中)
b,通过EndPoint(端点服务)发布一个WebService
(注:EndPoint是jdk提供的一个专门用于发布服务的类,该类的publish方法接收两个参数,一个是本地的服务地址,二是提供服务的类。位于 javax.xml.ws.Endpoint包中)
c,注:
类上添加注解@WebService,类中所有非静态方法都会被发布;
静态方法和final方法不能被发布;
方法上加@WebMentod(exclude=true)后,此方法不被发布;
(3)客户端访问发布的服务
根据WSDL文档来在客户端编写代码,访问发布的服务;
但是,WSDL文档看不懂怎么办?代码该如何编写?
——你看不懂,JDK看得懂,wsimport是JDK自带的,可以根据WSDL文档生成客户端调用代码的工具。无论服务器端WebService使用什么语言编写的,豆浆在客户端生成Java代码。所以服务器用什么语言编写的并不重要。
wsimport.exe命令参数熟知:
-d:生成class文件。默认参数。
-s:生成Java文件
-p:自定义包结构

㈡ 如何用myeclipse将web项目发布到指定目录

1.在发布项目时,点击工具栏的那个部署按钮,在,选中项目,点击add按钮,在server中选相应的服务器,即可发布到服务器, 而如果有服务器虚拟目录,则选<Custom Location>,然后在Deploy Location写个想要部署到的路径就行,此时tomcat还不能访问。

2.在Tomcat下,找到conf文件下的server.xml,打开,在<Host>和</host>之间加上如下代码,然后就部署完成,重启服务器,浏 览器可以访问:
<Context path="/虚拟目录名" docBase="目标目录位置" debug="0" reloadable="true" >
</Context>
虚拟目录名:浏览器访问的地址

目标目录位置:项目所在目录的绝对路径
reloadable="true" :服务器配置动态加载

3.web项目的部署(发布)流程
在myeclipse下新建web工程abc。系统设置默认如下:
项目保存位置:workspace目录\abc
Source文件夹:src,保存所有的java类文件(.java文件)和xml文件。
Web root文件夹:WebRoot,保存所有的jsp文件,包括css、javascript等。其中包含的WEB-INF文件夹有很重要的作用!
Context root URL:/abc。 /号指向上一层, /abc指向本目录。
项目文件夹中包含共计6个文件和文件夹:
.myeclipse文件夹
src文件夹
WebRoot文件夹
同级包含的文件:
.classpath文件
.mymetadata文件
.project文件
在myeclipse里部署(deploy)项目
以项目名称abc为例,发布的位置默认为Tomcat安装目录下的webapps目录下abc目录。
一般认为:Tomcat\webapps\abc目录下就是完全拷贝myeclipse\workspace\abc\WebRoot\里面全部内容。
部署的过程就是把myeclipse的WebRoot里面的内容复制到Tomcat的Webapps\abc下,然后重新启动Tomcat。
WebRoot目录里包含index.jsp
用户访问web时输入http://localhost:8080/abc即指向Tomcat\webapps\abc目录下的index.jsp
可以正常访问!
WebRoot的组成:
WebRoot\WEB-INF\classes目录很有意思!
workspace\abc\WebRoot\WEB-INF\classes目录与workspace\abc\src目录一一对应!编译之后的所有.class文件保存在 此处,部署也只会对外公开字节码,java类文件仍然保留在开发平台里。
src目录下为java类文件(.java)
classes目录下为字节码文件(.class)
C:\AAAA\i_sales\src和C:\AAAA\i_sales\WebRoot\WEB-INF\classes
里面的结构是一模一样的,文件名完全相同。只是把所有的扩展名.java变为了.class。
总结:
1、WebRoot文件夹是可以对外的成品!拷贝给Tomcat承载即可。
2、src目录里都是重量级的java程序,编译之后会被放入WebRoot。
3、jsp页面、javascript、css直接写在WebRoot里。自行组织一下目录结构,易于分类管理。

㈢ C# WebService发布之后,只有放到网站根目录(wwwroot)能运行,增加了一层目录就无法打开了

IIS 下 新建虚拟目录 指向WebService的根目录

或者
直接放到 C:\intpub\wwwroot 下

㈣ Visual Studio中C# asp.net发布网站,为什么提示未能找到Web服务器

你这个发布属于Web Deploy,此模式是向指定的服务器直接发布,可是在192.168.188.168做了接收发布吗??

多了就不说了,你还是先做本地发布吧,然后再去学Web Deploy模式发布。

第一步,在控制面板=>程序与功能=>打开或关闭windows功能,把internet 信息服务及 子项 选中安装(初学索性都装上)

第二步,项目开发完成后进行发布, 对着web项目右键,发布选择发布位置,这个动作类似于打包动作,发布模式设置成 File System, 注:把你项目中bin拷贝并覆盖到发布位置

第三步,在控制面板=>管理工具=>Internet 信息服务(IIS)管理器 点击后打开IIS

第四步,在网站=>创建网站 ,填写网站路径及设置物理路径(就是第二步发布的位置),调整端口,默认Default Web Site会占用80端口,应用程序池设置为 v4.0及集成

㈤ 在Windows上搭建web网站,并免费内网穿透发布到公网 2/2

上一篇文章 《如何在Windows上搭建web站点,并发布到公网1/2》 中,我们分享了如何在Windows上搭建了Web建站环境,并且配置了一个演示站点,并且使用cpolar将演示站点,发布到了公网上。

本篇继续配置,将该站点,配置成开机自启动的模式。

正常第一次打开VS CODE时,它会自动判断系统语言,并尝试安装中文插件,切换成中文。看系统提示即可。

在上一篇教程中,我们在前台运行cpolar程序,关掉后,域名消失,现在我们将参数保存到配置文件中。以支持开机后台自启动运行。

运行VS code, 菜单 -- 文件 -- 打开

找到cpolar的配置文件目录: "C:\Users<用户名>.cpolar\cpolar.yml"

在文件夹中,找到C盘-->用户-->当前用户名-->.cpolar目录--cpolar.yml文件,选择 打开

提示是否信任,打勾,并点击 打开

现在看到的就是当前cpolar的配置文件,如下图:

上图为样例配置文件,它会配置两个默认隧道:一个远程桌面隧道和一个website隧道。

参数说明:

本例中,我们需要修改两处:

保存文件

在前台启动所有隧道测试

应该命令的意思是启动所有配置文件中保存的隧道

我们发现,已经正确启动配置文件中的所有隧道了,配置了二级子域名,并且本地端口也已经改为了80端口。

按CTRL+C退出。

在搜索栏上输入 cmd ,弹出 命令行提示符 ,选择 以管理员身份运行 ,如下图

在管理员级命令行窗口输入

启动cpolar服务

如下图:

可以在搜索栏输入 services ,选择打开 服务 ,进一步查看cpolar服务的状态,如下图:

在 服务 中,我们找到cpolar service,可以看到,当前状态为 运行中 ,说明启动成功了。

该服务会开机自启动,所以,我们以后就不必手动启动它了。

由于是在后台运行cpolar,我们不能像先期一样看到隧道的情况。我们可以通过 访问cpolar后台-->状态,查看隧道状态。

如图说明配置成功

验证重启后,站点是否正常。

如果重新启动后,在cpolar后台隧道在线列表中,隧道仍在线,并且网站仍可以正常访问,就说明,全部配置成功了!

今天,我们将cpolar安装为服务,将web站点的隧道信息,配置到了cpolar的配置文件中,并且设置为开机自启动。Web站点也配置成了开机自启动。

现在,您有了一个超稳固的Web站点,只要PC机开机,它就可以被正常访问到。不需要在前台打开什么应用程序才可以,完全后台服务化。

接下来,我们将搭建一个更接近实用的WordPress博客站点。

㈥ JAVA调用C语言发布的webservice接口

Java调用WebService可以直接使用Apache提供的axis.jar自己编写代码,或者利用Eclipse自动生成WebService Client代码,利用其中的Proxy类进行调用。理论上是一样的,只不过用Eclipse自动生成代码省事些。
1、编写代码方式:

packagecom.yun.test;
importjava.rmi.RemoteException;
importorg.apache.axis.client.Call;
importorg.apache.axis.client.Service;
importorg.apache.axis.message.PrefixedQName;
importorg.apache.axis.message.SOAPHeaderElement;
importcom.cezanne.golden.user.Exception;
importcom.cezanne.golden.user.UserManagerServiceProxy;
importjavax.xml.namespace.QName;
importjava.net.MalformedURLException;
importjavax.xml.rpc.ServiceException;
importjavax.xml.soap.Name;
importjavax.xml.soap.SOAPException;
publicclasstestWebService{
publicstaticStringgetResult()throwsServiceException,MalformedURLException,RemoteException,SOAPException
{
//标识WebService的具体路径
Stringendpoint="WebService服务地址";
//创建Service实例
Serviceservice=newService();
//通过Service实例创建Call的实例
Callcall=(Call)service.createCall();
//将WebService的服务路径加入到call实例之中.
call.setTargetEndpointAddress(newjava.net.URL(endpoint));//为Call设置服务的位置
//由于需要认证,故需要设置调用的SOAP头信息。
NameheaderName=newPrefixedQName(newQName("发布的wsdl里的targetNamespace里的url","string_itemName"));
org.apache.axis.message.SOAPHeaderElementheader=newSOAPHeaderElement(headerName);
header.addTextNode("blablabla");
call.addHeader(header);

//=newSOAPHeaderElement("发布的wsdl里的targetNamespace里的url","SoapHeader");
//soapHeaderElement.setNamespaceURI("发布的wsdl里的targetNamespace里的url");
//try
//{
//soapHeaderElement.addChildElement("string_itemName").setValue("blablabla");
//}
//catch(SOAPExceptione)
//{
//e.printStackTrace();
//}
//call.addHeader(soapHeaderElement);
//调用WebService的方法
org.apache.axis.description.OperationDescoper;
org.apache.axis.description.ParameterDescparam;
oper=neworg.apache.axis.description.OperationDesc();
oper.setName("opName");
param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg0"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName(","string"),java.lang.String.class,false,false);
param.setOmittable(true);
oper.addParameter(param);
param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg1"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName(","string"),java.lang.String.class,false,false);
param.setOmittable(true);
oper.addParameter(param);
param=neworg.apache.axis.description.ParameterDesc(newjavax.xml.namespace.QName("","arg2"),org.apache.axis.description.ParameterDesc.IN,newjavax.xml.namespace.QName(","string"),java.lang.String.class,false,false);
param.setOmittable(true);
oper.addParameter(param);
oper.setReturnType(newjavax.xml.namespace.QName(","string"));
oper.setReturnClass(java.lang.String.class);
oper.setReturnQName(newjavax.xml.namespace.QName("","return"));
oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
oper.setUse(org.apache.axis.constants.Use.LITERAL);
oper.addFault(neworg.apache.axis.description.FaultDesc(
newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","Exception"),
"Exception",
newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","Exception"),
true
));
call.setOperation(oper);
call.setOperationName(newjavax.xml.namespace.QName("发布的wsdl里的targetNamespace里的url","opName"));
//调用WebService,传入参数
Stringres=(String)call.invoke(newObject[]("arg0","arg1"));
System.out.println("===============");
returnres;
}
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
try{
System.out.println(getResult());
}catch(MalformedURLExceptione){
e.printStackTrace();
}catch(RemoteExceptione){
e.printStackTrace();
}catch(ServiceExceptione){
e.printStackTrace();
}catch(SOAPExceptione){
e.printStackTrace();
}
}
}

2、利用Eclipse自动生成WebService client代码就容易多了:
首先,new project,选择other,在输入框中输入Web Service Client,选中搜索后的结果,点击Next,在Service definition中输入 WebService的发布地址,点击Finish
这样,WebService Client代码已经生成好了。
接下来写一个Test类,在main函数中输入如下代码:

Stringendpoint="服务器的WebService的地址";
YourWebServiceNameProxyumsp=newYourWebServiceNameProxy(endpoint);
try{
StringresultStr=umsp.opMethod("arg0","arg1");
System.out.println(resultStr);
}catch(Exceptione){
System.out.println("异常");
e.printStackTrace();
}catch(RemoteExceptione){
System.out.println("RemoteException异常");
e.printStackTrace();
}

㈦ C语言是否合适用于Web开发

用C语言开发WEB,我用C++BUILDER6做过,称ISAPI,一般人可能做不起来,有点麻烦;
唯一是速度很快,别人看不到你的源码,掌握了编程套路,也可以开发应用;
缺点:
1。不是解释性语言,做的WEB调试非常麻烦;现在做WEB开发的,用C#、JAVA较多;都是解释性的语言;
2。因为是.DLL的二进制代码,一般商业网站不给予运行的环境,因为网站服务器会被你可能搞瘫,安全性得不到保障;所以,你得自备网页服务器;
3. 得不到技术支持,没人邦你,因为没几个人会这种开发;

㈧ c++如何发布webservice

c+=中使用Axis实现webservice的基本过程:
使用Axis C++开发Web服务的基本过程可以简单描述如下:
1、使用Java语言描述WEB服务
2、使用Java2WSDL工具生成WSDL文件
3、使用WSDL2Ws工具生成服务端代码框架
4、编码实现service,并部署服务
5、使用WSDL2Ws工具生成客户端代码框架
6、编码实现客户端
三、实例演示
这里以一个简单的加法Add服务来说明用Axis C++构建webService的过程。
1、使用Java语言描述WEB服务
Axis C++中我们必须先定义好WSDL后方可生成用来实现该服务的代码框架,这一点与Axis Java不同。生成WSDL方法很多,可以使用Java2WSDL工具,当然也可以手工编写,这里使用Java2WSDL工具生成。下面我们对Add服务用Java语言描述:
public interface Add{
public int add(int x, int y);
}
只要方法的声明即可,不需要实现方法,因此我们使用接口来定义。将上面的代码保存为Add.java。
2、使用Java2WSDL工具生成WSDL文件
javac Add.java (生成.class文件)
java -Djava.ext.dirs=$AXISCPP_HOME/lib/axisjava org.apache.axis.wsdl.Java2WSDL -o Add.wsdl -l"http://localhost/axis/Add" -n"http://localhost/axis/Add" Add

经过上面两步,我们就可以得到Add.wsdl文件。需要说明的是,生成的WSDL文件有时会有错(intf都成了impl),这可能是Java2WSDL工具的Bug。如果出现这种情况,可以和Axis C++自带的例子WSDL文件对比。(注:我花了两天时间才找出这个问题)

3、使用WSDL2Ws工具生成服务端代码框架
有上面的WSDL文件,我们可以用WSDL2Ws工具生成服务端构架。
java -Djava.ext.dirs=$AXISCPP_HOME/lib/axisjava -cp $AXISCPP_HOME/lib/axis/wsdl2ws.jar org.apache.axis.wsdl.wsdl2ws.WSDL2Ws Add.wsdl -lc++ -sserver

-s server 表示生成server代码框架
-l c++ 表示生成C++代码

4、编码实现service,并部署服务
上面生成的文件中,我们只需要实现Add.cpp中的add方法即可。
... ...
xsd__int Add::add(xsd__int Value0, xsd__int Value1)
{
return Value0+Value1;
}
... ...

对代码编译并链接生成.so动态库:
g++ -shared -I$AXISCPP_HOME/include -o libadd.so *.cpp

对服务进行部署,步骤如下:
(1).将生成的libadd.so文件复制至$AXISCPP_DEPLOY/lib目录
(2).复制Add.wsdl文件至$AXISCPP_DEPLOY/wsdls目录
(3).编辑AXISCPP_DEPLOY/etc/server.wsdd文件并在相应位置添加如下内容:
<service name="Add" provider="CPP:RPC" description="Add Service ">
<parameter name="className" value="/apache/axiscpp/lib/libadd.so"/>
<parameter name="allowedMethods" value="add "/>
</service>
(4).重新启动HTTP服务
(5).检查http://localhost/axis是不否有新增的Add服务

为了测试我们发布的Web服务是否工作正常,我们下面利用Axis C++来生成调用该服务的客户端代码并进行测试。

5、使用WSDL2Ws工具生成客户端代码框架
java -Djava.ext.dirs=$AXISCPP_HOME/lib/axisjava -cp $AXISCPP_HOME/lib/axis/wsdl2ws.jar org.apache.axis.wsdl.wsdl2ws.WSDL2Ws Add.wsdl -lc++ -sclient

-s client 表示生成client代码框架
-l c++ 表示生成C++代码

6、编码实现客户端
上述命令生成了Add.hpp, Add.cpp,我们再编写客户端入口程序 AddClient.cpp:
#include "Add.hpp"
#include <stdio.h>

int main(int argc, char** argv)
{
Add ws("http://localhost/axis/Add");
int sum;
if(argc<2)
{
printf("Usage:%s num1 num2\n", argv[0]);
return -1;
}
sum = ws.add(atoi(argv[1]),atoi(argv[2]));
printf("%d\n",sum);
return 0;
}

编译客户端,生成可执行文件:
g++ -I$AXISCPP_HOME/include -L$AXISCPP_DEPLOY/lib -laxis_client -ldl -o Add *.cpp

之后,可以用Add命令测试服务工作是否正常。

㈨ 组态王web发布完了为什么还是不能够从网页打开啊

估计你IE的控件和插件,没有改吧。port80,入站规则是否打开。仔细观察你的DWS主页有个问号,说明没有配置正确。其实告示你,你用破解的6.55,即使web发布AX成功,数据也不同步的。这是6.55破解的问题。