A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用自己的话,将登陆功能,增删改查功能,分页查询功能和复杂条件查询功能的业务流程描述出来
(比如点击xx,跳转到xx,进行了xx,完成了xx功能)

37 个回复

倒序浏览
黄志斌
用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的业务流程描述出来
登录功能:先在Servlet获取表单提交的验证码,再调用service的方法,service中获取生成的验证码,与用户输入的验证码进行比对,如果不一致,将错误信息存入,跳转回登录界面,并将错误信息显示在登录界面上;如果一致,则在Servlet中获取表单提交的账号和密码,调用service的方法,service的方法调用dao层中的方法查询数据库,与用户输入的账号密码进行比对,若不一致,则存入错误信息,跳转回登录页面,并显示错误信息;若一致,则存入用户信息,跳转至登录后的页面index.jxp,并将用户名显示在页面上,展示一个欢迎标语。
更新功能:先在Servlet获取表单提交的数据,再调用service方法,service方法调用dao层中的方法,对数据库进行操作,在dao层方法执行完成后,service进行页面跳转,跳转到查询的数据展示页面
分页查询功能:先在Servlet接受请求参数当前页码current和每页的记录数rows,在调用service的方法,创建一个空的PageBean对象,设置currentPage和rows属性,在调用dao层的方法在数据库中查询totalPage等需要的数据,存入PageBean对象中,返回给Servlet,再将这个PageBean存入request中,页面跳转至list.jxp,在页面中进行PageBean对象中信息的获取展示
复杂条件查询功能:也是使用到了PageBean类的功能,和分页查询类似,将表单中提交的数据封装为map集合,dao层中的sql语句则是根据这个map集合中的值动态生成,先定义一个初始化的sql语句,对map集合进行遍历,判断是否有值,再使用字符串拼接生成新的动态sql语句,对数据库进行查询,其他部分大体相同
回复 使用道具 举报
用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的业务流程描述出来:答:以流程图的形式展示:



回复 使用道具 举报
用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的业务流程描述出来
登陆:点击登陆按钮,跳转到LoginServlet,判断验证码以及用户名密码
更新:点击修改,转到FindUserServlet先查询出该记录,然后转到更新页面回填表单,改完后提交到UpdateUserServlet
          更新数据库
分页查询:点击分页组件按钮,跳到FindUserByPageServlet,该Servlet获取请求参数后,传递获取的分页相关参数往下调
                 用相应模块的service和dao,查询数据库,封装PageBean,放入域对象,转发jsp页面展示数据
复杂条件查询:在分页查询基础上,多传递查询条件参数,调整拼凑sql语句
回复 使用道具 举报
登录功能:
      在login.jsp页面点击登录按钮,跳转到LoginServlet,在此先获取了前端提交的数据,接着进行验证码的校验。
校验失败则跳转到login.jsp页面,并提示“验证码错误”。校验成功则调用UserServiceImpl的login()方法进行用户名和密码的校验。
登录成功后跳转到index.jsp页面,登录失败则跳转到login.jsp页面,并提示“用户名或密码错误”。
增加用户功能:
在list.jsp页面点击添加联系人,跳转到add.jsp页面,在此页面点击提交按钮,跳转到AddUserServlet。
  在AddUserServlet,首先设置了编码,接着获取前端页面提交的数据,再将数据封装成对象,之后调用UserServiceImpl的addUser()方法将新的用户信息添加进数据库,最后跳转到UserListServlet,展示所有用户的信息。
删除单个用户记录的功能:
       在list.jsp页面点击删除按钮,跳转到DeleteUserServlet,在此先获取被删除用户的id,之后调用UserServiceImpl的deleteUser ()方法将该用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
删除选中用户记录的功能:
       在list.jsp页面点击删除选中按钮,跳转到DelSelectedServlet,在此先获取被删除用户的id数组,之后调用UserServiceImpl的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
修改单个用户记录的功能:
      在list.jsp页面点击修改按钮,跳转到FindUserServlet,在此先获取被修改用户的id,接着根据用户的id查询用户信息user,然后将user对象存储到request域中,最后跳转到update.jsp页面。
  在update.jsp页面点击提交按钮,跳转到UpdateUserServlet,在此先设置编码,接着获取前端页面提交的数据,并将其封装成对象,然后调用UserServiceImpl的updateUser ()方法将用户的信息更新,最后跳转到UserListServlet,展示所有用户的信息。
删除选中用户记录的功能:
   在list.jsp页面点击删除选中按钮,跳转到DelSelectedServlet,在此先获取被删除用户的id数组,之后调用UserServiceImpl的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
分页查询功能:
   点击页面数字,跳转到FindUserByPageServlet。在此先获取请求的参数currentPage和rows,接着调用UserService获取PageBean对象,然后将PageBean对象存入request域,最后跳转到list.jsp页面进行展示。
   在UserService,定义了findUserByPage方法,接收currentPage和rows作为参数,返回一个PageBean对象。
   
复杂条件查询功能:
   在list.jsp页面,输入查询条件,点击查询按钮,跳转到FindUserByPageServlet。在此,先获取请求的参数,currentPage和rows以及map集合。
   之后在调用UserService的方法findUserByPage()时传入参数map集合。在方法体内调用UserDaoImpl的findTotalCount()方法,该方法对SQL查询语句进行拼接,即在“select count(*) from user where 1 = 1 ”后面拼接上查询条件,如“and name = %李%”,查询姓名中带“李”的用户数量。
   而UserDaoImpl的另一个方法findUsersByPage()同样接收了map集合作为参数,也对SQL语句进行了拼接,从而查询出所有符合条件的用户记录,并将其封装成对象,返回对象集合。
   FindUserByPageServlet在拿到对象集合之后,跳转到list.jsp页面进行展示。
回复 使用道具 举报
王佳盛


登录功能:在登录页面点击登录,会跳转到LoginServlet先判断验证码是否正确。正确则将用户名和密码封装成一个User对象作为参数传递。调用UserServiceImpl中的login方法。Login方法中再调用UserDaoImpl的findUserByUsernameAndPassword方法进行用户名和密码校验。
增加:点击增加联系人,跳转到add.jsp页面。在add.jsp页面点击提交,会跳转到AddUserServlet,AddUserServlet中将用户输入的数据封装成一个User对象作为参数,传递到UserServiceImpl的AddUser方法。AddUser方法中再调用UserDaoImpl中的add方法,将用户信息存储到数据库中。然后AddUserServlet在跳转到UserListServlet
分页查询功能:先在Servlet接受请求参数当前页码current和每页的记录数rows,在调用service的方法,创建一个空的PageBean对象,设置currentPage和rows属性,在调用dao层的方法在数据库中查询totalPage等需要的数据,存入PageBean对象中,返回给Servlet,再将这个PageBean存入request中,页面跳转至list.jxp,在页面中进行PageBean对象中信息的获取展示
复杂条件查询功能:也是使用到了PageBean类的功能,和分页查询类似,将表单中提交的数据封装为map集合,dao层中的sql语句则是根据这个map集合中的值动态生成,先定义一个初始化的sql语句,对map集合进行遍历,判断是否有值,再使用字符串拼接生成新的动态sql语句,对数据库进行查询,其他部分大体相同
回复 使用道具 举报
用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的业务流程描述出来
答:
        登录功能:
                由web层获取前端用户填写的账户密码和验证码,先将验证码和后台生产的验证码进行校验,错误则给出提示信息,并跳转到登录界面;正确则调用service层的方法验证用户信息是否正确,错误则给出提示信息,跳转到登录界面,正确则跳转到index.jsp中;
                service层则调用dao层的方法,查询数据库是否该用户信息;
                dao层用条件查询查询数据的所有账户密码,看是否有符合传递过来的用户信息,并将结果返回调用者;

               
        更新功能:
                获取要修改的数据:
                        由web获取要修改的数据的id,然后调用service层的方法获取相应的数据,再将数据存入request,最后转发到修改页面,以进行修改;
                        service层调用dao层的方法从数据库查询对应id的用户信息,并将数据返回调用者;
                        dao层用条件查询,根据传递过来的id,查出该用户的全部数据,并将数据返回给调用者;

                修改数据:
                        web获取前端修改后的数据的map集合,封装成user对象,调用service层的方法完成数据的修改,然后跳转至显示全部用户数据;
                        service层,调用dao层的方法完成数据的修改;
                        dao层用修改语句,在数据库中,将对应id的数据修改成传递下来的数据;

               
        分页查询功能:
                由web获取前端传递的页码和每页要展示的条数,然后调用service层的方法查询PageBean(封装了所有想要在客户端展示的数据),将查询的结果存入request中,转发给list.jsp进行展示;
                service层根据传递过过来的页码和每页条数,先是调用dao层的方法,获取数据库里的总记录数和该页内所要显示的数据集合,再由每页条数和总记录数计算出总的页码;最后将获得的数据返回给PageBean对象;
                dao层分别用聚合函数和分页查询,从数据库中获取表的总记录数和当前页所要展示的数据集合,并返回给调用者;


        复杂条件查询功能:
                可以直接在分页查询功能进行改进;
                在web层和service层在传递参数时,多传递了一个有关客户端查询条件的请求的map集合;
                dao层在进行数据库查询时,需要先进行map集合的遍历,往sql语句中拼接模糊查询,获取数据库进行筛选后的总记录数和当前页显示的数据集合并返回给调用者;
回复 使用道具 举报
李伟斌用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的月流程描述出来
答:

综合案例.jpg (146.73 KB, 下载次数: 17)

综合案例.jpg
回复 使用道具 举报
李伟斌
用自己的话,描述综合案例的功能。

综合案例.jpg (146.73 KB, 下载次数: 25)

综合案例功能描述

综合案例功能描述
回复 使用道具 举报
李伟斌
综合案例功能描述

综合案例.jpg (146.73 KB, 下载次数: 24)

综合案例.jpg
回复 使用道具 举报

登录功能:
      在login.jsp页面点击登录按钮,跳转到LoginServlet,在此先获取了前端提交的数据,接着进行验证码的校验。
校验失败则跳转到login.jsp页面,并提示“验证码错误”。校验成功则调用UserServiceImpl的login()方法进行用户名和密码的校验。
登录成功后跳转到index.jsp页面,登录失败则跳转到login.jsp页面,并提示“用户名或密码错误”。
增加用户功能:
在list.jsp页面点击添加联系人,跳转到add.jsp页面,在此页面点击提交按钮,跳转到AddUserServlet。
  在AddUserServlet,首先设置了编码,接着获取前端页面提交的数据,再将数据封装成对象,之后调用UserServiceImpl的addUser()方法将新的用户信息添加进数据库,最后跳转到UserListServlet,展示所有用户的信息。
删除单个用户记录的功能:
       在list.jsp页面点击删除按钮,跳转到DeleteUserServlet,在此先获取被删除用户的id,之后调用UserServiceImpl的deleteUser ()方法将该用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
删除选中用户记录的功能:
       在list.jsp页面点击删除选中按钮,跳转到DelSelectedServlet,在此先获取被删除用户的id数组,之后调用UserServiceImpl的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
修改单个用户记录的功能:
      在list.jsp页面点击修改按钮,跳转到FindUserServlet,在此先获取被修改用户的id,接着根据用户的id查询用户信息user,然后将user对象存储到request域中,最后跳转到update.jsp页面。
  在update.jsp页面点击提交按钮,跳转到UpdateUserServlet,在此先设置编码,接着获取前端页面提交的数据,并将其封装成对象,然后调用UserServiceImpl的updateUser ()方法将用户的信息更新,最后跳转到UserListServlet,展示所有用户的信息。
删除选中用户记录的功能:
   在list.jsp页面点击删除选中按钮,跳转到DelSelectedServlet,在此先获取被删除用户的id数组,之后调用UserServiceImpl的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
分页查询功能:
   点击页面数字,跳转到FindUserByPageServlet。在此先获取请求的参数currentPage和rows,接着调用UserService获取PageBean对象,然后将PageBean对象存入request域,最后跳转到list.jsp页面进行展示。
   在UserService,定义了findUserByPage方法,接收currentPage和rows作为参数,返回一个PageBean对象。
   
