栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

web简单案例-用户信息查询

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

web简单案例-用户信息查询

文章目录
  • 前言
  • 一、所用jar包
  • 二、整体框架
  • 三、用户登录
    • 3.1登录展示
    • 3.2基本思路
    • 3.3LoginServlet代码
  • 四、用户列表展示
    • 4.1 列表模糊查询+分页展示
    • 4.2PageBean对象
    • 4.3基本思路
    • 4.4FindUserByPageServlet代码
    • 4.5UserServiceImpl类中的分页方法
    • 4.6 sql查询
    • 4.7 分页相关的 web界面
  • 五、添加操作
    • 5.1 页面展示
    • 5.2基本思路
    • 5.3AddUserServlet代码
  • 六、修改操作
    • 6.1页面展示
    • 6.2 基本思路
    • 6.3UpdateUserServlet代码
  • 七、删除操作
    • 7.1 通过删除按钮进行删除
    • 7.2 通过删除选中按钮删除
    • 7.3 相应的web页面
    • 7.4 Javascript代码


前言

本文介绍了用户信息登录、增删改查等操作,也包含了相对复杂的删除选中功能、分页功能和复杂条件查询功能。


一、所用jar包


二、整体框架


三、用户登录 3.1登录展示

3.2基本思路

1.获取输入的验证码,与生成的验证码比较,不一致则报出验证码错误,跳转到login.jsp页面,一致则进行下一步。
2.获取输入的用户名与密码,与数据库中的数据比较,有则跳转到list.jsp页面,无则报出用户名或密码错误,跳转到login.jsp页面。
注意:每生成一个验证码都要进行属性的删除,作用是避免验证码重复。

3.3LoginServlet代码
package web.servlet;

import domain.User;
import org.apache.commons.beanutils.BeanUtils;
import service.Impl.UserServiceImpl;
import service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置编码
        request.setCharacterEncoding("utf-8");
        //获取验证码
        String verifycode = request.getParameter("verifycode");
        HttpSession session = request.getSession();
        String checkcode_server = (String) session.getAttribute("CHECKCODE_SERVER");
        //避免验证码重复
        session.removeAttribute("CHECKCODE_SERVER");
        //判断验证码是否一致
        if (!checkcode_server.equalsIgnoreCase(verifycode)){
            //验证码错误
            request.setAttribute("login_msg","验证码错误!");
            request.getRequestDispatcher("/login.jsp").forward(request,response);
            return;
        }
        Map map = request.getParameterMap();
        User user=new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        UserService service=new UserServiceImpl();
        User login_user=service.login(user);
        if (login_user==null){
            //用户名或密码错误
            request.setAttribute("login_msg","用户名或密码错误!");
            request.getRequestDispatcher("/login.jsp").forward(request,response);
        }else {
            //登录成功,返回index.jsp
            request.getSession().setAttribute("user",user);
            response.sendRedirect(request.getContextPath()+"/index.jsp");
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
}


四、用户列表展示 4.1 列表模糊查询+分页展示

4.2PageBean对象

作用:用于存储数据。

4.3基本思路

1.在FindUserByPageServlet中获取当前页码(currentPage)、每页条数(rows)参数和所有参数集合(map)。
2.调用UserServiceImpl实现类中的findUserByPage(currentPage,rows,map)实现数据的分页
3.在findUserByPage(currentPage,rows,map)方法中调用UserDaoImpl中的findUserByPage(currentPage,rows,map)来访问数据库中的数据。
4.转发到list.jsp页面

4.4FindUserByPageServlet代码
package web.servlet;

import domain.PageBean;
import domain.User;
import service.Impl.UserServiceImpl;
import service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map;

@WebServlet("/findUserByPageServlet")
public class FindUserByPageServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //获取参数
        String currentPage = request.getParameter("currentPage");
        String rows = request.getParameter("rows");
        if (currentPage==null||"".equals(currentPage)){
            currentPage="1";
        }
        if (rows==null||"".equals(rows)){
            rows="5";
        }

        Map map = request.getParameterMap();


        //调用函数
        UserService service=new UserServiceImpl();
        PageBean pb=service.findUserByPage(currentPage,rows,map);

        request.setAttribute("pb",pb);
        request.setAttribute("condition",map);
        System.out.println(pb);
        request.getRequestDispatcher("/list.jsp").forward(request,response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
}


