JavaWeb笔记-13-MVC、javaweb架构及简单案例

1、MVC(modal View Cotroller)


modal -->模型(JavaBean;自己写代码规定)
View -->视图(jsp)
Cotroller -->控制器(Servlet)

所有的B/S结构项目都在使用。
mvc模式:是软件工程中一种架构模式

这里写图片描述

jsp: 负责接收控制器数据,以及显示数据给用户
Servlet:找到合适的模型来处理业务逻辑。转发到合适的视图(jsp)
JavaBean:完成具体任务内容。

2、Javaweb特有的三层架构:


web层 –> 与web相关的内容。(Servlet,jsp,Servlet相关API)

业务层 –> 业务对象(Service)

数据层 –>操作数据库(DAO–Date Access Object 数据访问对象)

这里写图片描述

3、模拟使用框架: 从页面接收查询请求,经一系列反馈回界面


思想流程;

数据层: 1)创建User,存储数据库中查询到的数据。
        2)创建UserDao,封装User中数据,方便Service操作。

业务层: 1)创建service类,创建方法,供servlet调用。  
                service层依赖dao层,因为service功能需要操作或使用dao中封装好的数据

web层: 1)建立servlet 
                a.根据接收到的请求统筹调用service
                b.选择service中哪个方法功能。
                c.把反馈到的结果保存到request
                d.转发给客户端(jsp)显示。
        2)建立jsp页面 反馈内容界面

4、具体代码:

数据层:1)创建User,存储数据库中查询到的数据。

//把数据库中查询的数据保存在这个对象中
public class User {
    private String username;
    private String password;
    public User() {
        // TODO Auto-generated constructor stub
    }
    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    @Override
    public String toString() {
        return "User [username=" + username + ", password=" + password + "]";
    }
}

数据层:2)创建UserDao,封装User中数据,方便Service操作。

public class UserDao {
    //数据查询出之后,封装数据到user对象中,然后返回给service
    public User find(){
        return new User("张三","123");    
    }
}

业务层:1)创建service类,创建方法,供servlet调用。

        service底层依赖dao层,因为service功能需要操作或使用dao中封装好的数据
public class UserService {

    //service底层是dao。
    private UserDao userDao = new UserDao();

    //service功能需要操作或使用dao中封装好的数据
    public User find() {
        return userDao.find();
    }
}

web层: 1)建立servlet

public class UserServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        //根据接收到的请求统筹调用service
        UserService userService = new UserService();

        //选择service中哪个方法功能。
        User user = userService.find();

        //把结果保存到request  然后转发给客户端(jsp)显示。
        request.setAttribute("user", user);
        request.getRequestDispatcher("/show.jsp").forward(request, response);
    }
}

2)建立jsp页面 反馈内容界面

//使用超链接 使用jstl-core库 指定url到servlet。
<a href="<c:url value='/UserServlet' /> ">点击这里查看</a>

注:使用core库 ,需先导入标签库,及设定库标签前缀。
<%@taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%>

猜你喜欢

转载自blog.csdn.net/qq_41307491/article/details/81358801