复杂条件查询功能:
   在list.jsp页面,输入查询条件,点击查询按钮,跳转到FindUserByPageServlet。在此,先获取请求的参数,currentPage和rows以及map集合。
   之后在调用UserService的方法findUserByPage()时传入参数map集合。在方法体内调用UserDaoImpl的findTotalCount()方法,该方法对SQL查询语句进行拼接,即在“select count(*) from user where 1 = 1 ”后面拼接上查询条件,如“and name = %李%”,查询姓名中带“李”的用户数量。
   而UserDaoImpl的另一个方法findUsersByPage()同样接收了map集合作为参数,也对SQL语句进行了拼接,从而查询出所有符合条件的用户记录,并将其封装成对象,返回对象集合。
   FindUserByPageServlet在拿到对象集合之后,跳转到list.jsp页面进行展示。
回复 使用道具 举报
登陆方法:用户点击登录按钮后,先获取前端传过来用户填写的验证码,然后再获取当前服务器的验证码进行判断,如果不一样,则提示验证码错误信息并在登录页面显示。
如果验证码正确,则获取前端过来的数据并且封装为user对象,利用三层架构,调用UserServiceImpl并且创建一个登录方法传递我们封装的uesr对象,
在UserServiceImpl中调用了在UserDaoImpl创建findUserByUsernameAndPassword登录方法并且传递user里获取的账号和密码,传递user对象,
在sql语句如果能查到数据,则返回user,如果查不到数据,则返回null;如果返回的是null,说明登录失败,提示账号或密码错误信息在登陆页面显示。
如果不是null说明登录成功,将用户存入session域并且跳转到登录成功后的页面。

增加功能:用户点击添加联系人后跳转到add.jsp页面,添加了数据点提交后,后端首先获取前端传递过来的数据并且封装为map集合,并且利用BeanUtils.populate这个方法把map的值封装为user对象,调用UserServiceImpl并且
创建一个添加方法addUser传递我们封装的user对象,在UserServiceImpl中调用了在UserDaoImpl创建的add添加方法,把封装在user对象中的值获取出来
并且执行sql语句增加数据,并且添加成功。最后在跳转回findUserByPageServlet页面。

删除功能:用户点击删除按钮后,首先获取前端传递过来的id值,因为id值是唯一且隐藏的,然后调用UserServiceImpl并且创建一个删除方法deleteUser
传递我们获取的id对象,调用在UserDaoImpl创建的delete删除方法并且把参数值id传递到sql语句里,执行该sql语句并且删除数据,最后跳转回到findUserByPageServlet页面。

修改功能:回显:用户点击修改按钮后,会跳转到update.jsp页面,但是首先要回显数据,先获取到前端传递过来的id值,因为id值唯一,然后调用UserServiceImpl并且创建一个
回显方法findUserById传递我们获取的id对象调用在UserDaoImpl创建的findById回显方法把参数id传递到sql语句里,执行该sql语句并且回显数据。
修改功能:修改:用户修改了数据点击提交后,首先获取前端传递过来的数据,并且封装为map集合并且利用BeanUtils.populate这个方法把map的值封装为user对象
调用UserServiceImpl并且创建一个修改方法updateUser传递我们封装的user对象,在UserServiceImpl中调用了在UserDaoImpl创建的update修改方法,
把封装到user对象里的值取出来,并且执行sql语句修改数据,修改成功后跳转findUserByPageServlet页面。

查询功能:调用UserServiceImpl里创建的findAll查询方法,在UserServiceImpl中调用了在UserDaoImpl创建的findAll方法,执行sql语句,查询数据库
并且饭会了一个lists集合,这个集合就是我们从数据库中查询到的数据,将list集合存入request域,转发到list,jsp显示数据。

