免费提供源码,有偿提供服务,支持项目定制。
为了方便理解和说明,这里简单介绍一些执行的流程,方便理解。插入操作的执行流程和说明:
1:插入操作的执行流程如下
1.4:点击添加用户,就到了userinfo_add.jsp这个页面。这里全部使用绝对路径,避免出错。
1.5:当填好页面的信息的时候,提交到这个路径system/userinfoinsert的servlet3.0的后台处理。
UserInfouser=RequestBeanUtils.requestToSimpleBean(request,UserInfo.class);UserInfoServiceservice=newUserInfoServiceImpl();
booleanmark=service.insertUser(user);
1.7:因为添加和修改可以提出公共的方法,作为工具类,所以这里直接调用工具类,省去了dao层()数据处理层。
intcount=DbUtils.addAndUpdate(sql.toString(),list.toArray());
1.8:公共类DbUtils类addAndUpdate()返回返回整形执行的条数。
returnps.executeUpdate();
1.9:service业务逻辑层UserInfoServiceImpl类的insertUser()方法返回布尔类型true或者false;2.0:servlet层返回的用户插入成功或者失败,转发到user_info.jsp这个页面。
booleanmark=service.insertUser(user);//返回提示信息到页面if(mark){request.setAttribute("info","用户信息添加成功!!!");}else{request.setAttribute("info","用户信息添加失败!!!");}//转发到页面(重定向)user_info.jsp提示信息,成功或者失败request.getRequestDispatcher("/view/system/userinfo/user_info.jsp").forward(request,response);2.1:最后转发到user_info.jsp这个页面之后又由js的window转到userinfo_list.jsp这个显示用户信息的页面。
window.location="view/system/userinfo/userinfo_list.jsp";
至此插入操作执行完毕
上面的插入操作的执行流程对应上一篇博客的插入操作。
由于代码的不断增加和修改,这里只写改变的页面和重要的代码,但是详细的代码和注释在上面的连接,里面都包含了,所需的jar包里面也有。
1:查询操作的执行流程如下:
1.1:查询页面,选择好查询条件点击查询。跳转到system/userinfoselect这个路径的servlet3.0页面
//将表单提交的数据封装到javabean的实体类中UserInfouser=RequestBeanUtils.requestToSimpleBean(request,UserInfo.class);//调用service业务逻辑层的代码UserInfoServiceservice=newUserInfoServiceImpl();//调用业务逻辑层的查询方法selectUser,将返回的集合接受List
1.3:servlet3.0调用了service业务逻辑层的selectUser查询方法,之后service业务逻辑层的查询方法,返回到dao层
returndao.selectUser(sql.toString(),list.toArray());
1.4:dao层返回集合returnlist;返回到service业务逻辑层。
1.5:然后service业务逻辑层将集合返回到servlet层。然后servlet层
1.6:servlet3.0层转发到userinfo_list.jsp这个页面,就将查询的结果显示在这个页面。
查询操作由于提取公共的方法不是很方便,所以先从dao层开始写数据访问层:
1:查询操作的数据访问层dao层,需要注意的是这里dao层和service层都是先写接口,后写实现接口,由于接口就几个方法,所以这里省去。
点击系统管理的用户管理就是这个效果:
点击添加用户可以添加用户,显示页面如下所示:
保存信息之后就显示在页面上了,并且是最后插入的信息保存在最上面: