zoukankan      html  css  js  c++  java
  • JavaWeb/ MVC模式的初次实践

    一、对MVC的个人理解

    MVC模式是一种开发软件的设计思路,它将软件的视图(view)、控制(control)、模型(model)分离,实现了软件各部分分离,让各种功能代码各司其职,大大提高了软件的开发效率。

    视图负责数据的展示工作,我们能够直观看到的网页等等就是视图来控制的。

    模型负责数据的保存工作,这部分建立起一个事物的模型,保存用户输入等数据,是模式的核心(个人理解),能承上(获得控制层给到的数据)启下(将数据交给视图层来展示)。

    控制负责对数据的处理指挥,逻辑控制工作,与模型直接关联。其所处理的数据,多半是要重新送回到模型中来。如我这次的demo,用户登陆的账号密码,做出判断后要将状态数据重新传递回模型之中。

    二、demo介绍

    下面是小demo

    demo由三部分组成。

    第一部分是视图层,视图层由两个jsp文件组成,分别是login.jsp与result.jsp。

    第二部分是模型层,模型层由一个javabean文件组成,是loginBean.java

    第三部分是控制层,控制层由一个Servlet文件组成,是LoginManage.java

    三、demo展示

    login.jsp

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: a1191
     4   Date: 2019/9/25
     5   Time: 20:51
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <html>
    10 <head>
    11     <title>登陆界面</title>
    12 </head>
    13 <body>
    14     <form action="login" method="get">
    15         <h1>登陆</h1>
    16         用户名:<input type="text" name="username"><br>
    17         密码:<input type="password" name="password"><br>
    18         <input type="submit">
    19 
    20     </form>
    21 </body>
    22 </html>

    result.jsp

     1 <%--
     2   Created by IntelliJ IDEA.
     3   User: a1191
     4   Date: 2019/9/25
     5   Time: 20:59
     6   To change this template use File | Settings | File Templates.
     7 --%>
     8 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     9 <jsp:useBean id="userdata" type="JAVAbean.loginBean" scope="session"></jsp:useBean>
    10 <html>
    11 <head>
    12     <title>通知</title>
    13 </head>
    14 <body>
    15 <h1><jsp:getProperty name="userdata" property="login"></jsp:getProperty></h1>
    16     <h1>你输入的属性名:</h1>
    17 <h1><jsp:getProperty name="userdata" property="username"></jsp:getProperty></h1>
    18     <h1>你输入的属性名:</h1>
    19     <h1><jsp:getProperty name="userdata" property="password"></jsp:getProperty></h1>
    20 </body>
    21 </html>

    LoginManage.java

     1 package Servlet;
     2 
     3 import javax.servlet.ServletException;
     4 import javax.servlet.annotation.WebServlet;
     5 import javax.servlet.http.HttpServlet;
     6 import javax.servlet.http.HttpServletRequest;
     7 import javax.servlet.http.HttpServletResponse;
     8 import javax.servlet.http.HttpSession;
     9 import java.io.IOException;
    10 import JAVAbean.*;
    11 @WebServlet(name = "LoginManage")
    12 public class LoginManage extends HttpServlet {
    13     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    14         doGet(request,response);
    15     }
    16 
    17     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    18        //先创建javaben对象
    19         loginBean userdata = new loginBean();
    20         //将userdata与session绑定
    21         HttpSession session = request.getSession();
    22         session.setAttribute("userdata",userdata);
    23        //利用request对象从登陆页面获取用户输入的账号密码,并且进行正确验证。
    24         String username = request.getParameter("username");
    25         String password = request.getParameter("password");
    26         String login = "登陆失败";
    27         if(username.equals("wuzhengyu") && password.equals("111111")) {
    28             login = "登陆成功";
    29         }
    30 //        将账号密码登陆状态返回给userbean中
    31         userdata.setPassword(password);
    32         userdata.setUsername(username);
    33         userdata.setLogin(login);
    34         //重定向到result.jsp中
    35         response.sendRedirect("result.jsp");
    36     }
    37 }

    loginBean.java

     1 package JAVAbean;
     2 
     3 public class loginBean {
     4     private String username;
     5     private String password;
     6     private String login;
     7     public loginBean(){}
     8 
     9     public String getLogin() {
    10         return login;
    11     }
    12 
    13     public void setLogin(String login) {
    14         this.login = login;
    15     }
    16 
    17     public void setUsername(String username) {
    18         this.username = username;
    19     }
    20 
    21     public void setPassword(String password) {
    22         this.password = password;
    23     }
    24 
    25     public String getUsername() {
    26         return username;
    27     }
    28 
    29     public String getPassword() {
    30         return password;
    31     }
    32 }

    以上就是今天的学习啦

  • 相关阅读:
    设计模式学习笔记--原型模式
    设计模式学习笔记--工厂方法模式
    复制、粘贴一个物体的所有组件
    设计模式学习笔记--装饰模式
    模板方法模式(TemplateMethod)
    FreeSql 与 SqlSugar 性能测试(增EFCore测试结果)
    FreeSql 新查询功能介绍
    FreeSql 过滤器使用介绍
    非常贴心的轮子 FreeSql
    .NETCore 下支持分表分库、读写分离的通用 Repository
  • 原文地址:https://www.cnblogs.com/wu199723/p/11587803.html
Copyright © 2011-2022 走看看