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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 厦门校区 于 2019-2-18 17:25 编辑

用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)

15 个回复

倒序浏览
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)
删除选中功能:
点击条目中的删除按钮,删除选中功能则是将所有的id进行传递,将所有的复选框放进表单中,绑定"删除选中按钮进表单提交",传递数据,在delUserServlet中获取传递过来的Id值数组,将数组作为参数进行传递,调用service层中userservice中的deleteByid方法,id值数组作为参数传递,在deleteByid方法中,遍历id值数组,在循环中调用UserDao中的deleteByid方法,在数据库中完成删除数据操作,完成删除选中功能.
查找功能:
分页查询:在list.jsp中,将当前页面数和每页展示的数据数量两个值进行提交到FindUserByPageServltet中,在FindUserByPageServltet中,获取请求参数,调用service中的FindUserByPage方法,在方法中,创建新的Page对象,并且调用UserDao中的findTotal方法,通过方法调用和计算,获取Page对象的所有数据,将数据封装进对象中返回给FindUserByPageServltet,再将返回的Page对象请求转发给list页面进行展示.完成分页查询功能.
复杂条件查询:首先在list.jsp中,将三个查询条件数据进行提交,主要的操作与分页查询相同,但是在UserDao的查询方法中,将SQL语句进行动态生成,利用字符创拼接的方式,生成sql语句查询,
回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)
删除选中功能
        前端页面同过from表单传递选中的复选框的value的值,到servlet,然后servlet中使用getParameterValues获取所有前端页面传送过去的值,然后调用业务逻辑层(service层),在service层中调用在数据访问层中已经写好的通过ID删除记录的方法,遍历集合,获取ID值,删除选中的内容
分页查询功能,
        前端页面需要向后台传输两个参数,分别为当前的页码,和每页查询的条数,然后到到servlet,然后servlet中,然后在service层中调用在数据访问层中操作数据库的代码,分别查询总条数,并计算总页数,和分页的开始索引和结束索引,查询出指定条数的数据,并且把所有的参数封装成一个分页对象,然后给JSP进行数据展示.
复杂条件查询功能
         前端页面需要向后台传输的参数,分别为当前的页码,和每页查询的条数,.还有模糊查询的条件,然后到到servlet,然后servlet中,然后在service层中调用在数据访问层中操作数据库的代码,分别查询总条数,并计算总页数,和分页的开始索引和结束索引,查询出指定条数的数据,并且把所有的参数封装成一个分页对象,然后给JSP进行数据展示.
回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)。
删除选中用户记录的功能:
   在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集合。在方法体内调用UserDaoImplfindTotalCount()方法,该方法对SQL查询语句进行拼接,即在“select count(*) from user where 1 = 1 ”后面拼接上查询条件,如“and name = %%”,查询姓名中带“李”的用户数量。
   而UserDaoImpl的另一个方法findUsersByPage()同样接收了map集合作为参数,也对SQL语句进行了拼接,从而查询出所有符合条件的用户记录,并将其封装成对象,返回对象集合。
   FindUserByPageServlet在拿到对象集合之后,跳转到list.jsp页面进行展示。

回复 使用道具 举报
(1)删除选中功能
前端页面删除选中按钮绑定form表单提交事件,触发事件会将选中checkbox属性,name对应的键和value对应的值(user的id值)提交到Servlet,Servlet获取id数组,并调用service实现类删除选中方法,Service实现类中遍历提交id数组,并调用Dao实现类中根据id删除用户的方法,方法参数传递转换为int类型的id,Servlet再跳转到查询所有用户的Servlet

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

(3)复杂条件查询功能
前端页面点击查询,会将输入框中查询的数据提交到Servlet中,Servlet获取页面提交参数map集合,调用Service实现类模糊查询方法,Service调用Dao实现类根据前端提交的参数,判断输入框是否有输入数据值,如果有参数值则进行拼接在sql语句的恒等式后面以(键 like?)方式,再用list集合存储%键对应的值%,调用执行sql语句参数传递拼接的字符串参数传递(sql语句,new BeanPropertyRowMapper<User>(User.class),集合.toString),?号的赋值就是一个可变参(数组)将查询到的数据逐步返回,到前端jsp页面进行展示
回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)
删除选中功能:
前端页面设置获取选中删除条目的id,并在我们点击删除选中这个按钮的时候,将这些id提交到DelSelectedServlet,在DelSelectedServlet获取id数组,调用service删除,跳转到查询所有的Servlet。在UserService中遍历id,嗲用dao删除方法,在UserDao里写删除方法。

