JSP学习---MVC开发模式

来源:互联网 发布:mac os 启动管理界面 编辑:程序博客网 时间:2024/06/05 22:45

本篇博客知识点

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);        }    }}
原创粉丝点击