分页查询:先创建PageBean类,封装了用于展示在jsp页面的分页信息(总记录数,总页码,每页的数据的list集合,当前页面,每页显示的条数),通过前端页面提交当前页面和每页显示条数,
Servlet获取前端页面提交的参数,判断提交参数是否为空,如果为空将当前页码赋值为1,每页显示条数赋值为5,调用Service实现类分页查询方法,参数传递(当前页码和每页条数),
service实现类中调用Dao实现列中查询总条数方法和查询每页显示数据的list集合,将计算出的分页数据逐步设置到空PageBean对象的属性值返回给Servlet,Servlet将封装的PageBean类返回给前端页面,
并调整到lsit.jsp页面,jsp页面用(el表示式和jstl)展示分页数据

复杂条件查询:前端页面点击查询,会将输入框中查询的数据提交到Servlet中,Servlet获取页面提交参数map集合,
调用Service实现类模糊查询方法,Service调用Dao实现类根据前端提交的参数,判断输入框是否有输入数据值,
如果有参数值则进行拼接在sql语句的恒等式后面以(键 like?)方式,再用list集合存储%键对应的值%,
调用执行sql语句参数传递拼接的字符串参数传递(sql语句,new BeanPropertyRowMapper<User>(User.class),集合.toString),
?号的赋值就是一个可变参(数组)将查询到的数据逐步返回,到前端jsp页面进行展示
回复 使用道具 举报
登录功能:在登录页面点击登录,会跳转到LoginServlet先判断验证码是否正确。正确则将用户名和密码封装成一个User对象作为参数传递。调用UserServiceImpl中的login方法。Login方法中再调用UserDaoImpl的findUserByUsernameAndPassword方法进行用户名和密码校验。
      更新功能:由web获取要修改的数据的id,然后调用service层的方法获取相应的数据,再将数据存入request,最后转发到修改页面,以进行修改; service层调用dao层的方法从数据库查询对应id的用户信息,并将数据返回调用者;dao层用条件查询,根据传递过来的id,查出该用户的全部数据,并将数据返回给调用者
        分页查询功能:先在Servlet接受请求参数当前页码current和每页的记录数rows,在调用service的方法,创建一个空的PageBean对象,设置currentPage和rows属性,在调用dao层的方法在数据库中查询totalPage等需要的数据,存入PageBean对象中,返回给Servlet,再将这个PageBean存入request中,页面跳转至list.jxp,在页面中进行PageBean对象中信息的获取展示
        复杂条件查询功能:也是使用到了PageBean类的功能,和分页查询类似,将表单中提交的数据封装为map集合,dao层中的sql语句则是根据这个map集合中的值动态生成,先定义一个初始化的sql语句,对map集合进行遍历,判断是否有值,再使用字符串拼接生成新的动态sql语句,对数据库进行查询,其他部分大体相同
回复 使用道具 举报
登入功能:
1.登入登入界面,点击登入按钮,表单提交到LoginServlet资源
2.LoginServlet资源中进行操作
        1.获取从表单发来的数据之前,先设置编码
        2.获取数据
        3.获取验证码数据,封装对象,进行校验
                1.正确的话可以进行下一步
                2.错误的话直接跳转页面至login.jsp
        4.调用service方法,进行账号密码校验,调用了三层架构模型,至Dao操作数据库
        5.判断是否登入成功
                1.成功的话跳转页面至index.jsp
                2.失败的话回到login.jsp

更新功能:
1.进入list.jsp页面,点击修改,跳转至findUserServlet
2.findUserServlet
        1.获取id
        2.调用service方法,查询用户信息User
        3.将user对象存到request
        4.转发至update.jsp页面
3.进入update.jsp页面,点金提交,跳转至updateUserServlet资源
        1.设置编码
        2.获取表单数据
        3.封装User对象
        4.调用service完成修改
        5.跳转至查询所有的servlet

分页查询功能:
1.点击分页按钮,传递参数当前页码和行数到findUserByPageServlet资源
2.findUserByPageServlet
        1.获取参数
        2.调用service查询获取pagebean
        3.将pagebean存入request
        4.转发list.jsp展示

复杂条件查询功能:
1.list.jsp页面点击查询按钮,资源跳转至findUserByPageServlet
2.findUserByPageServlet资源中
        1.在分页查询的基础上多获取了表单的三个参数
        2.调用service查询获取pagebean
        3.将pagebean存入request
        4.转发list.jsp展示
