當前位置:首頁 » 網頁前端 » 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破解的問題。