JSP、Servlet和Spring MVC
感谢原博主!!!https://blog.csdn.net/whut2010hj/article/details/80874008
版权声明:本文为博主原创文章,遵循CC 4.0 BY版权协议,转载请附上原文出处链接和本声明。
今年刚接触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
JSP、Servlet和Spring MVC的更多相关文章
- 乐视开放平台技术架构-servlet和spring mvc篇
在乐视风口浪尖的时候,敢于站出来说我是乐视的而不怕被打脸的,也就是我了.就算我以后不在乐视了,提起来在乐视工作过,我也还是挺骄傲的.因为这是一个有理想,敢拼敢干的公司.想起复仇者联盟里Fury指挥官的 ...
- web框架的前生今世--从servlet到spring mvc到spring boot
背景 上世纪90年代,随着Internet和浏览器的飞速发展,基于浏览器的B/S模式随之火爆发展起来.最初,用户使用浏览器向WEB服务器发送的请求都是请求静态的资源,比如html.css等. 但是可 ...
- (jsp+servlet+javabean )MVC架构
MVC是三个单词的缩写,这三个单词分别为:模型.视图和控制. 使用的MVC的目的:在于将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如Windows系统资源管理器文件夹内容的显示方 ...
- spring +servlet 与 spring MVC
spring serlvetSpring框架中context-param与servlet中init-param的contextConfigLocation的区别https://blog.csdn.ne ...
- Jsp+Servlet+JavaBean经典MVC模式理解
MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...
- 基于jsp+servlet+javabean的MVC模式简单应用
原先写在CSDN的一篇,我直接扒过来吧.之前打算在CSDN的,结果写了几回,发现他那个发布系统简直烂到家,经常丢失图片各种.所以很长一段时间我也没写什么. 一.MVC模式 1.M : javabea ...
- spring mvc 快速入门
---------- 转自尚学堂 高淇 --------- Spring MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC ...
- Spring MVC学习笔记--认识SpringMVC
Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框 ...
- Spring MVC框架实例
Spring MVC 背景介绍 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,能够选择是使用内置的 Spring Web 框架还是 ...
随机推荐
- idea解决springboot项目中log4j漏洞升级问题
最近阿里云团队发现log4j漏洞,危险级别:严重,相关资讯 https://m.sohu.com/coo/hsdt/506958086_355140 https://www.sohu.com/a/50 ...
- [opencv]拼接合并轮廓集合mergeContours
/** * 拼接合并轮廓集合 * @param contours * @return */ vector<vector<Point>> mergeContours(vector ...
- Java初学者作业——编写 Java 程序,在控制台中输入日期,计算该日期是对应年份的第几天。
返回本章节 返回作业目录 需求说明: 编写 Java 程序,在控制台中输入日期,计算该日期是对应年份的第几天. 实现思路: (1)声明变量 year.month和 date,用于存储日期中的年.月.日 ...
- 云南农职 - 互联网技术学院 - 美和易思大一SCME JAVA高级结业考试机试试题
目录 一.语言和环境 二.实现功能 1.文件复制功能(IO) 2.消息接受站建设 三.评分标准 四.实现代码 一.语言和环境 实现语言:Java. 开发工具:eclipse. 使用技术:IO流+网络编 ...
- ApkToolBoxGUI 0.0.8发布了!!
https://github.com/jiangxincode/ApkToolBoxGUI APKToolBoxGUI是一个程序员常用的小工具合集,有个比较友好的交互界面.主要包含编码转换,时间戳转换 ...
- vue注册全局组件
在项目开发中能不能自己写一个组件可以像iview或者element那样可以不必引用就可以直接用呢?答案是可以的. 首先,写一个组件mainHeader. 接着在vue中注册这个组件,代码如下: Vue ...
- vue爬坑之路(webpack 配置篇)
在vue cli下 1.npm run dev 打开浏览器在config的index.js中修改autoOpenBrowser为true 关闭sourcemap productionSourceMap ...
- Vue项目中使用websocket
<template> <div class="test"> </div> </template> <script> ex ...
- 还在用visio?这款画图工具才是真的绝!
最近有读者私信我,问我推文的配图是用什么工具画的,很好看,也想学习一下.今天就给大家介绍一下这款画图工具--Draw.io 概述 draw.io是一款免费的网页版画图工具(也有桌面版),支持流程图.U ...
- RBAC: K8s基于角色的权限控制
文章目录 RBAC: K8s基于角色的权限控制 ServiceAccount.Role.RoleBinding Step 1:创建一个ServiceAccount,指定namespace Step 2 ...