千家信息网

MVC怎么实现视图层分离

发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,本篇内容介绍了"MVC怎么实现视图层分离"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是MVCM
千家信息网最后更新 2024年10月25日MVC怎么实现视图层分离

本篇内容介绍了"MVC怎么实现视图层分离"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

什么是MVC

MVC模式,就是将原本的web代码,按照功能的不同,划分成控制层,视图层和模型层三个层次,以web项目为例,当请求访问时,由控制层负责处理,控制层调用模型层对请求进行处理,最后使用表现层展示出来。

实战

请求页面:(这是用来请求的页面,放出来以供参考)

                                Document        

优质的W3C分类选择

servlet(这里我们用3.0以上版本的servlet,使用注解替代web.xml):

import java.io.*;import javax.servlet.http.*;import javax.servlet.annotation.*;@WebServlet(name = "helloServlet", value = "/hello-servlet")public class HelloServlet extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {        String classname = "";        String url = "";        String element = "";        classname = request.getParameter("class");        if (classname.equals("qd")) {//目前只做前端判定,后期再增加            url = "https://www.yisu.com/courses?direction=2120&tag=0&type=&condition=&order=";            element = "前端微课";        }        response.setContentType("text/html");        response.setCharacterEncoding("utf-8");        PrintWriter out = response.getWriter();        out.println("\n" +                "\n" +                "\n" +                "\t\n" +                "\t\n" +                "\t\n" +                "\tDocument\n" +                "\n" +                "");        out.println("

以下是W3C平台优秀的前端微课介绍,点击链接即可前往

"); out.println("" + element + ""); out.println(""); }}

可以看到,上面的代码使用servlet进行HTML代码的输出,十分的混乱,而且其中夹杂着一些判定(这部分功能应该交给模型层进行处理)。接下来我们将其中的html代码进行剥离,使用jsp来进行页面的输出。

result.jsp(负责返回页面的jsp):

<%@ page contentType="text/html;charset=UTF-8" language="java" %>                Document    <%        String link = (String) request.getAttribute("url");        String text = (String) request.getAttribute("element");    %>    

以下是W3C平台优秀的前端微课介绍,点击链接即可前往

<%= text%>

同时,对servlet进行对应的修改(主要是删除原来的HTML输出代码,将需要传递给页面的数据封装进请求后然后将请求转发给jsp)。

现在的servlet的get方法如下:

 public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {        String classname = "";        String url = "";        String element = "";        classname = request.getParameter("class");        if (classname.equals("qd")) {//目前只做前端判定,后期再增加            url = "https://www.yisu.com/courses?direction=2120&tag=0&type=&condition=&order=";            element = "前端微课";        }        request.setAttribute("url",url);        request.setAttribute("element",element);        RequestDispatcher view = request.getRequestDispatcher("result.jsp");        try {            view.forward(request,response);        } catch (ServletException e) {            e.printStackTrace();        }    }

这样子就完成了视图层的分离了。

"MVC怎么实现视图层分离"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

前端 代码 页面 视图 输出 模型 处理 开发 控制 优秀 接下来 内容 功能 平台 数据 更多 知识 链接 不同 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 计算网络技术专升本考哪几科 国际服换服务器段位清零 网络安全信息工作会议文件 dhcp服务器 xp 莱宝织唛软件开发公司 衢州企业管理软件开发值得推荐 重点网络安全事件统计数据 数据库事务处理方法 数据库测试爱情电视剧 软件开发需要保密吗 江苏网络技术开发大概费用 网络安全黑板报粉笔画大学版 经信局网络安全工作总结 telnet服务器要不要打开 网站用什么数据库怎么查 卫士通中标中国烟草网络安全 安卓仿微信软件开发 smtp 服务器调用 外语社交软件开发 新乡市雷神网络技术 衢州企业管理软件开发值得推荐 平谷区网络技术服务热线 云服务器安全组端口 怎么在服务器中找到对象的故障盘 软件开发需要哪些步骤与知识 广东库存管理软件开发 数据库中主属性是唯一的吗 数据库将一列分为多列 javascript提交数据库 智能科学与技术和网络安全
0