免费提供源码,有偿提供服务,支持项目定制。
自此,基于jsp+servlet开发的用户信息增删该查已经全部写完了,上面的链接是全部的代码,包含增删该查和数据库。
注意点:
1:删除操作使用的是伪删除。即只是不在页面显示了,但是还保存在数据库。
下面先将删除操作的流程过一遍:
1:执行伪删除操作的流程:
1.1:点击删除按钮就是这一句话,提交到system/userinfodelete这个路径的servlet层,注意是doSet()方法。
paramId="userId"paramProperty="userId">
1.2:执行到servlet层之后调用service业务逻辑层伪删除方法。
UserInfoServiceservice=newUserInfoServiceImpl();//调用业务逻辑层的删除方法booleanmark=service.deleteUser(user);
1.3:service层(业务逻辑层)调用工具类的公共方法,
(由于修改和插入可以提取公共的方法,这里做的伪删除其实就是修改也可以使用工具类)
intcount=DbUtils.addAndUpdate(sql,list.toArray());1.4:执行工具类之后又返回到service层(业务逻辑层)
returnps.executeUpdate();
1.5:业务逻辑层又返回true或者false,返回到servlet层。
intcount=DbUtils.addAndUpdate(sql,list.toArray());if(count>0){returntrue;}else{returnfalse;}
1.6:执行servlet层之后之后转发到user_info.jsp页面,并且提示信息
booleanmark=service.deleteUser(user);if(mark){request.setAttribute("info","用户信息删除成功");}else{request.setAttribute("info","用户信息删除失败");}request.getRequestDispatcher("/view/system/userinfo/user_info.jsp").forward(request,response);1.7:执行到user_info.jsp页面之后又转到system/userinfoselect这个servlet层。
window.location="system/userinfoselect";
1.8:转到servlet层之后又转发到userinfo_list.jsp页面。显示当前删除之后的信息。
request.getRequestDispatcher("/view/system/userinfo/userinfo_list.jsp").forward(request,response);至此删除信息已经完成了,不过需要注意的是删除操作到了上面1.8这个步奏的时候执行select语句很特殊,需要注意
StringBuffersql=newStringBuffer("select*fromuser_infowhereuser_mark!=-1");
即做了标识,-1作为伪删除的,所以查询出!=-1的信息,但是数据库里面的信息还是存在的。