mvc在Java项目中的作用有哪些

这期内容当中小编将会给大家带来有关mvc在Java项目中的作用有哪些 ,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联公司主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、响应式网站建设、程序开发、网站优化、微网站、小程序设计等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站设计、网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑和数据显式分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。

概览

mvc在Java项目中的作用有哪些

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中,MVC是分层的思想的体现,但是区别于三层设计模式(区别以后再和大家分享)。  

mvc在Java项目中的作用有哪些

MVC是一个框架模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。最典型的MVC就是JSP + servlet + javabean的模式。

实例解析

UML图:大家熟悉MVC的调用流程逻辑

mvc在Java项目中的作用有哪些

第一:JSP:由页面指令和HTML组成的查询界面query_condention.jsp,也就是咱们现在的html页和asp页面类似。

 
   
    学生信息 
   
   
     
      出生日期: 
       
     
   

第二:控制层 SearchStudentServlet用来接受客户的请求,来处理流程,调用Model(StudentManager.java),转发到要请求的后台服务器的student_list.jsp页面

import java.text.*; 

import java.util.*; 
import java.io.*; 
import javax.servlet.http.*; 
import javax.servlet.*; 
 
import com.bjpowernode.exam.model.*; 
import com.bjpowernode.exam.manager.*; 
 
public class SearchStudentServlet extends HttpServlet { 
 
  public void doGet(HttpServletRequest request, HttpServletResponse response)  
  throws ServletException, IOException { 
    doPost(request, response); 
  } 
   
  public void doPost(HttpServletRequest request, HttpServletResponse response) 
  throws ServletException, IOException { 
     
    String sBeginDate = request.getParameter("beginDate"); 
    String sEndDate = request.getParameter("endDate"); 
     
    Date beginDate = new Date(); 
    Date endDate = new Date(); 
    try { 
      beginDate = new SimpleDateFormat("yyyy-MM-dd").parse(sBeginDate); 
      endDate = new SimpleDateFormat("yyyy-MM-dd").parse(sEndDate); 
     }catch(Exception e) { 
      e.printStackTrace();      
     }   
     
    StudentManager studentManager = new StudentManagerImpl(); 
    List studentList = studentManager.findStudentList(beginDate, endDate); 
     
    //将学生列表设置到requet范围中 
    //request.setAttribute("student_list", studentList); 
     
    //转发,转发是在服务器端转发的,客户端是不知道的 
    //request.getRequestDispatcher("/student_list.jsp").forward(request, response); 
     
     
    //将studentList放到session中 
    HttpSession session = request.getSession(); 
    session.setAttribute("student_list", studentList); 
     
    //重定向,不会共享request 
    //以下写法错误,该 "/"代表了8080端口 
    //response.sendRedirect("/student_list.jsp"); 
    response.sendRedirect(request.getContextPath() + "/student_list.jsp"); 
  } 
}

第三:student_list.jsp页面接收数据形成html,返回到浏览器,渲染在界面上

<%@ page language="java" contentType="text/html;charset=GBK"%> 
<%@ page import="java.util.*"%> 
<%@ page import="java.text.*"%> 
<%@ page import="com.bjpowernode.exam.model.*"%> 
<%@ page import="com.bjpowernode.exam.manager.*"%> 
 
   
    学生信息 
     
     /*表格宽度为1px,实线,黑色*/ 
      table{ 
        border:1px solid black;   
        border-collapse:collapse;     
      } 
 
      td { 
        border:1px solid black;   
        border-collapse:collapse;     
      } 
       
        
   
   
     
       
        学生代码 
        姓名 
        性别 
        出生日期 
        联系电话 
        家庭住址 
        班级名称 
        年龄 
       
      <% 
        //List studentList = (List)request.getAttribute("student_list"); 
        List studentList = (List)session.getAttribute("student_list"); 
        for (Iterator iter=studentList.iterator(); iter.hasNext();) { 
          Student student = iter.next(); 
      %> 
       
        <%=student.getStudentId()%> 
        <%=student.getStudentName()%> 
        <%=student.getSex()%> 
        <%=new SimpleDateFormat("yyyy-MM-dd").format(student.getBirthday())%> 
        <%=student.getContactTel()%> 
        <%=student.getAddress()%> 
        <%=student.getClasses().getClassesName()%> 
        <% 
          long b = 1000L*60L*60L*24L*365L; 
          long a = System.currentTimeMillis() - student.getBirthday().getTime(); 
        %> 
        <%=a/b%> 
       
      <% 
        } 
      %> 
     
   

在View的student_list.jsp页面中是大量的html和java代码的混合,在查询条件界面query_condention.jsp主要是html,因为不涉及后台数据的交互.

第四:xml配置Servlet:

 
 
   
    SearchStudentServlet 
    SearchStudentServlet 
   
   
    SearchStudentServlet 
    /SearchStudentServlet 
   
   

第五:显示查询结果

mvc在Java项目中的作用有哪些

总结

    以上query_condention.jsp(输入查询条件)、SearchStudentServlet.java(请求控制Control分)+student_list.jsp(界面显示)的组合相当于三层中的U层,都与界面的显示相关,而StudentManager.java才是进入业务处理相当于三层的B层。故,我们可以简单理解成,MVC就是java基于U层的又一个细化,将界面显示和请求处理做了进一步细化分工。 

    MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中,MVC是分层的思想的体现,但是区别于三层设计模式(区别以后再和大家分享)。

上述就是小编为大家分享的mvc在Java项目中的作用有哪些 了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


本文标题:mvc在Java项目中的作用有哪些
文章分享:http://azwzsj.com/article/jpdcdc.html