4.5UserServiceImpl类中的分页方法
@Override
    public PageBean findUserByPage(String _currentPage, String _rows, Map map) {
        int currentPage = Integer.parseInt(_currentPage);
        int rows = Integer.parseInt(_rows);
        PageBean pb=new PageBean();
        pb.setCurrentPage(currentPage);
        pb.setRows(rows);

        //获取总条数
        int totalCount=dao.findCount(map);
        pb.setTotalCount(totalCount);

        //获取当前总页码
        int totalPage=(totalCount%rows==0)?totalCount/rows:(totalCount/rows+1);
        pb.setTotalPage(totalPage);

        //获取数据
        int start=(currentPage-1)*rows;
        List list=dao.findUserByPage(start,rows,map);
        pb.setList(list);

        return pb;
    }
4.6 sql查询
@Override
    public List findUserByPage(int start, int rows, Map map) {
        String sql="select * from user where 1=1";
        StringBuilder sb=new StringBuilder(sql);
        Set keySet = map.keySet();
        List list=new ArrayList();
        for (String key : keySet) {
            String value = map.get(key)[0];
            if (key.equals("currentPage")||key.equals("rows")){
                continue;
            }
            if (value!=null&&!"".equals(value)){
                sb.append(" and "+key+" like ? ");
                list.add("%"+value+"%");
            }
        }
        sb.append(" limit ?,? ");
        list.add(start);
        list.add(rows);
        List users = template.query(sb.toString(), new BeanPropertyRowMapper(User.class),list.toArray());
        return users;
    }
 
4.7 分页相关的 web界面 
    
编号 姓名 性别 年龄 籍贯 QQ 邮箱 操作
${s.count} ${user.name} ${user.gender} ${user.age} ${user.address} ${user.qq} ${user.email} 修改  删除

五、添加操作 5.1 页面展示

在list.jsp界面中点击添加联系人按钮,进行添加操作

5.2基本思路

1.获取所有参数,封装到User中
2.调用UserServiceImpl中的addUser(User user)方法进行简单sql查询即可
3.跳转到findUserByPageServlet界面

5.3AddUserServlet代码
package web.servlet;

import domain.User;
import org.apache.commons.beanutils.BeanUtils;
import service.Impl.UserServiceImpl;
import service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;

@WebServlet("/addUserServlet")
public class AddUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置编码
        request.setCharacterEncoding("utf-8");
        //获取参数集合
        Map map = request.getParameterMap();
        User user=new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
        //调用函数
        UserService service=new UserServiceImpl();
        service.addUser(user);
        response.sendRedirect(request.getContextPath()+"/findUserByPageServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
}


六、修改操作 6.1页面展示

首先要进行数据回显,点击修改后要看到此人的相关数据。这里需要在表单中设置一个隐藏数据框来存储对应的id。然后通过id查询,将User对象转发到update.jsp,通过对应的value属性显示出来即可。

6.2 基本思路

1.获取所以参数,封装到User对象中
2.调用UserServiceImpl中的updateUser(User user)方法进行简单sql修改即可
3.跳转到findUserByPageServlet界面

6.3UpdateUserServlet代码
package web.servlet;

import domain.User;
import org.apache.commons.beanutils.BeanUtils;
import service.Impl.UserServiceImpl;
import service.UserService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Map;

@WebServlet("/updateUserServlet")
public class UpdateUserServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //设置编码
        request.setCharacterEncoding("utf-8");
        //获取参数
        Map map = request.getParameterMap();
        User user=new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

        //调用函数
        UserService service=new UserServiceImpl();
        service.updateUser(user);
        response.sendRedirect(request.getContextPath()+"/findUserByPageServlet");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doPost(request,response);
    }
}


七、删除操作 7.1 通过删除按钮进行删除

基本思路:获取对应的id,调用UserServiceImpl中的deleteUser(int id)方法进行简单sql删除即可

7.2 通过删除选中按钮删除

基本思路:通过复选框来获取对应的id集合uids,调用UserServiceImpl中的deleteUser(String[] uids)方法,遍历所有的id,然后再调用deleteUser(int id)删除即可

7.3 相应的web页面


7.4 Javascript代码
function deleteUser(id) {
            if (/confirm/i("您确定要删除吗?")){
                location.href="${pageContext.request.contextPath}/delUserServlet?id="+id;
            }
        }
        window.onload=function () {
            document.getElementById("del").onclick=function () {
                var uids = document.getElementsByName("uid");
                var flag=false;
                var count=0;
                for (var i = 0; i 

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号