我创建了一个非常简单的服务,它只是将一些文本回显到控制台。该服务只是一个带有方法 echo 的 POJO,只有一个参数:
public class EchoTest
{
public void echo(String myMessage)
{
System.out.println(myMessage);
}
}
这是来自 services.xml:
<service name="EchoTest">
<description>Echo test</description>
<parameter name="ServiceClass">EchoTest</parameter>
<operation name="echo">
<messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</operation>
</service>
此外,我使用一个非常简单的 HTML 表单将数据提交给服务:
<html>
<body>
<form method="post" target="responseFrame" action="../../services/EchoTest/echo">
<input name="myMessage" type="text">
<input value="Send" type="submit"/>
</form>
<iframe width=500 height=500 name="responseFrame"></iframe>
</body>
</html>
我遇到的问题是空格被替换为“+”。例如,如果我输入这样的消息:
Hey you & you - # % @
结果是这样的:
Hey+you+&+you+-+#+%+@
我是否必须以某种方式对其进行编码,或者它不应该像这样?或者可能是设置问题?我正在使用 Tomcat 作为 Web 容器。有关信息,我在 Tomcat 中使用 servlet 过滤器来过滤 IP 地址,在那里我可以看到 myMessage 参数看起来不错,没有 + 符号。