分页查询功能:
在FindUserByPageServlet里接收请求参数currentPage,rows,调用Service查询PageBean,将PageBean存入request,转发list.jsp展示。
在UserService里常见空的PageBean对象,设置当前页面属性和rows属性,
调用dao查询totalCount总记录数。statr =(currentPage-1)*rows,调用dao'查询list集合,计算总页码,返回PageBean对象。
在UseDao里查询总记录数,分页查询list。

复杂条件查询功能:
  前端页面点击查询,会将输入框中查询的数据提交到Servlet中,在FindUserByPageServlet先获取请求的参数,currentPage和rows以及map集合。
   然后再调用UserService的方法findUserByPage()时传入参数map集合。在方法体内调用UserDaoImpl的findTotalCount()方法,该方法对SQL查询语句进行拼接,即在“select count(*) from user where 1 = 1 ”(1=1为恒等式,不影响结果)后面拼接上模糊查询条件,比如“and name = %李%”,查询姓名中带“李”的用户数量。
   而UserDaoImpl的另一个方法findUsersByPage()同样接收了map集合作为参数,也对SQL语句进行了拼接,从而查询出所有符合条件的用户记录,并将其封装成对象,返回对象集合。
   FindUserByPageServlet在拿到对象集合之后,在前端jsp页面进行展示。
回复 使用道具 举报
删除选中       

前端页面删除选中按钮绑定form表单提交事件,触发事件checkbox将name值和value值提交给servlet.当servlet拿到对应的值就可以判断选中哪些,在执行删除选中.

分页查询

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

复杂功能(模糊查询)

 前端页面点击查询,会将输入框中查询的数据提交到Servlet中,在FindUserByPageServlet先获取请求的参数,currentPage和rows以及map集合。    然后再调用UserService的方法findUserByPage()时传入参数map集合。在方法体内调用UserDaoImpl的findTotalCount()方法,该方法对SQL查询语句进行拼接,即在“select count(*) from user where 1 = 1 ”(1=1为恒等式,不影响结果)后面拼接上模糊查询条件,比如“and name = %李%”,查询姓名中带“李”的用户数量。    而UserDaoImpl的另一个方法findUsersByPage()同样接收了map集合作为参数,也对SQL语句进行了拼接,从而查询出所有符合条件的用户记录,并将其封装成对象,返回对象集合。    FindUserByPageServlet在拿到对象集合之后,在前端jsp页面进行展示。
回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)
完成删除选中功能:  在(list.jsp)页面点击删除选中按钮,跳转到DeleteUserServlet,在此先获取被删除用户的id数组,之后调用UserServiceImpl的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。

分页查询功能: 点击分页导航栏数字,跳转到FindUserByPageServlet。在此先获取请求的参数currentPage和rows,接着调用UserService获取PageBean对象,然后将PageBean对象存入request域,最后跳转到list.jsp页面进行展示。
   在UserService,定义了findUserByPage方法,接收currentPage和rows作为参数,返回一个PageBean对象。

复杂查询功能: (list.jsp)页面点击查询,会将输入框中查询的数据提交到Servlet中,Servlet获取页面提交参数map集合,调用Service实现类模糊查询方法,Service调用Dao实现类根据前端提交的参数,判断输入框是否有输入数据值,如果有参数值则进行拼接在sql语句的恒等式后面以(键 like?)方式,再用list集合存储%键对应的值%,调用执行sql语句参数传递拼接的字符串参数传递(sql语句,new BeanPropertyRowMapper<User>(User.class),集合.toString),?号的赋值就是一个可变参(数组)将查询到的数据逐步返回,到前端jsp页面进行展示
回复 使用道具 举报
续扬 中级黑马 2019-2-20 17:48:10
9#
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)
删除选中功能:在list.jsp页面点击删除按钮,绑定选中条目的id,跳转到DelSelectedServlet获取id数组,调用UserServiceImpl里的方法先遍历id,之后调用Userdao里的删除方法将信息从数据库删除,删除后返回到DelSelectedServlet,DelSelectedServlet跳转回查询页面,显示用户列表
分页查询功能:创建PageBean分页对象,存储关于分页的参数信息,点击页码跳转到FindUserByPageServlet接收请参数,currentPage,rows,调用UserServiceImpl里的方法调用userdao里的查询总记录数和分页查询方法,计算出的数据设置到PageBean对象的属性值,存入到request域中,跳转回查询页面,显示用户列表
复杂条件查询功能:在list.jsp页面点击查询按钮,获取请求参数map集合,跳转到FindUserByPageServlet。调用userService的方法调用UserDao里的方法判断是否有输入的值,如果有拼接字符串,调用sql语句查询数据,返回到FindUserByPageServlet,跳转回查询页面,显示用户列表

