基础管理系统实现

本文档介绍了如何使用mybatis、servlet和jsp技术栈开发一个基础管理系统,涵盖了登录、注册、查询所有和添加功能的实现过程。详细阐述了从mapper层到servlet层的代码逻辑,包括实体类、接口、服务层、前端页面和控制器的创建与交互。
摘要由CSDN通过智能技术生成

技术栈:mybatis+servlet+jsp

项目结构:

 介绍:MVC开发模式(模型---视图---控制层)

mapper层(dao层)+pojo层:底层数据----pojo存放实体类;mapper存放接口方法与sql注解

service层:对接口里的方法进行自由组合封装成更复杂的业务逻辑

servlet层(web层):调用service方法,与前端页面实现交互

util包:工具包,对一些固定代码进行封装

resources包:存放mapper配置文件和mybatis核心配置文件

webapp包:存放各种前端页面

一.登录功能

代码逻辑:

        创建user实体类---创建usermapper接口---创建查询所有方法---注解开发---创建userservice---封装查询所有方法---创建login.jsp---提交表单至loginservlet---接收jsp数据,调用service对象方法,根据查询结果转发请求

二.注册功能

代码逻辑:

        usermapper里添加新的方法(按用户名查询+添加)---service里创建两个方法的封装方法---创建register.jsp---提交表单至RegisterServlet---接收jsp数据,调用service方法,根据注册成功与否跳转至不同界面

注册登录功能代码实现:

1.UserMapper

package mapper;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import poji.User;

import java.util.List;

public interface UserMapper {
    //返回User类型结果,该类需导包
    //注解开发,不需要添加;
    //@Select("select * from user where username = #{username} and password = #{password}")
    User select(@Param("username") String username, @Param("password") String password);
    //按用户名查询方法,返回用户对象,单个参数不用添加注解
    User selectByUsername(String username);
    //添加方法,传参可直接传入对象
    void add(User user);
}

2.userservice

package service;

import mapper.ClothesMapper;
import mapper.UserMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import poji.Clothes;
import poji.User;
import util.SqlSessionFactoryutils;

import java.util.List;

//有关用户数据的业务逻辑封装
public class userservice {
    SqlSessionFactory sqlSessionFactory = SqlSessionFactoryutils.getSqlSessionFactory();
    public User select(String username,String password) {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //调用方法封装
        User users = mapper.select(username, password);
        sqlSession.close();
        return users;
    }
    //注册业务需要对按id查询和添加两个数据处理做业务封装
    public boolean register(User user){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        //先查询用户名是否存在
        //注意这里传参为对象,因此获取变量只能调用对象方法
        User u = mapper.selectByUsername(user.getUsername());
        if(u==null){
//用户不存在,可以注册
            mapper.add(user);
            sqlSession.commit();
        }
//用户存在,不能注册
        sqlSession.close();
        return u==null;
    }
}

3.login.jsp 

<%@ page isELIgnored="false" contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
    <link href="css/login.css" rel="stylesheet">
</head>
<body>
<div id="loginDiv" style="height: 350px">
    <form action="/csc/LoginServlet" id="form">
        <h1 id="loginMsg">LOGIN IN</h1>
        <div id="errorMsg">${loginerror} ${register_msg}</div>
        <p>Username:<input id="username" name="username" type="text"></p>

        <p>Password:<input id="password" name="password" type="password"></p>
        <!--给remember赋值后就可以根据值的判断来进行后续数据逻辑处理-->
        <p>Remember:<input id="remember" name="remember" value="1" type="checkbox"></p>
        <div id="subDiv">
            <input type="submit" class="button" value="login up">
            <input type="reset" class="button" value="reset">&nbsp;&nbsp;&nbsp;
            <a href="register.jsp">没有账号࿱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值