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

JavaWeb学习——SSM框架实现登陆、注册与增删查改

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

JavaWeb学习——SSM框架实现登陆、注册与增删查改
  • 1.各项配置
    • 1. 依赖配置(pom.xml)
    • 2. web配置(web.xml)
    • 3. Spring配置(applicationContext.xml)
    • 4. SpringMV配置(spring-mvc.xml)
    • 5. Mybatis配置
      • 核心文件
      • 实现接口配置(sql语句)
  • 2.视图层
    • 1. 登陆视图层
    • 2. 操作视图层
  • 3.web层
  • 4.service层
    • 1.service接口
    • 2.service接口实现
  • 5.mapper层

1.各项配置 1. 依赖配置(pom.xml)
    

        
        
            junit
            junit
            4.13.2
            test
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
            provided
        

        
        
            mysql
            mysql-connector-java
            8.0.28
            runtime
        

        
        
            org.mybatis
            mybatis
            3.4.6
        
        
            org.mybatis
            mybatis-spring
            1.3.1
        
        
            org.aspectj
            aspectjweaver
            1.8.7
        

        
        
        
            com.alibaba
            druid
            1.2.8
        

        
        
        
            org.jsoup
            jsoup
            1.11.2
        

        
        
        
            com.fasterxml.jackson.core
            jackson-databind
            2.9.0
        
        
        
            com.fasterxml.jackson.core
            jackson-core
            2.9.0
        
        
        
            com.fasterxml.jackson.core
            jackson-annotations
            2.9.0
        

        
        
        
            jstl
            jstl
            1.2
        

        
        
            commons-beanutils
            commons-beanutils
            1.9.4
        


        
        
            org.springframework
            spring-webmvc
            5.1.10.RELEASE
        
        
            org.springframework
            spring-web
            5.1.10.RELEASE
        

        
        
            org.springframework
            spring-context
            5.1.10.RELEASE
        

        
        
            org.springframework
            spring-jdbc
            5.1.10.RELEASE
        
        
            org.springframework
            spring-tx
            5.1.10.RELEASE
        
    

