您的位置:首页 > 编程语言 > Java开发

[实训]ssh中struts2中的InputStream对象

2017-06-21 23:16 369 查看
在ssh中,inputstream对象一般是ssh自己内部使用的对象,即对请求和相应的形式都是输入输出流的形式。因此在ssh中如果有inputstream对象,或是有getInputStream方法时,可能会出现不按照正常要求来,会自动执行该方法的情况。

在项目中,由于是安卓客户端-服务器后台的形式,所以交互的形式一般都是字符串的形式,因此我在项目中使用的全是将数据输入到inputstream对象中的形式,进而作为响应返回。

配置如下:

在struts.xml的配置文件中,action的请求设置:

<action name="user_*" class="controller.UserInfoAction" method="{1}">
<result type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
</action>


此处返回的结果指定为流的方式,然后随后定义contentType和name,与该类中的对象进行映射。所以,在类中的代码为:

private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}

public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}


即设置一个与result中name相同的对象并设置get和set方法,且主要该类要继承SessionAware接口。

经过上述设置之后,在每个方法中进行响应返回时,便可编写如下代码:

public String changePwd() {
String result = "failed";
int status = -1;
//省略业务流代码
result = status + "";
inputStream = MsgUtil.sendString(result);

return SUCCESS;
}


直接将数据写入inputStream对象,然后返回,响应便被返回。从而完成对一个请求的响应,返回响应字符串。

以上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  struts2.0 ssh InputStrea