回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)

删除选中功能:在list.jsp页面点击删除按钮,绑定选中条目的id,跳转到DelSelectedServlet获取id数组,调用UserServiceImpl里的方法先遍历id,之后调用Userdao里的删除方法将信息从数据库删除,删除后返回到DelSelectedServlet,DelSelectedServlet跳转回查询页面,显示用户列表

分页查询功能:创建PageBean分页对象,存储关于分页的参数信息,点击页码跳转到FindUserByPageServlet接收请参数,currentPage,rows,调用UserServiceImpl里的方法调用userdao里的查询总记录数和分页查询方法,计算出的数据设置到PageBean对象的属性值,存入到request域中,跳转回查询页面,显示用户列表

复杂条件查询功能:在list.jsp页面点击查询按钮,获取请求参数map集合,跳转到FindUserByPageServlet。调用userService的方法调用UserDao里的方法判断是否有输入的值,如果有拼接字符串,调用sql语句查询数据,返回到FindUserByPageServlet,跳转回查询页面,显示用户列表
回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)

删除选中功能:在list.jsp页面点击删除按钮,绑定选中条目的id,跳转到DelSelectedServlet获取id数组,调用UserServiceImpl里的方法先遍历id,之后调用Userdao里的删除方法将信息从数据库删除,删除后返回到DelSelectedServlet,DelSelectedServlet跳转回查询页面,显示用户列表

分页查询功能:创建PageBean分页对象,存储关于分页的参数信息,点击页码跳转到FindUserByPageServlet接收请参数,currentPage,rows,调用UserServiceImpl里的方法调用userdao里的查询总记录数和分页查询方法,计算出的数据设置到PageBean对象的属性值,存入到request域中,跳转回查询页面,显示用户列表

复杂条件查询功能:在list.jsp页面点击查询按钮,获取请求参数map集合,跳转到FindUserByPageServlet。调用userService的方法调用UserDao里的方法判断是否有输入的值,如果有拼接字符串,调用sql语句查询数据,返回到FindUserByPageServlet,跳转回查询页面,显示用户列表
回复 使用道具 举报
注意三层架构的思想的实现:
1. 界面层(表示层/web层):用户看的得界面。jsp文件
2. 业务逻辑层(servlet层):处理业务逻辑的。
3. 数据访问层(dao层):操作数据存储文件。

(1)删除选中功能
前端页面删除选中按钮绑定form表单提交事件,触发事件会将选中checkbox属性,name对应的键和value对应的值(user的id值)提交到Servlet,Servlet获取id数组,并调用service实现类删除选中方法,Service实现类中遍历提交id数组,并调用Dao实现类中根据id删除用户的方法,方法参数传递转换为int类型的id,Servlet再跳转到查询所有用户的Servlet

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

(3)复杂条件查询功能
前端页面点击查询,会将输入框中查询的数据提交到Servlet中,Servlet获取页面提交参数map集合,调用Service实现类模糊查询方法,Service调用Dao实现类根据前端提交的参数,判断输入框是否有输入数据值,如果有参数值则进行拼接在sql语句的恒等式后面以(键 like?)方式,再用list集合存储%键对应的值%,调用执行sql语句参数传递拼接的字符串参数传递(sql语句,new BeanPropertyRowMapper<User>(User.class),集合.toString),?号的赋值就是一个可变参(数组)将查询到的数据逐步返回,到前端jsp页面进行展示


回复 使用道具 举报
用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)

删除选中功能:在list.jsp页面点击删除按钮,绑定选中条目的id,跳转到DelSelectedServlet获取id数组,调用UserServiceImpl里的方法先遍历id,之后调用Userdao里的删除方法将信息从数据库删除,删除后返回到DelSelectedServlet,DelSelectedServlet跳转回查询页面,显示用户列表

