JSP学习---MVC开发模式

本文介绍了MVC(Model-View-Controller)架构模式的概念及其组成部分,并通过一个简单的登录示例展示了MVC模式的实际应用过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇博客知识点

1.什么是MVC开发模式
2.一个简单的MVC开发模式实例

MVC开发模式

MVC – 是指Model(即模型如JavaBean)、View(视图如JSP,只提供展示)、Control(控制层由Servlet担当).
Model: 模型–主要用来封装信息,封装数据。如最典型的JavaBean
View: 视图 与用户交流的界面,主要用JSP(HTLM+EL+JSTL)
Control:控制层。主要负责封装前端传过来的数据,然后调用service层,然后根据service层的返回的结果导向不同页面。

MVC还连着一个service层,主要负责事物处理和调用访问数据库的DAO层。

下面有几个示意图,看了就明白了
这里写图片描述
这里写图片描述
这里写图片描述

下面是一个简单的利用MVC模式的一个小项目(没有连接数据库)
这里写图片描述
Model: Person.java

package cn.hncu.domains;

public class Person {
    private String name ;
    private String pwd;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPwd() {
        return pwd;
    }
    public void setPwd(String pwd) {
        this.pwd = pwd;
    }
    public Person(){
        super();
    }
}

view层:登录界面 index.jsp 、欢迎界面 welcome.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title>第三代JSP技术学习~MVC模式</title>
  </head>

  <body>

    <h2>第三代JSP技术学习~MVC模式</h2>
        <hr>
        <form action="<%=path%>/LoginServlet" method="post">
        Name:<input type="text" name="name"><br/>
        PWD:<input type="password" name="pwd"><br/>
        <input type="submit" value="提交">
        </form>
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <title>欢迎界面</title>
  </head>

  <body>

    <h2>欢迎您,<%=request.getAttribute("name")%>!</h2>
  </body>
</html>

Control层:登录servlet

package cn.hncu.servlets;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.hncu.dao.PersonJDBSImp;
import cn.hncu.domains.Person;

public class LoginServlet extends HttpServlet {
    //注入DAO
    PersonJDBSImp dao = new PersonJDBSImp();
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doPost(request, response);
    }

    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String name = request.getParameter("name");
        String pwd = request.getParameter("pwd");
        Person p = new Person();
        p.setName(name);
        p.setPwd(pwd);
        boolean boo = false;
        if(name!=null&&pwd!=null){
            boo = dao.login(p);
        }
        if(boo){//登录成功导向不同结果页面
            request.setAttribute("name", name);
            request.getRequestDispatcher("/regs/welcome.jsp").forward(request, response);

        }else{//登录失败
            request.getRequestDispatcher("/regs/index.jsp").forward(request, response);
        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值