Java电商项目--用户模块

用户模块技术要点:

1、横向越权和纵向越权

2、Token

3、缓存(Guava Cache)

4、高复用服务器响应对象的设计思想和抽象封装

5、String和byte[]之间的转化(MD5加密)

6、session的详细解释

7、门户_用户接口

8、后台_用户接口

用户模块功能:

1.登录

2.用户名校验

3.注册

4.忘记密码

5.提交问题答案

6.重置密码

7.获取用户信息

8.更新用户信息

9.退出登录

一、登录:

1、用户名是否存在

2、如果存在则将密码转换为MD5加密形式

3、校验用户名和密码是否正确

4、正确则将用户放入到Session中 

具体实现代码如下:

Controller层:

@Controller                   //WEB层(用于标注类本身的用途)
@RequestMapping("/user/")     //将请求地址的前面加上/user
public class UserController {
    //按类型进行注入
    //将iUserService注入进来
    @Autowired
    private IUserService iUserService;

    //登陆功能
    //访问地址为login.do 访问方式为POST
    @RequestMapping(value = "login.do",method = RequestMethod.POST)
    @ResponseBody         //自动通过SpingMvc的json插件将返回值转换成json
    public ServerResponse<User> login(String username, String password, HttpSession session) {
        ServerResponse<User> response = iUserService.login(username, password);
        if (response.isSuccess())    //如果登陆成功,将用户放入到Session中
            session.setAttribute(Const.CURRENT_USER, response.getData());
        return response;   //将响应信息返回到前端
    }
}

 interface IUserService :

public interface IUserService {

    ServerResponse<User> login(String username, String password);
}

Service层:

//Service表示业务层
//创建iUserService对象,放入到容器中
@Service("iUserService")
public class UserServiceImpl implements IUserService {
    @Autowired      //注入userMapper
    private UserMapper userMapper;

    @Override
    public ServerResponse<User> login(String username, String password) {   
        int resultCount = userMapper.checkUsername(username); //先查询用户名,看用户名是否存在
        if (resultCount == 0)     //如果查不到的话,用户不存在
            return ServerResponse.createByErrorMessage("用户名不存在");  
        String md5Password = MD5Util.MD5EncodeUtf8(password); //将密码转化为MD5
        User user = userMapper.selectLogin(username, md5Password);  //通过用户名和密码进行查询
        if (user == null) 
            return ServerResponse.createByErrorMessage("密码错误");
        //将密码设置为空
        user.setPassword(org.apache.commons.lang3.StringUtils.EMPTY);
        return ServerResponse.createBySuccess("登录成功", user);
    }
 }

Dao层:

UserMapper:

public interface UserMapper {
    int checkUsername(String username);   //查询用户名,看此用户名是否存在
    //@Param为传入的参数起名字,这样在Dao层可以获得数据
    User selectLogin(@Param("username") String username, @Param("password")String password);
}

<select id="checkUsername" resultType="int" parameterType="string" >
     select count(1) from mmall_user where username = #{username}
</select>

<select id="selectLogin" resultMap="BaseResultMap" parameterType="map">
      SELECT
      <include refid="Base_Column_List" />   <!--只需要查询我们需要的字段-->
      from mmall_user
      where username = #{username}
      and password = #{password}
</select>

二、退出登录:

将用户从Session中 移除

具体实现代码如下:

Controller层:

 @RequestMapping(value = "log
摘要信息: 电子商城系统主要功能包括:用户注册、用户登录、用户查看商城商品、用户购买商品、用户查看购物车并且清空购物车、用户找回账户以及密码、管理员登录、管理员注册、管理员查看用户信息、管理员删除用户信息、管理员删除商品信息、管理员添加商品信息、管理员修改商品信息、退出登录等。 图形可视化界面运行下能够显示系统启动进度条,删除、添加、注册等相关操作时能够弹出窗口加以提示,退出登录或系统时能够做到单击确认退出按钮才退出登录或系统,能够对用户加以提示。 注册用户或是管理员、添加商品信息、购买商品、删除商品或是用户信息、修改商品信息等相关操作时能够判断有无该用户或是商品。 用户在购买商品的时候同时更新商品的库存数量,管理员删除管理员时可以做到同时删除用户的购买信息。 主要内容: 一、项目名称   基于JAVASE的电子商城系统 二、功能要求 1、用户注册 2、用户登录 3、用户查看商品列表 4、用户购买商品 5、用户查看购买商品列表 6、用户清空购物车 7、用户找回账户和密码 8、管理员登录 9、管理员注册 10、查看用户信息 11、查看商品信息 12、删除用户信息 13、删除商品信息 14、添加商品信息 15、修改商品信息 16、退出用户登录 17、退出管理员登录 18、退出商城 三、需求分析 该系统的用户是商城消费者和商城管理者,根据客户的要求,可以注册、登录、购物、查看购物车信息、找回账户和密码,管理员可以对商品信息进行增加、修改、删除操作,可以对用户进行查看和删除。 四、设计思想 1、在控制台与图形可视化界面下运行 2、使用Mysql数据库存取用户登录信息和商品信息 3、使用List存取商品购买信息 4、把程序分为多个类,多个类之间的互相调用。 5、用户或是管理员进行注册、登录时能够提供校验码。 6、用户或是管理员获取数据库信息时能够与数据库进行交互。 7、用户购物要做到简洁明了。 8、用户只需要身份证号码和邮箱地址就能找回账户和密码。 9、注册、删除、修改等操作要有信息提示。 10、用户、管理员进行操作时能够做到操作提示与用户名提示。 11、退出登录或是退出系统时能够做到让用户有所考虑。 五、具体实现   1、技术思路: 界面:基于控制台与图形可视化界面(Swing)实现用户的输入和输出。 程序流程:在函数中利用循环与递归 ,读取用户输入,调用模块实现各个子功能。 2、功能子模块划分: ① 注册模块 ② 登录模块 ③ 查看商品模块(查看商品列表,购买商品) ④ 查看购买商品信息 ⑤ 管理员登录(添加管理员信息,对商品信息进行查看、增加、 修改、删除,对用户信息进行查看、删除,删除用户信息 时能够做到同时删除消费记录) ⑥ 退出系统 六、运行截图 1、商城系统启动进度条(进度条能够做到动态加载): 2、商城主界面: 3、用户注册界面(填写注册信息不符合要求时能够弹窗提示、并 且判断用户名是否重复等): 4、用户登录界面(账户、密码不一致时能弹窗提示): 5、用户服务选择界面(能够提示用户名): 6、购买商品界面(能够判断输入的商品序号是否正确): 7、查看购物车界面(能够一键清空购物车): 8、查看商城商品信息界面: 9、管理员登录界面: 10、找回账户与密码界面: 11、管理员服务选择界面: 12、添加管理员界面: 13、查看用户信息界面: 14、删除用户信息界面: 15、删除商品信息界面: 16、添加商品信息界面: 17、修改商品信息界面: 18、退出账号、管理员登录、商城系统时要有提示:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值