zoukankan      html  css  js  c++  java
  • servlet和jsp的区别

    jsp作为Servlet技术的扩展,经常会有人将jsp和Servlet搞混。

    servlet和jsp的区别

    1、Servlet在Java代码中可以通过HttpServletResponse对象动态输出HTML内容。

    2、JSP是在静态HTML内容中嵌入Java代码,然后Java代码在被动态执行后生成HTML内容。

    servlet和jsp各自的特点

    1、Servlet虽然能够很好地组织业务逻辑代码,但是在Java源文件中,因为是通过字符串拼接的方式生成动态HTML内容,这样就容易导致代码维护困难、可读性差。

    2、JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑。

    通过MVC双剑合璧

    JSP和Servlet都有自身的适用环境,那么有没有什么办法能够让它们发挥各自的优势呢?答案是肯有的,MVC模式就能够完美解决这一问题。

    MVC模式,是Model-View-Controller的简称,是软件工程中的一种软件架构模式,分为三个基本部分,分别是:模型(Model)、视图(View)和控制器(Controller):

    Controller——负责转发请求,对请求进行处理

    View——负责界面显示

    Model——业务功能编写(例如算法实现)、数据库设计以及数据存取操作实现

    在JSP/Servlet开发的软件系统中,这三个部分的描述如下所示:

    229cf9ff5b1729eaf408fac56238eeb3_hd

    1、Web浏览器发送HTTP请求到服务端,然后被Controller(Servlet)获取并进行处理(例如参数解析、请求转发)

    2、Controller(Servlet)调用核心业务逻辑——Model部分,获得结果

    3、Controller(Servlet)将逻辑处理结果交给View(JSP),动态输出HTML内容

    4、动态生成的HTML内容返回到浏览器显示

    MVC模式在Web开发中有很大的优势,它完美规避了JSP与Servlet各自的缺点,让Servlet只负责业务逻辑部分,而不会生成HTML代码;同时JSP中也不会充斥着大量的业务代码,这样能大提高了代码的可读性和可维护性。

  • 相关阅读:
    (转)Go和HTTPS
    (转)Using Python3.5 in Ubuntu
    linux下配置某程序的sudo不用输密码
    双系统linux+win之血的教训
    (转)如何修复ubuntu的UEFI引导
    Android ——Toolbar开发实践总结(转)
    Android——Fragment 真正的完全解析(下)(转)
    Android—— Fragment 真正的完全解析(上)(转)
    android——官方下拉刷新组件SwipeRefreshLayout(转)
    Android——使用Toolbar + DrawerLayout快速实现高大上菜单侧滑(转)
  • 原文地址:https://www.cnblogs.com/zmwy/p/11428524.html
Copyright © 2011-2022 走看看