黑马旅游网-学习笔记Part04

YangeIT大约 12 分钟旅游项目黑马旅游网Mysql

黑马旅游网-学习笔记Part04

今日目标

  • 项目介绍🍐
  • 导入并启动项目 ✏️
  • 技术选型🍐
  • 创建数据库
  • 用户注册功能 ✏️ ❤️

知识准备

  1. 完成JDK、Idea、Maven、Mysql、Navicat等软件的安装
  2. 能理解据库的库、表、字段的关系以及表和表的关系
  3. 完成sql基本curd语句和mybatis入门案例的代码编写

1. 项目介绍

前言

image
image

黑马旅游网主要是用来查看并选择旅游路线的网站,网站功能有网站账号注册,网站登录,查看旅游路线及收藏旅游路线等。

需要具备基础

  • Java面向对象,html,css,javascript,jquery,mysql,jdbc,DButils,Druid ,servlet,jsp, javamail,ajax,http

实训目标

  • 熟悉并掌握软件开发的基本方法及流程
  • 熟悉并掌握Java面向对象特性及在项目中的使用
  • 熟悉并掌握JavaEE开发技术并整合到项目中的应用
  • 熟悉并掌握web应用程序中的分层体系架构
  • 参与不同阶段的工作任务,体验真实软件项目开发过程积累一定的实际项目开发经验

软件环境:

  1. mysql数据库服务器(5.7+)
  2. SQLyog或者Navicat
  3. JDK1.8以上
  4. Intellij idea

2. 导入并启动项目

导入并启动项目

项目采用前后端分离开发,前端项目运行在nginx中,后端代码运行在tomcat中,如下图:

image
image
  1. 需求分析:首先我们需要阅读需求文档,分析需求,理解需求。
  2. 定制接口:查询接口文档中关于需求的接口的定义,包括地址,参数,响应数据类型等等
  3. 前后台并行开发:各自按照接口文档进行开发,实现需求。然后各自按照接口文档进行测试
  4. 前后段联调测试:前段工程请求后端工程,测试功能

前后端运行流程: 👇 👇

image
image
  1. 已经准备了黑马旅游网的初始代码企业中一般不会等你创建,工程已经存在!,直接导入即可开启开发

3. 技术选型

技术选型

技术选型
技术选型

1). 用户层前端工程师

本项目中在构建门户前端页面,我们会用到Ajax、Html、css、js、jQuery等技术。

2023-04-18-20-41-19
2023-04-18-20-41-19

4. 创建数据库

数据库环境搭建

  1. 从资料中找到travel.sql
image
image

创建数据库travel

创建数据库travel
创建数据库travel
  1. 执行travel.sql文件
image
image
  1. 执行完成后,共创建出6张表
image
image

5. 用户注册功能

用户注册功能

image
image

代码操作

步骤

  • 1.书写RegistUserServlet类,继承HttpServlet,配置路径,接受请求
  • 2.注册表单提交,先进行验证码判断;
  • 3.获取表单的数据,封装表单数据到User对象,调用业务层UserService代码添加用户,根据返回结果,返回给前端Json;
  • 4.在业务层实现类中UserServiceImpl 查询用户名是否存在,如果存在插入失败,如果不存在插入成功
  • 5.存入数据库 - 此时还未邮箱激活,所以状态码status为N;
  • 6.为邮箱发送激活验证码 - 登录邮箱进行验证;
  • 7.验证成功修改当前注册用户的状态为 Y;

1.书写RegistUserServlet类,继承HttpServlet,配置路径,接受请求

RegistUserServlet类



@WebServlet("/registUserServlet")
public class RegistUserServlet extends HttpServlet {
  // 覆写doPost方法
}


并且准备MybatisUtils工具类


/**
 * Mybatis工具类,方便获得SQLSession对象,用来操作数据库
 */
public class MybatisUtils {
	private static SqlSessionFactory sqlSessionFactory = null;
	// 初始化SqlSessionFactory对象
	static {
		try {
			// 使用MyBatis提供的Resources类加载mybatis的配置文件
			Reader reader = 
			Resources.getResourceAsReader("mybatis-config.xml");
			// 构建sqlSession的工厂
			sqlSessionFactory = 
					new SqlSessionFactoryBuilder().build(reader);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static SqlSessionFactory getSqlSessionFactory() {
		return sqlSessionFactory;
	}



	// 获取SqlSession对象的静态方法
	public static SqlSession getSession() {
		return sqlSessionFactory.openSession();
	}
}