Ⅰ 如何在Glassfish上部署web应用
一,开发工具的选择
java
EE,或者是JSF应用开发,Netbeans和Glassfish是最好的搭配选择,前者对于后者有非常好的支持。但要注意netbeans的版
本,5.5是不支持glassfish v2的。而netbeans6还很不稳定,所以现阶段最好的版本是netbeans5.5.1。
关于Netbeans下开发Java EE应用,官方有文档介绍:Java EE 应用程序相关教程,这里主要介绍一下生产环境中web应用在glassfish下的部署和配置
二,下载安装Glassfish V2
1)下载Glassfish v2并解压缩。下载完毕后,执行以下命令:
java -Xmx256m -jar glassfish_filename.jar
点击接受弹出的协议后(这里sun比较无聊啊,所有软件都是,明明一个普通压缩包,非压成jar让你看一下协议才行),glassfish会解压到一个名为glassfish的目录里。
2) 修改端口
glassfish是通过ant来安装的,安装脚本在setup.xml下,在里面可以修改一些配置,比如端口等等。在setup.xml中主要有以下设置:
xml 代码
﹤propertyname="domain.name"value="domain1"/﹥域名
﹤propertyname="instance.name"value="server"/﹥
﹤propertyname="admin.user"value="admin"/﹥管理员用户名
﹤propertyname="admin.password"value="adminadmin"/﹥管理员密码
﹤propertyname="admin.port"value="4848"/﹥管理平台端口
﹤propertyname="instance.port"value="8080"/﹥实例端口,也就是通过这个端口来访问web应用
﹤propertyname="orb.port"value="3700"/﹥
﹤propertyname="imq.port"value="7676"/﹥
﹤propertyname="https.port"value="8181"/﹥https端口
根据需要修改以上设置,执行:ant -f setup.xml,如果系统没有安装ant,在glassfish\lib\ant下有一个ant1.6版。安装结束后,进入glassfish/bin下,在控制台执行下面命令启动glassfish:
asadmin start-domain domain1 // domain1是上面设置的domain.name,系统默认domain1
启动结束后,进入http://localhost:8080测试是否已经正确启动
asadmin stop-domain domain1 //停止服务器
三,部署web应用
有三种方式,可以直接将war或ear放在glassfish/domain/autodeploy目录下,glassfish启动后会自动部署。
第二是通过命令asadmin deploy部署应用, 另外 asadmin updeploy 卸载应用。通过asadmin deploy
--help 和 asadmin undeploy --help 获得更多帮助。
第三是通过我推荐的方式,通过glassfish管理控制台进入http://localhost:4848,默认用户admin,密码adminadmin。打开后看到如下界面:
进入左侧菜单, Applications -> Web
Applications,在列表中可以看到已经部署的应用,如要部署新应用,点击deploy按钮,选择本地的war,设定好context
path,点击OK,无论部署成功或失败,都会看到相应的信息提示
注:通过这种方式,可以进行远程部署,只要打开目标服务器上的管理控制台,选择一个本地的war,就可以快速的部署到远程服务器上,非常方便,这也是推荐的原因。对于EJB应用,在Enterprise Applications下部署,方法同上
四,配置jdbc数据源
对于Java EE应用,经常需要事先设定数据源,否则部署时会报javax.naming.NameNotFoundException
配置方法是进入Resources -> JDBC,会看到JDBC Resources和Connection pools
先设定Connection
pools,以MySql为例,点击New,命名为MySqlPools,ResourceType选择
javax.sql.ConnectionPoolDataSource,Database
vendor肯定选择mysql,然后点击next进入下一页面。最主要的是设定Additional
Properties,也就是jdbc连接配置,设定好url, user,
password,其他的保持默认值,也可以根据需要自己添加属性。设定好连接池后,接着设定JDBC
Resources,新建一个JDBC,名称要和你的web应用里的持久化单元采用的数据源的名称一致。
然后再次部署web应用,就会正常运行了。
Ⅱ resin怎么发布war文件
1、拷贝webapps发布法:
拷贝你的war文件到webapps下面
找到resin.xml文件,在web-app-deploy配置path
<resin xmlns="http://caucho.com/ns/resin">
<cluster id="">
...
<host id="">
<web-app-deploy path="webapps"
expand-preserve-fileset="WEB-INF/work/**"/>
</host>
</cluster>
</resin>
2、命令行发布方法:
unix> resinctl deploy xxx.war
Ⅲ javaWeb工程如何发布到网络上 用什么web服务器
JDK 1.4.2 + Myeclipse 6.0(实在经不起诱惑,尝尝鲜) + Tomcat 5.0.28 + AXIS 1.4。 AXIS 1.4包可以在http://ws.apache.org/axis/ 找到。 假设所有的环境你已经搭好,并且AXIS包也已经下好了。OK, Here we go~
解压axis-bin-1_4.zip这个包可以看到webapps目录,双击进入把里面的AXIS文件夹拷到 %TOMCAT_HOME%\webapps目录下,之后拷贝activation.jar、mail.jar、tools.jar到% TOMCAT_HOME%\webapps\axis\WEB-INF\lib目录下。启动tomcat,访问http://localhost:8080/axis/happyaxis.jsp 如果访问成功,恭喜你!基本的配置你已经做完了。
PS:此处的%TOMCAT_HOME%指的是Tomcat的安装目录,至于那另外的三个jar包,J2EE 1.4库里就能找的到。
现在来说一下最关键的Webservice的发布。AXIS提供了两种发布方式,一种是即时发布(Instant Deployment),另外一种是定制发布(Custom Deployment)。即时发布提供了一种非常简单的webservice的发布方式,但是其中限制太多,因此在实际的开发中定制发布才是首选。这里也将会以定制发布为重点来介绍。
1.即时发布 JWS (Java Web Service) Files - Instant Deployment
即时发布提供了一种非常简单发布方式,发布者只要有Java源代码(也就是.java文件),然后把其后缀名改成jws(也就是 java web service的缩写)拷贝到%TOMCAT_HOME%\webapps\axis目录下即完成了所有的发布工作。AXIS的编译引擎会处理接下来的所有事情。下面是一段示例代码:
java 代码
1. public class HelloAXIS {
2.
3. public String Hello(String name){
4. return "AXIS say hello to " + name;
5. }
6. }
把 HelloAXIS.java 文件改成 HelloAXIS.jws 然后拷贝到%TOMCAT_HOME%\webapps\axis目录下,启动Tomcat之后访问 http://localhost:8080/axis/HelloAXIS.jws 如果能看到 Click to see the WSDL这个超链接就说明已经发布成功了,点击进去就可以看到这个Webservice的WSDL描述文件。server端的发布已经完成了,接下来就是编写Client端测试代码了。
java 代码
1. package com.chnic.test;
2.
3. import java.net.URL;
4.
5. import javax.xml.namespace.QName;
6.
7. import org.apache.axis.client.Call;
8. import org.apache.axis.client.Service;
9.
10. public class Test {
11.
12. public static void main(String[] args) throws Exception{
13. String targetEendPoint = "http://localhost:8080/axis/HelloAXIS.jws" ;
14. Service service = new Service();
15. Call call = (Call) service.createCall();
16. call.setOperationName( new QName(targetEendPoint, "Hello" ));
17. call.setTargetEndpointAddress( new URL(targetEendPoint));
18. String result = (String) call.invoke( new Object[]{ "Robert" });
19. System.out.println(result);
20. }
21. }
测试代码很简单,如果熟悉java反射机制的朋友不用两分钟就能看明白。运行后客户端控制台出现 AXIS say hello Robert。测试成功。果然很简单吧。不过在这简单背后却是以牺牲灵活性为代价的。假如你现在手里只有.class 或者一个jar包,jws就不再能满足你的需求了,最要命的就是即时发布不支持带包的类,这点AXIS的用户手册上写的也很明白。
Important: JWS web services are intended for simple web services. You cannot use packages in the pages, and as the code is compiled at run time you can not find out about errors until after deployment. Proction quality web services should use Java classes with custom deployment.
2.定制发布 Custom Deployment - Introcing WSDD
比起即时发布定制发布更加烦琐也更复杂,但是换来的却是更大的灵活性,因此在实际项目中定制发布还是不二的选择。定制发布需要你自己编写一个WSDD (Web Service Deployment Descriptor)文件,这个东东类似与XML稍后会做出介绍。废话不多说,我们来看代码:
java 代码
1. package com.chnic.webservice;
2.
3. public class HelloWorld {
4.
5. public HelloWorld(){
6.
7. }
8.
9. public String hello(String str){
10. return "Hello " + str;
11. }
12.
13. public int add( int a, int b){
14. return a + b;
15. }
16.
17. }
一个带包的很简单的类,在eclipse下编译后按照包名拷到 %TOMCAT_HOME%\webapps\axis\WEB-INF\classes 目录下。以这个类为例,拷贝完之后这个HelloWorld.class的路径就是 %TOMCAT_HOME%\webapps\axis\WEB-INF\classes\com\chnic\webservice。PS: 如果嫌这样太麻烦,可以另外建一个Java Web工程用myeclipse的发布工具发布到Tomcat之后,整体一次性拷贝到websericve的工程中。
接下来就需要编写发布文件deploy.wsdd。到%TOMCAT_HOME%\webapps\axis\WEB-INF 目录下建立这个文件并在其中添加如下内容:
xml 代码
1. < deployment xmlns = http://xml.apache.org/axis/wsdd/
2. xmlns:java = "http://xml.apache.org/axis/wsdd/providers/java" >
3.
4. < service name = "HelloWorld" provider = "java:RPC" >
5. < parameter name = "className" value = "com.chnic.webservice.HelloWorld" />
6. < parameter name = "allowedMethods" value = "*" />
7. </ service >
8. </ deployment >
简单的介绍下各个节点的含义,"HelloWorld"当然是这个webservice的名字,后面紧跟的java:RPC指的是服务类型。这里一共有有4种类型,分别是:RPC, Document, Wrapped 和 Message。有兴趣可以看下 org.apache.axis.providers这个包和子包下面的类的API文档。之后的parameter节点第一个当然是指出具体的类,第二个从字面上也很好理解:允许调用的方法。这里的配置告诉引擎可以调用所有的public方法,当然你也可以自己指定。
编写完配置发布文件之后,cmd打开windows的控制台,进入%TOMCAT_HOME%\webapps\axis\WEB-INF目录下键入如下命令
1. java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
之后控制台返回Processing file deploy.wsdd 和 Done processing 这两段话即说明发布成功。(此时会在同级目录生成一个server-config.wsdd文件 )在这里的AdminClient是AXIS提供的一个客户端管理工具。至于java.ext.dirs的含义可以去了解一下classloader和JVM类装载机制方面的知识,在这里就不多解释。 还有一点要注意的是在发布的时候Tomcat服务必须处于启动状态,否则就会抛出一堆无法连接的异常信息。发布成功之后你可以通过访问 http://localhost:8080/axis/servlet/AxisServlet 来查看你所有的定制发布的服务。
客户端测试代码
1. String targetEendPoint = "http://localhost:8080/axis/services/HelloWorld" ;
2. Service service = new Service();
3. Call call = (Call) service.createCall();
4. call.setTargetEndpointAddress( new URL(targetEendPoint));
5.
6. call.setOperationName( new QName(targetEendPoint, "hello" ));
7. String result = (String) call.invoke( new Object[]{ "Robert" });
8. System.out.println(result);
9.
10. call.setOperationName( new QName(targetEendPoint, "add" ));
11. Integer res = (Integer) call.invoke( new Object[]{ new Integer( 1 ), new Integer( 2 )});
12. System.out.println( "The result is: " + res);
运行测试代码,控制台显示 Hello Robert 和 The result is: 3 这两句话,说明发布成功。仔细观察下发现其实除了那个targetEndpoint 之外,即时发布和定制发布的客户端调用代码基本上都是一样的。定制发布的URL可以在WSDL文件里找到。
Ⅳ 如何将iis6服务器的网站批量迁移到iis7中
要使用一个微软出的免费的一个基于命令行的迁移工具Microsoft Web Deployment Tool,目前这个工具还是Tech Preview 1版,并只支持英文版的IIS6。换言之,如果您的IIS6服务器是Windows server 2003中文版的话,很遗憾,您还不能用这个版本的工具来迁移您的IIS6网站到IIS7中。 安装后,可以在C:/Program Files/Microsoft Web Deploy目录找到msdeploy.exe
接下来简单简单介绍msploy的命令参数:
MSDEPLOY <-verb:<name>> <-source:<object>> [-dest:<object>] [args ...]
-verb:表示要执行动作,比如GetDependencies参数检查被迁移网站所依赖的iis组件,migrate参数将网站迁移到IIS7中。
-source:要进行操作源对象,比如IIS6服务器上的某个网站,或整个 IIS6服务器
-dest:要进行操作的目标对象,比如将IIS6服务器的某个网站备份为某地文件,以便IIS7导入。
更详细的参数说明请运行msdeploy /?来查看
Ⅳ 如何使用web deploy迁移网站
微软官方的解释:Web 部署工具可简化 IIS Web 服务器、Web 应用程序和网站的迁移、管理和部署工作。。
Web 部署工具可简化 IIS Web 服务器、Web 应用程序和网站的迁移、管理和部署工作。管理员可以通过命令行脚本运行 Web
部署工具,同步 IIS 6.0、IIS 7.0 和 IIS 8.0 服务器或将 IIS 6.0 和 IIS 7.0 服务器迁移到 IIS
8.0。利用 Web 部署工具,管理员和委派的用户还可使用 IIS 管理器将 ASP.NET 和 PHP 应用程序部署到 IIS 7.0
和更高版本的服务器。
Ⅵ 怎么将web应用部署到tomcat中,tomcat是否需要配置环境变量
Tomcat部署Web应用方法总结
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。
在下文中$CATALINA_HOME指的是Tomcat根目录。
一、静态部署
静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。
以下3种方式都可以部署:(以PetWeb项目为例说明,PetWeb目录假设是F:/PetWeb)
1.利用Tomcat自动部署
将PetWeb目录拷贝到$CATALINA_HOME/webapps下,然后启动服务器就可以了,Tomcat启动时将自动加载应用。
访问地址如下:http://localhost:8080/PetWeb/
这种方式比较简单,但是web应用程序必须在webapps目录下。Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
2.修改Server.xml文件部署
这种方式可以不必将PetWeb目录拷贝到webapps下,直接在F:/部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,
找到以下内容:
Xml代码:
1. <Context path
="/Pet" reloadable ="false" docBase
="F:/PetWeb" workDir ="d:/Mywebapps/emp" />
path:是访问时的根地址,表示访问的路径;如上述例子中,访问该应用程序地址如下:http://localhost:8080/Pet/
reloadable:表示可以在运行时在classes与lib文件夹下自动加载类包。其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。
docbase:表示应用程序的路径,注意斜杠的方向“/”。
docBase可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。
workdir:表示缓存文件的放置地址
3.增加自定义web部署文件(推荐使用,不需要重启Tomcat
)
这种方式和方法2差不多,但不是在Server.xml文件中添加Context标签,而是在$CATALINA_HOME/conf/Catalina/localhost中添加一个xml文件,如Pet.xml.在Tomcat安装目录conf/Catalina
/localhost下,里面有Tomcat自带的三个应用,随意复制其中的一个XML文件,然后修改docbase指向你自己的应用程序,并把文件名改名,各参数参见方法2中的<Context>标签的参数,或者你也可以自己新建一个XML文件。(注意此文件名将作为Context中的path属性值,不管文件里的path属性值如何设置也是无效的
),将以下内容复制过去,修改相应路径即可。
Xml代码:
1. <Context path
="/Pet" docBase ="F:/PetWeb"
2. debug ="0"
privileged ="true" reloadable ="false"
>
3. </Context>
访问地址如下:http://localhost:8080/Pet/
注: Web应用以.war文件的形式部署
可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。
我们刚才是将PetWeb文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成.war包,然后在部署在服务器上。打包请参考如下步骤:
1、打开命令提示符(cmd)
2、设置jdk环境变量
3、在命令提示符中进入项目文件夹F:/PetWeb后,键入如下命令:jar cvfPet.war */ .
(注意最后有个“. ”)。这样在F:/PetWeb下应该有Pet.war文件。(也可以打包到指定的地方,命令如下:jar
cvf d:/Pet.war */.)
部署Pet.war文件非常简单,将刚才xml文件中的docBase
="F:/PetWeb"更改为docBase ="F:/Pet.war"或者直接将其拷贝到webapps目录下就可以。然后重新启动服务器就可以将Pet.war部署为一个Web应用程序了。
如果你够细心的话你会发现,服务器将Pet.war文件解开,并且在webapps下面又生成了一个Pet文件夹,然后把Pet.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,将xml配置文件中的unpackWAR属性设置为"false"
即可。
二、动态部署
动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOME/webapps/下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME/conf/tomcat-users.xml文件,内容如下:(关于这个文件的更多内容,请参考
Java Web应用程序的安全模型二)
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="coresun" password="coresun"roles="manager"/>
<user username="tomcat" password="tomcat"roles="tomcat"/>
<user username="both" password="tomcat"roles="tomcat,role1"/>
<user username="role1" password="tomcat"roles="role1"/>
</tomcat-users>
然后在浏览器中键入如下地址:http://localhost:8080/
,应该看到一个加菲猫了吧。点击左边的Tomcat Manager链接,提示输入用户名和密码,本文都是coresun,然后可以看到以下页面:
(1)Context Path(option):中输入/Pet
(2)XML Configration file URL中要指定一个.xml文件,比如我们在F:/下建立一个Pet.xml文件,内容如下:<Context reloadable
="false" / >。docBase不用写了,因为要在下一个文本框中填入。或者更简单点,这个文本框什么都不填。
(3)WAR or Directory URL:中键入F:/PetWet或者F:/Pet.war都可以,然后点击Deploy按钮,看看上面是不是已经看到了你web应用程序,名字就是你ContextPath(option):中的名字。
(4)如果你部署.war文件还有更加简单的方式,下面还有个Select WAR file upload点击浏览选择.war文件,然后点击Deploy也可以。
让tomcat只运行conf/server.xml中指定的web应用
可以有以下2种办法:
实现一:
1)将要部署的WEB应用放在webapps以外的路径,
并在server.xml相应的Context 中的docBase指定.
2)删除webapps中的所有文件夹,
以及conf/catalina/localhost下所有xml文件.
注: webapps是server.xml中的Host 元素的appBase属性的值.
实现二:
修改server.xml中Host 元素的属性,
添加或修改:
deployXML ="false"
deployOnStartup ="false"
autoDeploy ="false"
含义:
deployXML ="false"
: 不部署conf/catalina/localhost下的xml相应的WEB应用
deployOnStartup ="false"
:tomcat启动时,
不部署webapps下的所有web应用
autoDeploy ="false"
:避免tomcat在扫描改动时,
再次把webapps下的web应用给部署进来.
注:
Tomcat中webapps目录下不能直接存放网页格式的文件,否则无法访问到该文件,必须有子目录才能访问该网页文件。
例如:我们直接将index.html放在webapps目录中,通过浏览器http://localhost:8080/index.html是无法访问到index.html的。而必须要webapps/petweb/index.html才可以通过http://localhost:8080/petweb/index.html访问到index.html页面。
Ⅶ 如何把java的web工程发布到另外一台服务器上
JDK 1.4.2 + Myeclipse 6.0(实在经不起诱惑,尝尝鲜) + Tomcat 5.0.28 + AXIS 1.4。 AXIS 1.4包可以在 找到。 假设所有的环境你已经搭好,并且AXIS包也已经下好了。OK, Here we go~
解压axis-bin-1_4.zip这个包可以看到webapps目录,双击进入把里面的AXIS文件夹拷到 %TOMCAT_HOME%\webapps目录下,之后拷贝activation.jar、mail.jar、tools.jar到% TOMCAT_HOME%\webapps\axis\WEB-INF\lib目录下。启动tomcat,访问 如果访问成功,恭喜你!基本的配置你已经做完了。
PS:此处的%TOMCAT_HOME%指的是Tomcat的安装目录,至于那另外的三个jar包,J2EE 1.4库里就能找的到。
现在来说一下最关键的Webservice的发布。AXIS提供了两种发布方式,一种是即时发布(Instant Deployment),另外一种是定制发布(Custom Deployment)。即时发布提供了一种非常简单的webservice的发布方式,但是其中限制太多,因此在实际的开发中定制发布才是首选。这里也将会以定制发布为重点来介绍。
1.即时发布 JWS (Java Web Service) Files - Instant Deployment
即时发布提供了一种非常简单发布方式,发布者只要有Java源代码(也就是.java文件),然后把其后缀名改成jws(也就是 java web service的缩写)拷贝到%TOMCAT_HOME%\webapps\axis目录下即完成了所有的发布工作。AXIS的编译引擎会处理接下来的所有事情。下面是一段示例代码:
java 代码
1. public class HelloAXIS {
2.
3. public String Hello(String name){
4. return "AXIS say hello to " + name;
5. }
6. }
把 HelloAXIS.java 文件改成 HelloAXIS.jws 然后拷贝到%TOMCAT_HOME%\webapps\axis目录下,启动Tomcat之后访问 如果能看到 Click to see the WSDL这个超链接就说明已经发布成功了,点击进去就可以看到这个Webservice的WSDL描述文件。server端的发布已经完成了,接下来就是编写Client端测试代码了。
java 代码
1. package com.chnic.test;
2.
3. import java.net.URL;
4.
5. import javax.xml.namespace.QName;
6.
7. import org.apache.axis.client.Call;
8. import org.apache.axis.client.Service;
9.
10. public class Test {
11.
12. public static void main(String[] args) throws Exception{
13. String targetEendPoint = "" ;
14. Service service = new Service();
15. Call call = (Call) service.createCall();
16. call.setOperationName( new QName(targetEendPoint, "Hello" ));
17. call.setTargetEndpointAddress( new URL(targetEendPoint));
18. String result = (String) call.invoke( new Object[]);
19. System.out.println(result);
20. }
21. }
测试代码很简单,如果熟悉java反射机制的朋友不用两分钟就能看明白。运行后客户端控制台出现 AXIS say hello Robert。测试成功。果然很简单吧。不过在这简单背后却是以牺牲灵活性为代价的。假如你现在手里只有.class 或者一个jar包,jws就不再能满足你的需求了,最要命的就是即时发布不支持带包的类,这点AXIS的用户手册上写的也很明白。
Important: JWS web services are intended for simple web services. You cannot use packages in the pages, and as the code is compiled at run time you can not find out about errors until after deployment. Proction quality web services should use Java classes with custom deployment.
2.定制发布 Custom Deployment - Introcing WSDD
比起即时发布定制发布更加烦琐也更复杂,但是换来的却是更大的灵活性,因此在实际项目中定制发布还是不二的选择。定制发布需要你自己编写一个WSDD (Web Service Deployment Descriptor)文件,这个东东类似与XML稍后会做出介绍。废话不多说,我们来看代码:
java 代码
1. package com.chnic.webservice;
2.
3. public class HelloWorld {
4.
5. public HelloWorld(){
6.
7. }
8.
9. public String hello(String str){
10. return "Hello " + str;
11. }
12.
13. public int add( int a, int b){
14. return a + b;
15. }
16.
17. }
一个带包的很简单的类,在eclipse下编译后按照包名拷到 %TOMCAT_HOME%\webapps\axis\WEB-INF\classes 目录下。以这个类为例,拷贝完之后这个HelloWorld.class的路径就是 %TOMCAT_HOME%\webapps\axis\WEB-INF\classes\com\chnic\webservice。PS: 如果嫌这样太麻烦,可以另外建一个Java Web工程用myeclipse的发布工具发布到Tomcat之后,整体一次性拷贝到websericve的工程中。
接下来就需要编写发布文件deploy.wsdd。到%TOMCAT_HOME%\webapps\axis\WEB-INF 目录下建立这个文件并在其中添加如下内容:
xml 代码
1. < deployment xmlns =
2. xmlns:java = "" >
3.
4. < service name = "HelloWorld" provider = "java:RPC" >
5. < parameter name = "className" value = "com.chnic.webservice.HelloWorld" />
6. < parameter name = "allowedMethods" value = "*" />
7. </ service >
8. </ deployment >
简单的介绍下各个节点的含义,"HelloWorld"当然是这个webservice的名字,后面紧跟的java:RPC指的是服务类型。这里一共有有4种类型,分别是:RPC, Document, Wrapped 和 Message。有兴趣可以看下 org.apache.axis.providers这个包和子包下面的类的API文档。之后的parameter节点第一个当然是指出具体的类,第二个从字面上也很好理解:允许调用的方法。这里的配置告诉引擎可以调用所有的public方法,当然你也可以自己指定。
编写完配置发布文件之后,cmd打开windows的控制台,进入%TOMCAT_HOME%\webapps\axis\WEB-INF目录下键入如下命令
1. java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient deploy.wsdd
之后控制台返回Processing file deploy.wsdd 和 Done processing 这两段话即说明发布成功。(此时会在同级目录生成一个server-config.wsdd文件 )在这里的AdminClient是AXIS提供的一个客户端管理工具。至于java.ext.dirs的含义可以去了解一下classloader和JVM类装载机制方面的知识,在这里就不多解释。 还有一点要注意的是在发布的时候Tomcat服务必须处于启动状态,否则就会抛出一堆无法连接的异常信息。发布成功之后你可以通过访问 来查看你所有的定制发布的服务。
客户端测试代码
1. String targetEendPoint = "" ;
2. Service service = new Service();
3. Call call = (Call) service.createCall();
4. call.setTargetEndpointAddress( new URL(targetEendPoint));
5.
6. call.setOperationName( new QName(targetEendPoint, "hello" ));
7. String result = (String) call.invoke( new Object[]);
8. System.out.println(result);
9.
10. call.setOperationName( new QName(targetEendPoint, "add" ));
11. Integer res = (Integer) call.invoke( new Object[]);
12. System.out.println( "The result is: " + res);
运行测试代码,控制台显示 Hello Robert 和 The result is: 3 这两句话,说明发布成功。仔细观察下发现其实除了那个targetEndpoint 之外,即时发布和定制发布的客户端调用代码基本上都是一样的。定制发布的URL可以在WSDL文件里找到。
Ⅷ 如何将Web应用打包成.war文件
将Web应用打包成WAR文件的方法:
(1)在命令行中运用Jar命令
假定有一个Web应用:C:/myHome
myHome/WEB-INF/
myHome/files/
myHome/image/
myHome/src/
myHome/index.jsp
在命令行窗口下执行如下命令:
C:/cd myHome
C:/myHome/jar cvf myhome.war *.*/ .
解释:jar cvf[A-war包名].
war[B-资源文件及文件夹] [C-将要生成war包的目标文件夹]
*.*/(B-)代表当前目录(C:/myHome)下的所有文件及文件夹。.
(C-)表明将要在当前目录中生成war包。
操作完成后,找到C:/myHome下新生成的myhome.war,将其拷入TOMCAT_HOME/webapps/下。然后启动Tomcat即可。
(2)利用IDE工具打包,如Eclipse
右键点击你想打包的文件或者项目,选择export,然后是选择J2EE,在弹出的对话框中选择WAR文件 ,上面有许多选项,还可以选EAR,JAR,个人觉得这个很方便的!
(3)利用ANT工具打包
首先配置好build.xml文件,然后dos下输入ant ...war
选中你的web工程,lomboz J2ee---Deploy Mole,就可以把Web工程发布并打包了!
Ⅸ 如何将IIS6服务器的网站批量迁移到IIS7中
你好,我来为你解答!
要使用一个微软的免费的一个基于命令行的迁移工具Microsoft Web Deployment Tool,目前这个工具还是Tech Preview 1版,并只支持英文版的IIS。换言之,如果您的IIS6服务器是Windows server 2003中文版的话,很遗憾,您还不能用这个版本的工具来迁移您的IIS6网站到IIS7中。 安装后,可以在C:/Program Files/Microsoft Web Deploy目录找到msdeploy.exe
接下来简单简单介绍msploy的命令参数:
MSDEPLOY <-verb:<name>> <-source:<object>> [-dest:<object>] [args ...]
-verb:表示要执行动作,比如GetDependencies参数检查被迁移网站所依赖的iis组件,migrate参数将网站迁移到IIS7中。
-source:要进行操作源对象,比如IIS6服务器上的某个网站,或整个 IIS6服务器
-dest:要进行操作的目标对象,比如将IIS6服务器的某个网站备份为某地文件,以便IIS7导入。
更详细的参数说明请运行msdeploy /?来查看
我用的是小鸟云服务器,这些都是他们工程师告诉我的。
希望能帮到你,望采纳!