回复 使用道具 举报
陈鹏涛
用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的业务流程描述出来
登录功能:先在Servlet获取表单提交的验证码,再调用service的方法,service中获取生成的验证码,与用户输入的验证码进行比对,如果不一致,将错误信息存入,跳转回登录界面,并将错误信息显示在登录界面上;如果一致,则在Servlet中获取表单提交的账号和密码,调用service的方法,service的方法调用dao层中的方法查询数据库,与用户输入的账号密码进行比对,若不一致,则存入错误信息,跳转回登录页面,并显示错误信息;若一致,则存入用户信息,跳转至登录后的页面index.jxp,并将用户名显示在页面上,展示一个欢迎标语。
更新功能:先在Servlet获取表单提交的数据,再调用service方法,service方法调用dao层中的方法,对数据库进行操作,在dao层方法执行完成后,service进行页面跳转,跳转到查询的数据展示页面
分页查询功能:先在Servlet接受请求参数当前页码current和每页的记录数rows,在调用service的方法,创建一个空的PageBean对象,设置currentPage和rows属性,在调用dao层的方法在数据库中查询totalPage等需要的数据,存入PageBean对象中,返回给Servlet,再将这个PageBean存入request中,页面跳转至list.jxp,在页面中进行PageBean对象中信息的获取展示
复杂条件查询功能:也是使用到了PageBean类的功能,和分页查询类似,将表单中提交的数据封装为map集合,dao层中的sql语句则是根据这个map集合中的值动态生成,先定义一个初始化的sql语句,对map集合进行遍历,判断是否有值,再使用字符串拼接生成新的动态sql语句,对数据库进行查询,其他部分大体相同
回复 使用道具 举报
将案例中的登陆功能,用户的增删改查功能用自己的话描述(比如点击xx,跳转到xx,进行了xx,完成了xx功能)
1.登陆功能:用户输入信息,点击提交按钮,页面跳转至/loginServlet,在/loginServlet,获取了登陆界面的录入信息,并调用BeanUtils的populate方法,将获取的信息封装进user对象中,再将信息提交至service层中,service层再提交至dao层,再dao层通过查询语句,将查询的结果逐层的返回到/loginServlet,验证通过后跳转至首页2.查询功能:用户在首页点击“查询所有用户信息”,跳转至“UserListServlet”页面,在“UserListServlet”中,通过三层架构思想,用“findALL”方法查询到所有用户信息后,再通过域对象,携带信息跳转至“list.jsp”,展示所有用户信息
3.添加用户功能:点击“添加用户”按钮,页面跳转至“add.jsp”页面,录入完信息,点击提交后,跳转至“addUserServlet”页面,获取了登陆界面的录入信息,并调用BeanUtils的populate方法,将获取的信息封装进user对象中,再将信息提交至service层中,service层再提交至dao层,在dao层通过添加语句,将信息添加至数据库,数据添加完成后,再跳转至“UserListServlet”页面,在“UserListServlet”中,通过三层架构思想,用“findALL”方法查询到所有用户信息后,再通过域对象,携带信息跳转至“list.jsp”,展示所有用户信息
4.删除用户功能:用户点击“删除”按钮,跳转到“DeleteUserServlet”,获取到当前按钮对应的id,通过三层架构思想,利用id值,删除需要删除的数据,再跳转至“UserListServlet”页面,在“UserListServlet”中,通过三层架构思想,用“findALL”方法查询到所有用户信息后,再通过域对象,携带信息跳转至“list.jsp”,展示剩余用户信息

