javaweb(html-servlet-jdbc-mysql)

348 阅读2分钟

一、准备(先看下两个文章)

  1. 先看如下两个文章:
    1. 第一个jdbc
    2. 第一个javaweb
  2. 需要准备的jar包:
    1. mysql-connector-java-8.0.29.jar(前面2个文章介绍了)
    2. servlet-api.jar(下面介绍)
  3. 环境:
    1. jdk
    2. idea
    3. tomcat
    4. navicat(mysql)

二、开始

  1. 创建一个javaweb项目 第一个javaweb
  2. 在该目录下新建两个文件夹 (classes目录用于存放编译后的class文件,lib用于存放依赖的jar包) image.png 3.配置输出class文件的路径
    File --> Project Structure,进入 Project Structure窗口,点击 Modules --> 选中项目“JavaWeb” --> 切换到 Paths 选项卡 --> 勾选 “Use module compile output path”,将 “Output path” 和 “Test output path” 都改为之前创建的 classes 目录。

image.png 4. 给lib文件添加依赖,可以放一些jar包。 JARs or Directories选择刚才新建的lib文件(可以把lib下的jar包导入项目) image.png 5. 往web/WEB-INF/lib拷贝jar包
1. servlet-api.jar
打开tomcat的安装目录下lib下有servlet-api.jar包
2. mysql-connector-java (前面文章有介绍)

image.png

6.配置页面与servlet的关系web/WEB-INF/web.xml(图中没用到的文件夹先不用看)

image.png

三、开发

1.代码分层

  1. 代码分层(文件夹介绍)
    一般如果代码不分层的话全都写在一块话,不方便维护,而且后续开发人员接手容易看不懂,并且共用的代码和逻辑需要抽取出来,以下是dao模式的一个规范<br/>
    (1)com.ytc.dao
      这个包下面的文件夹是一些持久化的类,就是查询数据库的操作,写sql拿到数据库的数据
      外面业务数据通过传参拼sql然后返回出去数据,这个模块不设计业务操作,根据传参存取数据
    (2)com.ytc.service
      这个模块写一些业务操作,比如前端注册功能传参数,然后servlet获取到参数调用service里注册方法,service处理一下数据格式或者其他一些业务,然后调用dao模块存到数据库
    (3)com.ytc.servlet
      这个模块是前端调用一个接口,这servlet用来获取参数和处理参数的,然后调service
    (4)com.ytc.util
      这个模块是抽取的一些工具类,比如连数据库的JDBC等等
    (5)com.ytc.vo
      这个模块是存实体类,比如用户登录,存用户的实体类,比如dao模式查所有用户,查出来的用户应该 new User(,,,,)等存到实体类,然后返回user对象比较方便
      

2.用户登录

执行流程:servlet接收参数->service处理业务->调用dao传给数据库(可能会用到vo实体和Util工具类)

1.index.html

image.png

2.LoginServlet.java(右键新建servlet新建出来的)

image.png

3.UserService.java

image.png

4.UserDao.java

image.png

5.User.java

image.png

6. JDBCUtil.java(读取文件)

image.png

7. 配置文件 db.properties

image.png 注意:如果UserDao里面的getConntion走了catch的话,没有建立连接需要db.properties改动一下再保存就可以,可能没反应过来

四、实现效果

image.png

image.png