当前位置: 首页 > news >正文

大良商城网站建设wordpress 转载文章

大良商城网站建设,wordpress 转载文章,北京的软件公司集中在哪个区,厦门网站制作企业前言 在JavaWeb中,jsp和servlet都扮演着重要的角色。如果你之前有看过我的一篇关于web容器的文章(https://blog.csdn.net/PANDORA_A/article/details/106903844)的话,那你应该对jsp和servlet之间的关系有一定的了解,简…

前言

在JavaWeb中,jsp和servlet都扮演着重要的角色。如果你之前有看过我的一篇关于web容器的文章(https://blog.csdn.net/PANDORA_A/article/details/106903844)的话,那你应该对jsp和servlet之间的关系有一定的了解,简单总结一下,jsp运行时会被编译成servlet,因此jsp本质上就是一种servlet。那么问题来了,既然二者本质上是同一种东西,那为什么需要分开成两个呢,也就是说,他们各自负责的功能是什么呢?那么通过本篇文章,希望你能对这两者有一个更深刻的了解。

1.回到最初的起点(jsp和servlet是如何出现的)

(本章内容转载自https://zhuanlan.zhihu.com/p/42343690和https://zhuanlan.zhihu.com/p/69832497)
1987年9月20日,有人从北京向海外发出了中国第一封电子邮件。邮件内容为“Across the GreatWall we can reach every corner in the world(越过长城,走向世界)”,发送时间是北京时间1987年9月20日20时55分。这预示着,互联网时代悄然叩响了中国的大门。

让我们将目光从中国转向海外。上世纪的90年代,当时的互联网还是天地初开、一片混沌。而1995年以及随后的一年,可谓群雄逐鹿风起云涌,注定不平凡。而当时,我还在家里玩泥巴。

1995年5月,SUN公司发布了Java。名字取得很随意,据说是因为那群创始人当时正好在咖啡店激烈讨论取什么名字。其中有一个人望着手中的咖啡突然灵机一动:卧槽,就叫Java吧。这就好比农村生娃,老爹一看,卧槽,这孩子骨骼惊奇,面相清秀,就叫…二狗子吧,的感觉一样一样的。几乎同年,也不知道稍早还是稍晚,反正不重要,PHP也发布了。当时的人们还不知道,它将被黑为“世界上最好的语言”。次年,一个叫布兰登·艾奇(Brendan Eich,1961年~)的技术员,应老板要求花了10+天,借鉴几大语言的优秀特性(包括Java),写出了LiveScript。而为了在发布时蹭Java热度扩大宣传,不惜改名JavaScript。所谓慢工出细活,所以…JavaScript只写了10多天,自然是…好在后来也挽救回来了,现在好歹是GitHub提交量最多的语言,而前端这几年也是火得不行。

我们知道,浏览器能通过解析html语句渲染出页面。
在这里插入图片描述

关键是这些html语句怎么来的?是不是需要浏览器通过http请求某个页面,然后服务器根据浏览器的请求,通过http响应对应页面的html语句回去?而服务器端是我们用Java开发的,它用什么响应这一大堆html语句?答案就是:Servlet

随手用MyEclipse新建一个Servlet,你会看到,生成的Servlet默认的模板是这样的:
在这里插入图片描述

关键是这些html语句怎么来的?是不是需要浏览器通过http请求某个页面,然后服务器根据浏览器的请求,通过http响应对应页面的html语句回去?而服务器端是我们用Java开发的,它用什么响应这一大堆html语句?答案就是:Servlet!随手用MyEclipse新建一个Servlet,你会看到,生成的Servlet默认的模板是这样的:

可以看到Servlet的doGet()和doPost()方法体中有响应html片段的代码。这其实是上古时期开发习惯的“遗迹”。都2018年了,MyEclipse还自作聪明,以为你会在Servlet中手动输出HTML片段。诚然,在早期的JavaWeb开发中,我们的程序猿祖先确实有那么一段黑暗时光,但那是因为当时还没有现在这么多、这么好用的模板和框架。

上古时代,通常情况是美工写好html静态页面后,丢给Java程序员。Java程序猿在Servlet中调用Service拿到数据后,逐句复制html静态页面上的html语句到Servlet的中,根据情况将后端的数据与html片段拼接在一起,然后通过以下格式输出。

out.println("<span>用户名是:"+user.age+<"/span>")

在这里插入图片描述
而同时期的PHP,http://ASP.Net就优秀得多了,人家压根不搞你这繁琐的一套。它们选择在html页面中嵌入相应语言来引入动态数据,避免了手动拷贝html片段输出的尴尬局面。
在这里插入图片描述

因为仔细想来,我们的主要目的就是希望在最终输出的html的代码中嵌入后台数据罢了。除了把html语句拿出来在Servlet里拼接好再输出这种方式外,我们也可以直接在html语句中写入动态数据(注意,不是HTML文件,必须是JSP之类的动态模板文件中的HTML语句)。而这两种几乎是完全相反的设计思路!

一部分Java程序员一看,就傻眼了:我靠,PHP还真是世界上最好的语言啊,Web开发竟然如此之简单!老子再也不想复制粘贴了!于是转向了PHP或者其他语言的开发。就这样,Java流失了一部分程序员。SUN公司一看,这不行啊,Java也要搞一个。于是,JSP应运而生。

2.什么是jsp

JSP,全称JavaServer Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,在传统的网页HTML(标准通用标记语言的子集)文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件。
JSP与HTML不同,JSP是动态页面,HTML是静态页面。换言之,HTML可以直接访问,而JSP需要在服务器上经历一次动态资源(JSP)到静态资源(HTML)的转化,服务器会自动帮我们把JSP中的HTML片段和数据拼接成静态资源响应给浏览器,最后响应给客户端的则是已经转换好的HTML文件,然后客户端通过浏览器解析、展示。
在这里插入图片描述
简单来说,JSP = HTML + Java片段
那么既然jsp会转化成html,并且大部分人在刚开始学习jsp时也会认为,jsp和html没多大区别,为什么我们又说jsp本质上又是servlet呢?
要明白这个问题,我们需要先复习一下servlet是什么。

3.什么是servlet

Servlet是sun公司提供的一门用于开发动态web资源的技术,Servlet运行在Tomcat容器当中。sun公司在其API中提供了一个servlet接口,用户可以通过实现这个接口,开发一个Java程序向处理客户端发出的请求和发出相应。
servlet属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

servlet功能:
在这里插入图片描述

jsp与servlet的关系

了解完servlet后,我们可以来捋清他们俩之间的关系了。

联系:
WEB容器接收到以.jsp为扩展名的URL的访问请求时,它将把该请求交给JSP引擎去处理。Tomcat中的JSP引擎就是一个Servlet程序,它负责解释和执行JSP页面。
每个JSP 页面在第一次被访问时,JSP引擎将它翻译成一个Servlet源程序,接着再把这个Servlet源程序编译成Servlet的class类文件,然后再由WEB容器像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。
从二者的功能看,jsp和servlet都可以交互式地浏览和修改数据,生成动态Web内容。换言之,二者都和服务器相关,与服务器进行数据交互,二者都能转化为html页面。

区别:
虽然二者本质相同,但是二者负责的内容有所差异,jsp更注重前端显示(支持html标签),servlet更注重模型和业务逻辑。我们自己写代码的时候尽量能让它们各司其职,不要意图写出万能的jsp或servlet来,使得jsp或servlet代码变得臃肿不堪。

http://www.yayakq.cn/news/192023/

相关文章:

  • oss静态网站托管上海最新新闻事件今天国内
  • 环球旅行社网站建设规划书济南自助建站模板
  • 徐州制作手机网站阿里域名注册官网
  • 前端网站开发培训网站开发连接数据库
  • 天津 网站开发河南做网站团队
  • 网站开发个人感想电子商务网站建设工资
  • 网站按抓取手机软件贵阳找回微信
  • 国外展览展示设计网站iis7 网站无法显示该页面
  • 做智能网站营销话术站长之家域名查询官网
  • 加强政务网站建设潍坊专业网站建设价格
  • 一个网站的域名突然换了网站建设 翻译
  • 黄冈网站建设有哪些网络营销网站建设与策划分析
  • 山西营销网站建设设计jcms网站建设
  • 网站开发项目的简介个人网站备案做商城
  • 娄底做网站的公司cookie做网站登录
  • 自己怎么做优惠券网站网站加载速度
  • 网站建设营销企业做网站在
  • 都匀市城乡建设局网站wordpress amp改成mip
  • 阳江兼职招聘网最新招聘wordpress自定义seo标题
  • 如何设公司产品购物网站wordpress装到哪里
  • 企业官网html源码河南网站建设优化技术
  • 个人网站的建设目标潍坊建设企业网站
  • 潍坊潍微贷是哪家网站建设的百度站长工具网址
  • 在百度做网站推广怎么做建设网站费用如何做账
  • 域名注册好如何做网站wordpress表单样式
  • 怎么免费建个人网站合肥专业制作网站
  • 网站型跟商城型网站建设大小
  • 大同网站建设设计泗水网站建设
  • 网站建设怎么制作模板长沙网站seo
  • 哪个网站可以上传设计的作品wordpress二维码插件付费