5.修改功能:点击“修改”按钮,跳转至“findUserServlet”页面,获取到当前按钮对应的id,通过三层架构思想,利用id值,查询id对应的user信息,并逐层返回自findUserServlet”页面,再跳转至"update。jsp"页面,回显信息,并设置隐藏域,显示id值,输入完要修改的数据后,点击“提交”按钮,跳转至“"updateUserServlet”页面,获取到当前"update。jsp"页面对应的隐藏id,通过三层架构思想,利用id值,修改需要修改的数据,在“UserListServlet”中,通过三层架构思想,用“findALL”方法查询到所有用户信息后,再通过域对象,携带信息跳转至“list.jsp”,展示修改完后用户的信息
回复 使用道具 举报
前天的用户信息案例总结一下我们做了六个功能
一个列表查询功能 一个登陆 一个添加一个删除一个修改还有一个查询
其中删除功能包括了删除选中的功能,查询功能包括分页查询和复杂条件查询
这些功能大致的流程我先讲下:就是在前端页面中点击相对应的功能组件跳转到相对应的jsp页面从页面中可以提交数据到servlet中或者在jsp中写需要展示的逻辑代码
这就从前端页面获取到了页面中的数据了,在提交的servlet中获取数据封装成对象再调用相对应的方法完成想要的操作,(在这里说一下调用方法就有点意思了,为了符合三层架构的思想,调用方法要先调用Service接口再调用实现类中的方法,接口实现类又得调用Dao接口再调用实现类中的方法,大家都知道Dao是存放有关数据库操作的,其实现类都是需要实现的关于数据库操作的具体SQL语句。) 刚刚说到封装对象调用相对应的方法完成操作了,接下来或者把得到的数据存入共享域中或者是跳转到jsp页面或跳转到Servlet
流程大致上就是这样的流程
我拿个前天没讲的修改功能案例说一下:这个案例的要基于超链接中绑定用户的id来实现。首先修改案例也是先从前端页面中点击修改,然后跳转到update.jsp修改用户界面,数据提交到findUserServlet,跳转的修改用户界面要显示之前的用户信息,所以得回显信息。回显信息就是把提交的数据再回写给update.jsp,这样在findUserServlet中的步奏先获取id,再调用Service中findUserById()这个方法来根据id查询 再把获得到的对象user存入request域中最后回写到update.jsp中,在update.jsp中就可以用el表达式来获取这些信息显示到input框中,这样回显信息就做完了。
接下来就是用户修改,用户修改也要根据绑定id来修改,但是表单中没有提交id到updateUserServlet,这样就需要updateJsp页面中写一个隐藏域用来提交id。修改用户界面修改完之后需要把表单数据提交到updateUserServlet,然后updateUserServlet中的步奏:先设置编码,再获取数据封装成map集合,封装成User对象,调用Service中数据修改方法  跳转到查询所有Servlet。这样用户修改也就做完了。


回复 使用道具 举报
登录功能:先在Servlet获取表单提交的验证码,再调用service的方法,service中获取生成的验证码,与用户输入的验证码进行比对,如果不一致,将错误信息存入,跳转回登录界面,并将错误信息显示在登录界面上;如果一致,则在Servlet中获取表单提交的账号和密码,调用service的方法,service的方法调用dao层中的方法查询数据库,与用户输入的账号密码进行比对,若不一致,则存入错误信息,跳转回登录页面,并显示错误信息;若一致,则存入用户信息,跳转至登录后的页面index.jxp,并将用户名显示在页面上,展示一个欢迎标语。
更新功能:先在Servlet获取表单提交的数据,再调用service方法,service方法调用dao层中的方法,对数据库进行操作,在dao层方法执行完成后,service进行页面跳转,跳转到查询的数据展示页面
分页查询功能:先在Servlet接受请求参数当前页码current和每页的记录数rows,在调用service的方法,创建一个空的PageBean对象,设置currentPage和rows属性,在调用dao层的方法在数据库中查询totalPage等需要的数据,存入PageBean对象中,返回给Servlet,再将这个PageBean存入request中,页面跳转至list.jxp,在页面中进行PageBean对象中信息的获取展示
复杂条件查询功能:也是使用到了PageBean类的功能,和分页查询类似,将表单中提交的数据封装为map集合,dao层中的sql语句则是根据这个map集合中的值动态生成,先定义一个初始化的sql语句,对map集合进行遍历,判断是否有值,再使用字符串拼接生成新的动态sql语句,对数据库进行查询,其他部分大体相同
回复 使用道具 举报
用自己的话,将登陆功能,更新功能,分页查询功能和复杂条件查询功能的业务流程描述出来
       登录功能:Servlet获取表单提交的验证码,调用service的方法,service中获取生成的验证码,与用户输入的验证码进行比对,如果不一致,将错误信息存入,跳转回登录界面,并将错误信息显示在登录界面上;如果一致,则在Servlet中获取表单提交的账号和密码,调用service的方法,service的方法调用dao层中的方法查询数据库,与用户输入的账号密码进行比对,若不一致,则存入错误信息,跳转回登录页面,并显示错误信息;若一致,则存入用户信息,跳转至登录后的页面index.jxp,并将用户名显示在页面上,展示一个欢迎标语。
      更新功能:Servlet获取表单提交的数据,调用service方法,service方法调用dao层中的方法,对数据库进行操作,在dao层方法执行完成后,service进行页面跳转,跳转到查询的数据展示页面
      分页查询功能:Servlet接受请求参数当前页码current和每页的记录数rows,调用service的方法,创建一个空的PageBean对象,设置currentPage和rows属性,在调用dao层的方法在数据库中查询totalPage等需要的数据,存入PageBean对象中,返回给Servlet,再将这个PageBean存入request中,页面跳转至list.jxp,在页面中进行PageBean对象中信息的获取展示
      复杂条件查询功能:使用PageBean类的功能,和分页查询类似,将表单中提交的数据封装为map集合,dao层中的sql语句则是根据这个map集合中的值动态生成,先定义一个初始化的sql语句,对map集合进行遍历,判断是否有值,再使用字符串拼接生成新的动态sql语句,对数据库进行查询.
