本文面向于具有一定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")