Java Web 三层架构入门

本文面向于具有一定Java基础并且会基本使用相关开发工具的朋友
意在能对Java web有一个基本了解

学完本文你将掌握
基本的Java web三层架构模式
前后端是如何相互交流的

在开始之前希望你已经安装并配置好相关的基础环境
我们需要用到:Java、MySQL、Tomcat

如果你已经准备好了,那让我们开始吧!!!

Steps1、项目的创建和相关依赖包的导入

首先让我们创建一个全新的Java web项目,创建项目时你需要勾选web application

在这里插入图片描述

创建完成后你将看到如下项目结构

在这里插入图片描述

如果你的External Libraries中没有Java和Tomcat资源,请检查IDEA的相关配置,这里不再赘述

接下来我们导入相关依赖

在这里插入图片描述

如果你没有MySql驱动包请前往这个链接https://dev.mysql.com/downloads/connector/j/ 下载

至此Steps1完成

Steps2、项目的基本框架搭建

在这里插入图片描述
知识点浅讲1
经典的Java web的三层架构:
WEB层:包含JSP和Servlet等与WEB相关的内容,多数内容往往是用户能直接接触到的
业务层:业务层中不包含JavaWeb API,它只关心业务逻辑,在本例中它的存在感可能是最低的,但是在大型项目中它往往是最复杂了
数据层:封装了对数据库的访问细节
浅讲1完

本例中以web和servlet包下的内容作为WEB层,service包下的内容为业务层,dao包下的内容作为数据层,domain包下的内容对应相关数据库表

创建Servlet可以使用如下方法
在这里插入图片描述

如果是直接创建的Java class应该确保你的Servlet继承了HttpServlet,并且实现了doPost()和doGet()方法

知识点浅讲2
关于doPost()和doGet()方法:
请尝试回想一下表单的提交方式,如果有印象估计你已经能猜到这两个方法的作用了
对doPost()方法就是用来处理post提交的而doGet()方法就是用来处理get提交的
浅讲2完

如果你使用的是Servlet3.0以下的版本,这时是不能使用@WebServlet()注解的,你需要在web.xml中做以下配置
在这里插入图片描述

知识点浅讲3
服务器是怎么通过浏览器发出的URL得知该访问那个Servlet的?
当你启动Tomcat服务,在地址栏中输入http://localhost:8080/UserServlet并按下回车后会发生什么?

在这里插入图片描述
虽然什么都没有,但这时其实你已经访问到了servlet包下的UserServlet注意到了吗这里的/UserServlet刚好对应上了中标签的内容。当匹配到相应的后服务器会根据中的内容去的中找到能与之匹配的值,然后通过找到相应的servlet,如果找不到则会出现404错误。而Servlet3.0后注解的作用只是为了简化配置
浅讲3完

最终的类应该如下图,servlet3.0以下则没有@WebServlet()
在这里插入图片描述

接下来我们需要提供各层之间的依赖关系和基本内容

我们从最底层的UserDao类(dao层)开始。因为其作用是对数据库的操作,所以我们先让它能连接上数据库
package dao;  
  
import domain.User;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.SQLException;  
  
public class UserDao {
     
    /** 
     * 1、给出链接数据库的三大参数 
     * url、username、password 
     */  
    //如果你的MySQL为默认设置那么jdbc:mysql://localhost:3306/为固定写法,后面的practice为数据库名  
    private static final String url = "jdbc:mysql://localhost:3306/practice";  
    //这里根据自己的MySQL用户名填写  
    private static final String username = "";  
    //这里根据自己的MySQL密码填写  
    private static final String password = "";  
  
    private static Connection connection;  
    private static PreparedStatement preparedStatement;  
  
    static {
     
        try {
     
            Class.forName("com.mysql.cj.jdbc.Driver")
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值