SSH开发,使用标准的方式,在显示和保存中都发现数据残留问题。例1
bean:
User
private String name;
get{} set{} ......Action: private String name;
private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User task) {
this.user = user;
}
......
public String getUser() throws Exception {
user=userService.findByName(name);
return "show";
}
......Jsp: <s:if test="user!=null">
<s:property value="user.name" />
</s:if>先在这申明,Spring注入等之类都是正常的,并没有SSH框架衔接问题。
以上代码通过name取得User。这个Action并不是页面打开时就执行的,是需要人为点击才执行。
问题是,第一个用户打开这个页面,默认是没执行getUser的,这个页面也不显示user.name,这正常,当点击执行后,这个用户能正常得到数据。可另一个用户,即使不在同一台电脑,不是同一个帐号,打开同样的页面也显示出这个user.name值了,应该说第2个人并没有执行getUser(),<s:if test="user!=null">不该通过的,感觉好像user成了全体变量了。例2
bean相同
处理User增加操作。Action:(不是同一个Action) private String name;
private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User task) {
this.user = user;
} public String UserAdd() throws Exception {
User user=new User();
user.setName=name;
userService.save(user);
return("add")
{
JSP: ......
<form method="post" action="add" id="add">
<s:textfield name="name"/>
<button type="submit">保 存</button> </form>
.....
同样是2个人不同电脑操作,第一个点保存时一切正常,第2个人,直接打Url:"xxxx/add",发现虽然没输入任何数据,但同样将第1个人的数据重新保存进去了。如果第2个人也正常操作添加记录,这时发现保存了自己相同的2条记录,我跟踪了一下,发现当第2个人保存时,这个UserAdd操作了2次。
真是头大了,不知道错在哪了?
bean:
User
private String name;
get{} set{} ......Action: private String name;
private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User task) {
this.user = user;
}
......
public String getUser() throws Exception {
user=userService.findByName(name);
return "show";
}
......Jsp: <s:if test="user!=null">
<s:property value="user.name" />
</s:if>先在这申明,Spring注入等之类都是正常的,并没有SSH框架衔接问题。
以上代码通过name取得User。这个Action并不是页面打开时就执行的,是需要人为点击才执行。
问题是,第一个用户打开这个页面,默认是没执行getUser的,这个页面也不显示user.name,这正常,当点击执行后,这个用户能正常得到数据。可另一个用户,即使不在同一台电脑,不是同一个帐号,打开同样的页面也显示出这个user.name值了,应该说第2个人并没有执行getUser(),<s:if test="user!=null">不该通过的,感觉好像user成了全体变量了。例2
bean相同
处理User增加操作。Action:(不是同一个Action) private String name;
private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User task) {
this.user = user;
} public String UserAdd() throws Exception {
User user=new User();
user.setName=name;
userService.save(user);
return("add")
{
JSP: ......
<form method="post" action="add" id="add">
<s:textfield name="name"/>
<button type="submit">保 存</button> </form>
.....
同样是2个人不同电脑操作,第一个点保存时一切正常,第2个人,直接打Url:"xxxx/add",发现虽然没输入任何数据,但同样将第1个人的数据重新保存进去了。如果第2个人也正常操作添加记录,这时发现保存了自己相同的2条记录,我跟踪了一下,发现当第2个人保存时,这个UserAdd操作了2次。
真是头大了,不知道错在哪了?
解决方案 »
- MyEclipse启动刚配置tomcat报错
- java 多线程实际应用的问题
- hibernate 更换数据库怎样指定表空间
- struts+spring+hibernate的架沟,如果业务逻辑分析需要使用工厂方法模式,在SPRING的SERVICE里如何实现这个模式
- Hibernate 3.1当中如何实现delete t from id in (1,2,3)这样的操作?
- hql查询的奇怪问题:生成了同样的SQL,但是查询结果不同
- 快疯啦~sos~hibernate+struts~实在看不出来问题在那里~
- 在TOMCAT或者WEBLOGIC中配置的数据库连接池通过JNDI来得到CONNECTION,这么做有安全隐患吗?
- 急急!!!我的服务器(WEBLOGIC)想读写保存在同一局域网的另一机子上的文件!!!!如何做呢????
- 求大神帮忙!!javaweb项目报错:找不到或无法加载主类 enable
- 怎么我的myeclipse导入项目.clss文件乱码,但xml文件没有乱码..
- 很多球,红的,蓝的,绿的……,不定时增加,如何随时知道某种颜色球的数目?给个最简单的方案。
在配置struts的action bean时加一个scope="prototype"
如:<bean id="a" class="cn.x.x.x.xAction" scope="prototype">