• JSP、Servlet和Spring MVC


    感谢原博主!!!https://blog.csdn.net/whut2010hj/article/details/80874008

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/whut2010hj/article/details/80874008

    今年刚接触JavaWeb的时候碰巧认识了一帮老师做后端的哥们,我俩平时用的最多的也都是Java。

    我:“老哥,我想给我那个项目做一个服务器应用程序,怎么搞啊”

    老哥:“Spring你知道吗”

    我:“听说过”

    老哥:“入下门”

    我:“好嘞”

    那会儿我俩在参加一个活动,也没细聊,有些内容我也记不住了,跟我讲了些前端的基本知识,还有就是我记住了Spring这个词。

    JSP、Servlet和Spring MVC的前世今生

    Java Servlet技术简称Servlet技术, 是Java开发Web应用的底层技术。

    但由于Servlet用起来太复杂了,SUN公司发布了JavaServerPages(JSP)技术,以进一步简化servlet程序开发。

    自从Servlet和JSP技术诞生后,涌现出大量的基于Java的Web框架来帮助开发人员快速编写Web应用。这些框架构建于Servlet和JSP之上,帮助开发人员更加关注业务逻辑,无须编写重复性(技术)代码。而Spring MVC 就是当前最流行的可扩展Java Web应用开发框架。

    Spring MVC又叫Spring Web MVC,是Spring框架的一个模块,用于快速开发Web应用。 MVC代表Model-View-Controller,是一个广泛应用于GUI开发的设计模式。

    Servlet

    Servlet是一个Java程序,一个Servlet应用有一个或多个Servlet程序。Servlet也是Java的一个接口,我们在编写servlet时要实现这个接口,按照其规范进行操作。JSP页面会被转换和编译成Servlet程序。

    Servlet和Tomcat

    我们在学习的时候会知道,写好的JSP代码要部署到Tomcat上才能被访问并运行。

    Servlet应用无法独立运行,必须运行在Servlet容器中。Tomcat 是Web应用服务器,就是一个Servlet/JSP容器。Servlet容器将用户的请求传递给Servlet应用,并将结果返回给用户。Web服务器和Web客户端间通过HTTP协议通信,因此Web服务器也叫HTTP服务器。像下图


    Servlet/JSP容器是一个可以同时处理Servlet和静态内容的Web容器。过去,由于通常认为HTTP服务器比Servlet/JSP容器更加可靠,因此人们习惯将Servlet/JSP容器作为HTTP服务器如Apache HTTP服务器的一个模块。这种模式下,HTTP服务器用来处理静态资源,而Servlet/JSP容器则负责生成动态内容。如今,Servlet/JSP容器更加成熟可靠,并被广泛地独立部署。Apache Tomcat和Jetty是当前最流行的Servlet/JSP容器。

    Spring 和SpringMVC

    Spring框架是一个开源的企业应用开发框架,有很多不同的模块,Spring MVC就是其中一个模块。

    Java Web应用开发中有两种设计模型:

    第一次学习JSP,通常通过链接方式进行JSP页面间的跳转,这就是第一种模式。这种方式非常直接,但在中型和大型应用中,这种方式会带来维护上的问题。修改一个JSP页面的名字,会导致大量页面中的链接需要修正。

    第二种模式就是基于模型-视图-控制器的模式(MVC模式),一个实现MVC模式的应用包含模型、视图和控制器3个模块。视图负责应用的展示。模型封装了应用的数据和业务逻辑。Spring MVC 使用一个Servlet作为控制器,大部分都采用JSP页面作为应用的视图,而模型则采用POJO,实践中会采用一个JavaBean来持有模型状态。


    参考书籍:《Spring MVC学习指南》《Servlet、JSP和Spring MVC初学指南》


    补充:
    https://www.cnblogs.com/davidwang456/p/10297476.html
    https://www.baidu.com/s?wd=JSP、Servlet和Spring+MVC的前世今生&ie=UTF-8

  • 相关阅读:
    python函数内容
    python读写csv文件
    python正则表达式
    python使用MYSQL数据库
    python简单面试题
    python执行cmd命令
    python详解json模块
    我的自动化测试之路
    测试开发这一年
    招聘测试人员,我在面试什么?
  • 原文地址:https://www.cnblogs.com/tfxz/p/12621636.html
Copyright © 2020-2023  润新知