新建project.如下图选择,
建立好以后的目录树如图:
- 添加新的webservice 接口和实现类。
依次选择File->New->Other
如图
点击Finish.
- 双击编辑HelloWorldImpl.java
代码如下:
public class HelloWorldImpl implements IHelloWorld {
public String example(String message) {
return "Hello World" + message;
}
}
- 修改WebRoot->WEB-INF->web.xml如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>oracle.j2ee.ws.StatelessJavaRpcWebService</servlet-class>
<init-param>
<param-name>class-name</param-name>
<param-value>HelloWorldImpl</param-value>
</init-param>
<init-param>
<param-name>interface-name</param-name>
<param-value>IHelloWorld</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
- 添加新的build.xml
内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="war" name="bid">
<property name="app-name" value="bid" />
<property name="release-version" value="20060720-1549" />
<property name="src" value="src" />
<property name="dist" value="dist" />
<property name="classes" value="WebRoot/WEB-INF/classes" />
<property name="lib" value="WebRoot/WEB-INF/lib" />
<property name="ext-lib" value="ext-lib" />
<property name="charset" value="UTF-8" />
<property name="javadoc-packagenames"
value="com.safemore.bid,com.safemore.bid.bid,com.safemore.bid.common,com.safemore.bid.issue,com.safemore.bid.logon,com.safemore.bid.util" />
<patternset id="resources">
<include name="**/*.jpe" />
<include name="**/*.jpeg" />
<include name="**/*.rmf" />
<include name="**/*.wav" />
<include name="**/*.midi" />
<include name="**/*.mid" />
<include name="**/*.au" />
<include name="**/*.gif" />
<include name="**/*.png" />
<include name="**/*.jpg" />
<include name="**/*.aiff" />
<include name="**/*.properties" />
<include name="**/*.txt" />
<include name="**/*.xml" />
</patternset>
<path id="classpath">
<pathelement location="${dist}" />
<fileset dir="${lib}">
<include name="*.jar" />
</fileset>
<fileset dir="${ext-lib}">
<include name="*.jar" />
</fileset>
</path>
<target name="init">
<mkdir dir="${dist}" />
<mkdir dir="${classes}" />
</target>
<target name="war" depends="resource, jar">
<!--touch file="WEB-INF/web.xml"/-->
<war compress="false" destfile="${dist}/${app-name}-${release-version}.war"
webxml="WebRoot/WEB-INF/web.xml">
<fileset dir="WebRoot">
<include name="**/*.*" />
<exclude name="WEB-INF/" />
</fileset>
<fileset dir="WebRoot">
<include name="WEB-INF/*.*" />
<exclude name="WEB-INF/web.xml" />
<exclude name="WEB-INF/${app-name}.xml" />
<!--exclude name="lib/" /-->
</fileset>
<!--lib dir="${lib}"-->
<include name="*.jar" />
<!--/lib-->
<!--
<lib dir="${dist}"> <include name="*.jar" /> </lib>
-->
<classes dir="${classes}" />
</war>
</target>
<target name="resource">
<copy todir="${classes}">
<fileset dir="${src}">
<patternset refid="resources" />
</fileset>
</copy>
</target>
<target name="clean">
<delete dir="${classes}" />
<delete dir="${dist}" />
</target>
<target name="compile" depends="init">
<javac classpathref="classpath" debug="true" deprecation="false"
destdir="${classes}" nowarn="false" encoding="${charset}">
<src path="${src}" />
</javac>
</target>
<target name="jar" depends="resource, compile, init">
<jar compress="false" destfile="${dist}/${app-name}-${release-version}.jar">
<fileset dir="${classes}">
<include name="**/*.class" />
<patternset refid="resources" />
</fileset>
</jar>
</target>
<target name="rejar" depends="clean, jar" />
<target name="ear" depends="war">
<ear destfile="${dist}/${app-name}-${release-version}.ear" appxml="META-INF/application-j1.3.xml">
<fileset dir="${dist}" includes="${app-name}-${release-version}.war" />
</ear>
</target>
<target name="release" depends="war">
<zip destfile="${dist}/${app-name}-${release-version}.zip">
<zipfileset dir="${dist}" includes="${app-name}-${release-version}.war"
prefix="." />
<zipfileset dir="db" includes="*.*" prefix="db" />
<zipfileset dir="doc" includes="*.*" prefix="doc" />
</zip>
</target>
<target name="javadoc">
<javadoc encoding="${charset}" charset="${charset}" access="public"
author="true" destdir="${dist}/javadoc" nodeprecated="false"
nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false"
source="1.5" splitindex="true" use="true" version="true"
packagenames="${javadoc-packagenames}" sourcepath="${src}"
classpathref="classpath" />
</target>
</project>
- 到你的hello的系统目录下面去,在与build.xml同级的目录下面运行ant
- 然后再myeclipse里面刷新工程会看到多了一个dist目录,这下面就有我们需要的war文件。
- 启动oc4j,在浏览器中输入http://localhost:8888/em/
然后登录。
- 依次选择Applications->deploy->
Browse选择你的dist下面的那个war文件,然后选择next.
Application Name随便添,Context-Root填写HelloWorld
然后下一步,deploy.
- 在浏览器中输入http://localhost:7788/HelloWorld/HelloWorld
看看效果。点击 example,parma0输入 Me. 点击 Invoke,怎么样,xml成功返回了。恭喜你,第一个servlet成功了。