67,515
社区成员
发帖
与我相关
我的任务
分享
package com.st.action;
import java.io.ByteArrayInputStream;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.st.yanzhengma.Yanzhengma;
public class YanZhengMaAction extends ActionSupport{
private ByteArrayInputStream inputStream;
public String execute() throws Exception{
Yanzhengma rdnu=Yanzhengma.Instance();
this.setInputStream(rdnu.getImage());//取得带有随机字符串的图片
ActionContext.getContext().getSession().put("random", rdnu.getString());//取得随机字符串放入HttpSession
System.out.println("验证码为:"+rdnu.getString());
return SUCCESS;
}
public void setInputStream(ByteArrayInputStream inputStream) {
this.inputStream = inputStream;
}
public ByteArrayInputStream getInputStream() {
return inputStream;
}
}
.再模拟注册一下.这个类为:package com.st.action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class RegisterAction extends ActionSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private String yanzhengma;
public String getYanzhengma() {
return yanzhengma;
}
public void setYanzhengma(String yanzhengma) {
this.yanzhengma = yanzhengma;
}
public String execute() throws Exception{
String str2=(String)(ActionContext.getContext().getSession().get("random"));
System.out.print("系统验证码:"+str2);
if(yanzhengma.equalsIgnoreCase(str2)){
return "s";
}
return ERROR;
}
}
.无论怎样调试再第二个action里始终得到验证码为空.<body>
<s:form action="register1">
<s:textfield name="yanzhengma" label="验证码"></s:textfield>
<s:submit value="注册"></s:submit>
</s:form>
<%
long time=new Date().getTime();
%>
<img src="rand1.action?d=<%=time %>" onclick="changeValidateCode(this)"/>点击我更换图片<br>
</body>
求大家指教,谢谢