2. web配置(web.xml)

    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        CharacterEncodingFilter
        /*
    

    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        
        1
    
    
    
        DispatcherServlet
        /
    


3. Spring配置(applicationContext.xml)
    
        
        
    

    
    

    
    
        
        
        
        
        
        
        
    

    
    
        
        
        
    

    
    
        
    
4. SpringMV配置(spring-mvc.xml)




    

    
    

    
    


5. Mybatis配置 核心文件




    
    
        
    



实现接口配置(sql语句)



    
        select *
        from user
    

    
        select *
        from food
    

    
        insert into food
        values (null, #{foodName}, #{foodDescription}, #{price}, #{unit})
    

    
        select *
        from user_food uf,
             food f
        where uf.foodId = f.id
          and uf.userId = #{id}
    



2.视图层 1. 登陆视图层

<%--动态获取虚拟目录--%>


你好管理员!

用户名:
密 码:
<%--el获取域中数据--%> <%--验证码--%> ${requestScope.cc_error} <%--用户名与密码--%> ${requestScope.longin_error} <%--登录过滤器--%> ${requestScope.login_msg}
<% //获取所有Cookie Cookie[] cookies = request.getCookies(); boolean flag = false;//没有cookie为lastTime if (cookies != null && cookies.length > 0) { for (Cookie cookie : cookies) { //获取cookie名称 String name = cookie.getName(); if ("lastTime".equals(name)) { flag = true; //有该cookie,不是第一次访问 //响应数据 //获取cookie的value实际时间 String time = cookie.getValue(); //URL解码 time = URLDecoder.decode(time, "utf-8"); %>
欢迎回来,您上次访问的时间为: <%= time%>
<% //设置cookie的value //获取当前时间字符,重新设置Cookie,重新发送Cookie Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = sdf.format(date); //URL编码解决特殊字符无法识别 str_date = URLEncoder.encode(str_date, "utf-8"); cookie.setValue(str_date); //设置cookie存活时间 cookie.setMaxAge(60 * 60 * 24 * 30);//一个月 response.addCookie(cookie); break; } } } if (cookies == null || cookies.length == 0 || flag == false) { //没有 第一次访问 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = sdf.format(date); //URL编码解决特殊字符无法识别 str_date = URLEncoder.encode(str_date, "utf-8"); Cookie cookie = new Cookie("lastTime", str_date); //设置cookie存活时间 cookie.setMaxAge(60 * 60 * 24 * 30);//一个月 response.addCookie(cookie); %>
您好,欢迎首次访问!!!
<% } %>
2. 操作视图层
    


用户信息列表

<%--jstl简化java书写遍历--%>
id 用户名 性别 年龄 电话号 密码 订单 操作
  ${s.count}     ${user.userName}     ${user.gender}     ${user.age}   ${user.tel}   ${user.password}     ${food.foodName} 修改  删除 查询订单
添加用户 返回
3.web层
@Controller
@RequestMapping("/manger")
public class MangerController {

    @Autowired
    private MangerService mangerService;

    @Autowired
    private UserService userService;

    @RequestMapping("/login")
    public String login(Manger manger, HttpSession session, Model model) {
        try {
            Manger manger_login = mangerService.manger_login(manger);
            //登录成功
            //储存用户信息
            session.setAttribute("manger", manger_login.getMangerName());
            //重定向到succes.jsp页面
            return "redirect:/manger/manger.jsp";
        } catch (Exception e) {
            e.printStackTrace();
            //登录失败
            //储存提示信息到request
            model.addAttribute("longin_error", "用户名或密码错误!");
            //转发到登陆页面
            return "/manger/manger_login.jsp";
        }
    }


    @RequestMapping("/findAllUser")
    public String FindAllUser(Model model) {

        List users = mangerService.findAll();
        //将list存入request域
        model.addAttribute("users", users);
        //转发到list.jsp
        return "/manger/allUsers.jsp";
    }

    @RequestMapping("/updateUser")
    public String UpdateUser(User user, String flag, Model model, HttpServletRequest request) {

        userService.updateUser(user);

        if (flag.equals("reg_success")) {
            //用户更新
            model.addAttribute("users", user);
            //移除标志flag
            request.removeAttribute("flag");
            return "/user/userInformation.jsp";
        } else {
            //管理员更新
            //跳转到查询所有的方法
            return "/manger/findAllUser";
            //response.sendRedirect(request.getContextPath() + "/userListServlet");
        }
    }

    @RequestMapping("/addUser")
    public String AddUser(User user){
        //调用Service保存
        mangerService.AddUser(user);
        //跳转(重定向)到userListServle
        return "/manger/findAllUser";
    }

    @RequestMapping("/findUserById")
    public String FindUserById(String id, Model model,String flag){

        User user = userService.findUserById(id);

        //将user存入request
        model.addAttribute("user",user);
        //request.setAttribute("user",user);

        //将标识传递
        model.addAttribute("flag",flag);
        //request.setAttribute("flag",flag);

        //转发到update.jsp
        return "/manger/update.jsp";
        //request.getRequestDispatcher("/update.jsp").forward(request,response)
    }

    @RequestMapping("/findAllFood")
    public String FindAllFood(Model model){
        List foods = mangerService.findAllFood();
        //存入request域中
        model.addAttribute("foods",foods);
        //转发到food.jsp
        return "/manger/allFoods.jsp";
    }

    @RequestMapping("/addFood")
    public String AddFood(Food foods){
        mangerService.AddFood(foods);
        //跳转(重定向)到查询所有食物
        return "/manger/findAllFood";
    }

    @RequestMapping("/findFoodById")
    public String FindFoodById(String id, Model model){
        Food foods = mangerService.findFoodById(id);
        //将user存入request
        model.addAttribute("foods",foods);
        //转发到update.jsp
        return "/manger/updateFood.jsp";
    }

    @RequestMapping("/updateFood")
    public String UpdateFood(Food food){
        mangerService.updateFood(food);
        return "/manger/findAllFood";
    }

    @RequestMapping("/deleteFood")
    public String DeleteFood(String id){
        mangerService.deleteFood(id);
        //跳转(重定向)到checkFood
        return "/manger/findAllFood";
    }
}    
4.service层 1.service接口
public interface MangerService {
    //查询所有用户信息
    public List findAll();

    //保存用户对象User
    void AddUser(User user);

    //实现管理员登陆
    public Manger manger_login(Manger manger);

    //查询菜品信息
    List findAllFood();

    //添加食品
    void AddFood(Food foods);

    Food findFoodById(String id);

    void updateFood(Food food);

    void deleteFood(String id);

}
2.service接口实现
@Service
public class MangerServiceImpl implements MangerService {

    @Autowired
    private MangerMapper mangerMapper;

    @Override
    public List findAll() {
        List userList = mangerMapper.findAll();
        //封装userList中的每一个user的food数据
        for (User user : userList) {
            //获得user的id
            int id = user.getId();
            //将user的id作为参数,查询对应food的集合数据
            List foods =mangerMapper.findFoodsById(id);
            user.setFoods(foods);
        }
        return userList;
    }

    @Override
    public void AddUser(User user) {
        mangerMapper.addUser(user);
    }

    @Override
    public Manger manger_login(Manger manger) {
        return mangerMapper.manger_login(manger);
    }

    @Override
    public List findAllFood() {
        return mangerMapper.findAllFood();
    }

    @Override
    public void AddFood(Food foods) {
        mangerMapper.addFood(foods);
    }

    @Override
    public Food findFoodById(String id) {
        return mangerMapper.findFoodById(Integer.parseInt(id));
    }

    @Override
    public void updateFood(Food food) {
        mangerMapper.updateFood(food);
    }

    @Override
    public void deleteFood(String id) {
        mangerMapper.deleteFoodById(Integer.parseInt(id));
    }

}

5.mapper层
public interface MangerMapper {

    //查询所有用户
    public List findAll();

    //实现登录
    Manger manger_login(Manger manger);

    void addUser(User user);

    //查询所有菜品
    List findAllFood();

    void addFood(Food foods);

    Food findFoodById(int id);

    void updateFood(Food food);

    void deleteFoodById(int id);

    //查中间表
    List findFoodsById(int id);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/851244.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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