MVC模式小教程

٩(๑>◡<๑)۶今天给大家介绍个新伙伴——MVC模式
一、它是谁?

  1. MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。
    Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
    View(视图) - 视图代表模型包含的数据的可视化。
    Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。

二、它在哪?
这里写图片描述
三、它该怎么办?

package com.News.entity;

import java.sql.Date;

public class News {
    private int news_id;
    private String news_title;
    private Date news_date;
    private String author;
    private String content;
    private String type;
    private String discussion;
    private String picture;
    private String movie;
    public int getNews_id() {
        return news_id;
    }
    public void setNews_id(int news_id) {
        this.news_id = news_id;
    }
    public String getNews_title() {
        return news_title;
    }
    public void setNews_title(String news_title) {
        this.news_title = news_title;
    }
    public Date getNews_date() {
        return news_date;
    }
    public void setNews_date(Date news_date) {
        this.news_date = news_date;
    }
    public String getAuthor() {
        return author;
    }
    public void setAuthor(String author) {
        this.author = author;
    }
    public String getContent() {
        return content;
    }
    public void setContent(String content) {
        this.content = content;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public String getDiscussion() {
        return discussion;
    }
    public void setDiscussion(String discussion) {
        this.discussion = discussion;
    }
    public String getPicture() {
        return picture;
    }
    public void setPicture(String picture) {
        this.picture = picture;
    }
    public String getMovie() {
        return movie;
    }
    public void setMovie(String movie) {
        this.movie = movie;
    }


}
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title>登录</title>
        <link rel="stylesheet" type="text/css" href="css/login.css">
    </head>
    <body>
        <div id="header">
            <div id="header-content">       
                <div id="header-content2">
                    <ul>
                        <li><a href="news.html">新闻</a></li>
                        <li><a href="scj.html">收藏夹</a></li>
                    </ul>
                </div><!--中间结束-->

                <div id="header-content3">
                    <a href="login.jsp"?method = 2>登录</a>/
                    <a href="zc.jsp"method = 1>注册</a>/
                    <a>用户名</a>
                </div>
            </div>
        </div><!--导航栏结束-->

    <div id="bbBox">
        <div id="bigBox">
            <h1>登 录</h1>
            <form action="UserServlet" method="post">
                <span id="s1"></span><p id="p1"><label>用户名:</label><input type="text" name="username" id="userId" placeholder="请输入用户名"/></p>
                <span id="s2"></span><p id="p2"><label>密码:</label><input type="password" name="password" id="passWord" placeholder="请输入密码" /></p>
                <input type="submit" value="登录" id="thesubmit"/>
                <input type="reset" id="res"/>
            </form>
        </div>
    </div>

        <script type="text/javascript" src="js/login.js"></script>
    </body>
</html>
package com.News.controller;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.News.dao.UserDao;
import com.News.entity.Users;
import com.News.service.UserService;

public class UserServlet extends HttpServlet {

    /**
         * Constructor of the object.
         */
    public UserServlet() {
        super();
    }

    /**
         * Destruction of the servlet. <br>
         */
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
        // Put your code here
    }

    /**
         * The doGet method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to get.
         * 
         * @param request the request send by the client to the server
         * @param response the response send by the server to the client
         * @throws ServletException if an error occurred
         * @throws IOException if an error occurred
         */
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }

    /**
         * The doPost method of the servlet. <br>
         *
         * This method is called when a form has its tag value method equals to post.
         * 
         * @param request the request send by the client to the server
         * @param response the response send by the server to the client
         * @throws ServletException if an error occurred
         * @throws IOException if an error occurred
         */
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        int method = Integer.parseInt(request.getParameter("method"));
        switch (method) {
        case 1:
            this.register(request, response);
            break;
        case 2:
            this.login(request, response);
            break;

        }

    }
    public void register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        UserDao uDao = new UserDao();
        Users u = new Users();
        uDao.Insert(u);
    }
    public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String password_true = UserService.Login(username);
        String mark = UserService.getMark(username);
        if(!password.equals(password_true)){
            System.out.println("Error!");
            request.getRequestDispatcher("").forward(request, response);
        }else{
            System.out.println("True!");
            if(mark.equals("vip"))
            request.getRequestDispatcher("").forward(request, response);
        }
    }
    /**
         * Initialization of the servlet. <br>
         *
         * @throws ServletException if an error occurs
         */
    public void init() throws ServletException {
        // Put your code here
    }

}

四、优秀的它

  1. 一个模型提供不同的多个视图表现形式,也能够为一个模型创建新的视图而无须重写模型。
  2. 模型可复用。
  3. 维护成本低,扩展性高
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值