三层架构:
三层架构是指:视图层 View、服务层 Service,与持久层 DAO。它们分别完成不同的功能。
- View 层:用于接收用户提交请求的代码
- Service 层:系统的业务逻辑主要在这里完成
- DAO 层:直接操作数据库的代码
MVC:
MVC,即 Model 模型、View 视图,及 Controller 控制器。
- View:视图,为用户提供使用界面,与用户直接进行交互。
- Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为数据承载 Bean,一类称为业务处理 Bean。所谓数据承载 Bean 是指实体类,专门用户承载业务数据的,如 Student、User 等。而业务处理 Bean 则是指 Service 或 Dao 对象, 专门用于处理用户提交请求的。
- Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
单体应用MVC:
maven的目录结构
├─src│ ├─main│ │ ├─java│ │ ├─resources│ │ └─webapp│ │ └─WEB-INF│ └─test│ └─java
通过open来创建项目
1、open--->创建POM.xml 文件;
4.0.0 com.funtl hello-maven 1.0.0-SNAPSHOT war javax.servlet javax.servlet-api 4.0.1 provided org.slf4j log4j-over-slf4j 1.7.25
2、根据maven目录结构创建目录
三层架构 DAO:数据访问层,处理和数据库打交道 service:逻辑业务 web:静态页面
webapp--->WEB-INF 目录下创建 web.xml
工程6 UserLoginHandle com.zy.login.demo.web.controller.UserLoginHandle UserLoginHandle /login
在webapp下创建index.jsp页面(默认登录)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>$Title$
在webapp下创建fail.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>Title 失败
在webapp下创建success.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>Title 成功
UserLoginHandle
package com.zy.login.demo.web.controller;import com.zy.login.demo.dao.impl.UserAcceptHandle;import com.zy.login.demo.entity.User;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class UserLoginHandle extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getRequestDispatcher("/fail.jsp").forward(req,resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String name = req.getParameter("name"); String pwd = req.getParameter("pwd"); User handle = new UserAcceptHandle().handle(name, pwd); if (handle!=null){ req.getRequestDispatcher("/success.jsp").forward(req,resp); } else { req.getRequestDispatcher("/fail.jsp").forward(req,resp); } }}
注意