实战--第一天

技术选型
    1. web层
        1. Servlet:前端控制器
        2. html:视图层
        3. css:界面优化
        4. js:动态效果
        5. Filter:过滤器
        6. BeanUtils:数据封装
        7. jackson:json序列化工具

    2. Service层
        1. javamail:java发送邮件的工具
        2. Redis:nosql内存数据库
        3. jedis:java的redis客户端

    3. Dao层
        1. Mysql:数据库
        2. Druid:数据库连接池
        3. jdbcTemplate:jdbc的工具

### 创建数据库
    1. 创建数据库:CREATE DATABASE travel
    2. 使用数据库:USE travel
    3. 创建表  运行sql文件

### 功能实现
    1. 注册
        1. 前台效果
            1. 表单校验  检验模板
            2. function checkUsername() {
                //1.获取用户名值
                var username = $("#username").val();
                //2.定义正则  至少8个最多20个
                var reg_username = /^\w{4,20}$/;
                
                //3.判断,给出提示信息
                var flag = reg_username.test(username);
                if(flag){
                    //用户名合法
                    $("#username").css("border","");
                }else{
                    //用户名非法,加一个红色边框
                    $("#username").css("border","1px solid red");
                }
                
                return flag;
            }
            3. 异步提交表单AJAX
                在此使用异步提交表单是为了获取服务器响应的数据,因为前台使用html,不能直接使用servlet相关的域对象,只能使用ajax
    2. 后端    
        1. 编写RegistUserServlet
            1.  //1.获取数据集合
        Map<String, String[]> map = request.getParameterMap();

        //2.封装对象
        User user = new User();
        try {
            BeanUtils.populate(user,map);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }

        //3.调用service完成注册
        UserService service = new UserServiceImpl();
        boolean flag = service.regist(user);
        ResultInfo info = new ResultInfo();
        //4.响应结果
        if(flag){
            //注册成功
            info.setFlag(true);
        }else{
            //注册失败
            info.setFlag(false);
            info.setErrorMsg("注册失败!");
        }

        //将info对象序列化为json
        ObjectMapper mapper = new ObjectMapper();
        String json = mapper.writeValueAsString(info);

        //将json数据写回客户端
        //设置content-type
        response.setContentType("application/json;charset=utf-8");
        response.getWriter().write(json);
            
        2. 编写UserDao以及UserDaoImpl    
        3.   public User findByUsername(String username);

    /**
     * 用户对象保存
     * @param user
     */
    public void save(User user);

    User findByCode(String code);

    void updateStatus(User user);

    User findByUsernameAndPassword(String username, String password);
}

        3. 编写UserService以及UserServiceimpl
            1. 


    2. 登陆
    3. 退出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值