回复 使用道具 举报
登陆功能流程:

1.获取到前端传递过来的参数,比如用户名,密码,验证码.

2.获取已经存入session中的验证码与前端传递过来的验证码进行校验是否一致

2.1如果验证码一致:则进一步校验用户名和密码是否正确,如果正确就登录成功,跳转到其他页面

2.2如果不正确,则提示用户名或密码错误信息,然后进行转发到登录页面.

3.如果验证码不一致:则直接提示验证码错误信息,然后转发到登录页面



增加功能流程:

1.获取所有参数集合,利用BeanUtils的populate方法封装到user对象中

2.调用service实现类对象,保存user.

2.转发到UserListServlet页面

删除功能流程:

1.获取id值

2.调用service中的删除方法,删除对应的id值

3.跳转到查询所有用户UserListServlet页面

修改功能流程:

1..获取参数的map集合

2.封装为user对象

3.调用Service中的修改方法

4.跳转到查询所有用户UserListServlet页面

查询功能流程:

1.service中定义了增删改方法,dao层调用其中的方法

2.定义sql语句,对sql语句进行增删改查操作.

分页查询功能流程:

web层:

获取前端传递的页码和每页要展示的条数,然后调用service层的方法查询PageBean(封装了所有想要在客户端展示的数据),将查询的结果存入request中,转发给list.jsp进行展示;         

service层:

根据传递过过来的页码和每页条数,先是调用dao层的方法,获取数据库里的总记录数和该页内所要显示的数据集合,再由每页条数和总记录数计算出总的页码;最后将获得的数据返回给PageBean对象;      

dao层分别用聚合函数和分页查询,从数据库中获取表的总记录数和当前页所要展示的数据集合,并返回给调用者;



复杂条件查询功能流程:

在分页条件查询的基础上进行改进,增加一个获取所有参数的map集合

web层:

1.获取前端传递过来的currentPage和rows参数

2.获取前端传递的所有参数,放到一个map集合中

3.判断分页条件,当前页码等于null 或空字符串的时候,设置初始值为1;

每页显示条目等于null 或空字符的时候,设置初始值为分页的显示条目数.

4.调用service中的分页查询方法,参数传递currentPage,rows和map集合,获得一个pageBean对象

5.在request中存入pagebean对象,map集合对象

6.转发到list.jsp中

service层:

创建pagebean对象,将两个浏览器输入(currentPage和rows)服务器输出(totalCount,totalpage,list集合)封装到Pagebean对象中,被web层调用

dao层:

定义sql语句,然后进行map集合的遍历,往sql语句中拼接模糊查询,获取数据库进行筛选后的总记录数和当前页显示的list集合,返回给方法调用者.
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马