分页查询功能:创建PageBean分页对象,存储关于分页的参数信息,点击页码跳转到FindUserByPageServlet接收请参数,currentPage,rows,调用UserServiceImpl里的方法调用userdao里的查询总记录数和分页查询方法,计算出的数据设置到PageBean对象的属性值,存入到request域中,跳转回查询页面,显示用户列表

复杂条件查询功能:在list.jsp页面点击查询按钮,获取请求参数map集合,跳转到FindUserByPageServlet。调用userService的方法调用UserDao里的方法判断是否有输入的值,如果有拼接字符串,调用sql语句查询数据,返回到FindUserByPageServlet,跳转回查询页面,显示用户列表
回复 使用道具 举报

用自己的话,将今天的案例的功能流程描述出来(删除选中功能,分页查询功能,复杂条件查询功能)

答:
  删除选中用户记录的功能:
   在list.jsp页面点击删除选中按钮,跳转到DelSelectedServlet,在此先form表单中获取被删除用户的id组成的数组,之后调用UserServiceImpl的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。

分页查询功能:
   点击页面数字或者《,》,跳转到FindUserByPageServlet。在此先获取请求的参数currentPage和rows,接着调用UserService获取PageBean对象(里面保存页面展示的相关数据,这些数据的获取是在Dao层中获取的),然后将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页面进行展示。
回复 使用道具 举报

        1.删除选中功能
        在点击删除选中按钮后,跳转到DelSelectedServlet,在此先获取被删除用户的id数组,之后调用Service层的deleteUsers ()方法将所选中用户的信息从数据库中删除,最后跳转到UserListServlet,展示所有用户的信息。
        2.分页查询功能
        先创建PageBean类,封装了用于展示在jsp页面的分页信息(总记录数,总页码,每页的数据的list集合,当前页面,每页显示的条数),通过前端页面提交当前页面和每页显示条数,Servlet获取前端页面提交的参数,判断提交参数是否为空,如果为空将当前页码赋值为1,每页显示条数赋值为5,调用Service实现类分页查询方法,参数传递(当前页码和每页条数),service实现类中调用Dao实现列中查询总条数方法和查询每页显示数据的list集合,将计算出的分页数据逐步设置到空PageBean对象的属性值返回给Servlet,Servlet将封装的PageBean类返回给前端页面,并调整到lsit.jsp页面,jsp页面用(el表示式和jstl)展示分页数据
        3.复杂条件查询功能
        前端页面点击查询,会将输入框中查询的数据提交到Servlet中,Servlet获取页面提交参数map集合,调用Service实现类模糊查询方法,Service调用Dao实现类根据前端提交的参数,判断输入框是否有输入数据值,如果有参数值则进行拼接在sql语句的恒等式后面以(键 like?)方式,再用list集合存储%键对应的值%,调用执行sql语句参数传递拼接的字符串参数传递(sql语句,new BeanPropertyRowMapper<User>(User.class),集合.toString),?号的赋值就是一个可变参(数组)将查询到的数据逐步返回,到前端jsp页面进行展示
回复 使用道具 举报


分别将用户注册,用户激活,的业务逻辑用自己的话描述出来

1.用户注册
  这次我们主要是在html上进行数据的提交,因此使用ajax方式,在servlet层接收数据并封装到user对象中,然后调用service和dao中的方法,根据提交的user对象的username去查询是否存在相同的用户名,不存在的时候就进行数据的存储并返回true,当存在的时候反馈信息给serlvet并存储信息到信息对象中并返回false,根据不同的返回Boolean值进行不一样的操作,true:转发页面到恭喜注册成功,false:在页面显示注册失败。

2.用户激活
  判断用户的激活主要通过数据库中的激活状态Status来判断,而激活用户的时候我们用来判断是哪个用户名激活账号是通过激活邮件携带的uuid来锁定用户名的,所以在把将用户信息保存到数据库的时候需要创建唯一的uuid,并把用户的status状态都修改为N,然后在发送邮件给用户的邮箱,当用户进行点击邮件上的超链接的时候会跳转到servlet中,调用service和dao层中的方法修改数据库中对应用户的status值为Y,最后返回登入界面(这里可以延申思考的是在登入界面的时候需要对激活状态进行判断)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马