Servlet思惟教程

终极版Servlet

前言:这两天看了SSM框架,原本是想日后继续学的,脑门一转又回来了,不能就这么不声不响的走了,看了这么多天的Servlet,再写最后一篇作个告别吧,这篇起名为终极版,是我如今所能理解的最高境界,献给须要的朋友们,但愿有所帮助,若有大佬路过,还望海涵,菜鸟依然在路上html

认识Servlet

想一想咱们的JavaSE学习历程,从最简单的常量,变量,数据类型到函数,数组,面向对象再到工具类的学习,一路披荆斩棘,所向披靡杀过来了,却发如今大学忙活了大半年,却一直在控制台输出,噫吁嚱,危乎高哉!编程之难,难于上青天!哈哈,其实说这些话的朋友,不是编程难,只是你还没发现编程之美,要想看美的风景,就要“一览众山小”,一样,要想发现编程之美,你要“一览编程美”,思惟决定高度,这时候你该想,总在控制台输出,有什么意思,浏览器上的东西不也是程序员写出来的吗,那何时能干点新鲜的。你要是真这样想了,别急,不论干什么你得了解需求,要想高飞浏览器,先看篇博客《B/S和C/S》普及一下常识。了解完了以后,我来给你解说,要想与浏览器相关联,你必须学习Serlvet,不为何,就是由于Servlet是沟通前端和后端的桥梁(有点皮了,不知道这句话算不算病句,哈哈),你想一想,你在浏览器的地址栏里输入一个网址,好比说https://www.cnblogs.com/zyx110/,这就是你在浏览器向服务器发送了一次请求,而后你就发现你的浏览器页面就跳转到个人博客园页面(就是这么神奇,多试试,增长点人气),这是你向服务器发送请求后服务器给你的响应,而这个过程就是传说中的Servlet完成的,Servlet就是专门负责请求数据、处理请求、完成响应的,因此,知道Servlet的重要性了吧。前端

 

学习Servlet

看完上面这一段你就应该懂Servlet了吧(懂个毛,门都还没入呢),下面我来教你如何学习Servlet.说到学习,我不得再也不重复一下“二八定律”的重要性,学习切忌死学,既然都知道兴趣是最好的老师,那何不本身培养本身的兴趣呢,再赠你一篇“教你爱上编程妹子” ,个人学习方法,技术知识都分享给你,接下来的就看你本身了。我如今只引导你去学习那必须掌握的20%,我以问题的形式先写出来,而后给你学习路线,你带着问题去学习:程序员

如何实现Servlet?编程

什么是JavaWeb四大域?后端

如何理解转发和重定向?数组

 

先说第一个问题,实现Servlet有三种方式浏览器

 

 

 

具体如何实现去看《Servlet学习》,我在这主要讲思惟讲方法,不讲具体的知识点,知识是死的,写这浪费白纸,菜鸟教程上全是知识点,去查就好了,思惟才是最重要的,由于这须要本身去悟,长大后不多有人会给你讲这些,我也是听别人给我讲,本身领悟,但我想把我收获的分享给别人,但愿能对一些朋友有所帮助。服务器

 

好,进入主题,知道如何实现Servlet后,了解Servlet的生命周期,这个本身看,而后不知道你们看没看过一些玄幻小说,玄幻小说中有许多中都有空间戒指,空间袋等用来存储东西的,就拿空间戒指说吧,不知道有没有看过《斗破苍穹》的朋友,这部小说里就有空间戒指,叫作“纳戒”,此物内部自成空间,能容纳不少东西,戴在手上就跟普通戒指同样。为何要提这个“纳戒”,废话,固然跟学习有关了,要是想看小说,就看看我写的小说《匹马行天下》,不只能丰富你的精神世界,还能增加知识,何乐而不为呢(实际上是想拉点粉,哈哈,记得关注哦)。再回到戒指,以前提到了JavaWeb四大域,这个域有点抽象,因此你先理解为空间戒指,Servlet有一个戒指叫ServletContext,里面能存放东西,这还不是神奇的,最神奇的是存到这个“戒指”里的东西不只本身能拿,别的Servlet都能共享,,同一个服务器下的全部Servlet都能存和取“戒指”里的东西,怎么样,够神奇吧。具体在“戒指”里是怎样存东西和取东西的仍是看博客《进一步理解Servlet》.框架

 

好,明白了JavaWeb四大域,再聊聊别的,你看你在点浏览器页面上的那些连接的时候,是否是页面会一跳一跳的,很神奇,不信你能够再试着点点这个https://www.cnblogs.com/zyx110/(哈哈,淡定,别打我),是否是又跳到个人博客园页面了。说重点,这种跳转也是有名字的,一种叫转发,另外一种叫重定向。两个都是跳转,名字不同,功能也是不同的,我大概说两种区别:函数

 

首先要知道,转发在跳转的时候带的东西(参数)能被他要跳转的页面接收到,也是用“空间戒”带的东西,只不过这个“空间戒”的名字叫Request域,而重定向在跳转的时候,他能够在“空间戒”里装东西,可是他要跳的页面不能经过Request域(空间戒)接收他带的东西,他若是非要让他带的东西让别人接收的话能够经过ServletContext域(空间戒),看破不说破,让重定向留点隐私,大家本身去看吧。

 

还有一点要知道,就是转发只请求一次服务器,而重定向请求两次。怎么理解,我举个例子,准备好,我要开车了。知道个人都知道,我是个大二的学生,咳咳,先作个自我介绍,我叫***,男孩,性格活泼开朗,爱交朋友,爱学习,没女友(那个,,,先就这吧,编不下去了),我用我本身举个例,假如说我毕业后要领毕业证,原本很高兴的事,不想东窗事发,因为在校期间挂科补考没过,学校不给发毕业证。怎么办,我记得像热锅上的蚂蚁,大山里走出来的孩子要是拿不上毕业证,那不得让村里人笑话,情急之下我开始找关系,注意了,如今分两种状况:

情节一:

我费了九牛二虎之力找到了一位主任(是谁我也不知道,故事须要吧,先假想一个,现实很残酷的,哪有这么容易找到的),这个主任就是负责这块的,我也不能空着手去吧,拿出毕生心血买了两条中华烟再加两瓶茅台(这就是参数,拿这些应该差很少了吧),好,找到某主任跟他求情,主任一看我态度不错,主要还知道他喜欢喝两口,买酒了,就答应了,说我得跟校长说一下才行。我说好的好的,谢谢主任。而后主任拿着我送的中华烟和茅台酒,回家藏到柜子里了,而后拿着过年没吃完剩下的两条黑兰州去找校长,校长好说话,主任一说就答应了,毕竟仍是要给主任点面子的。那这事算成了,不就我就获得通知,说来学校领毕业证,而后就证书到手了。

 

来,分析故事(纯属虚构,别当真),这个过程当中无论中间是如何周转的,我是否是只找了一次主任,而后事成后不论是校长说的仍是主任说的,总之我获得了一个消息,这就是转发,只请求一次服务器,中华烟、茅台、黑兰州是我带的参数,怎样,理解了吧。

 

 

情节二:

我仍是费劲九牛二虎之力找到了某主任,但我说了,生活不老是一路顺风的,这不,带着烟酒(参数)去找某主任,可主任不吃这套,给拒绝了,但我也很差把送进去的东西再带走吧,一咬牙一跺脚,就送他了,而后灰溜溜的回去了,到家后再找,看看有没有跟情节一同样的主任,这是后话了。

分析故事:从带烟酒(参数)找主任被拒绝,回来后再找别的主任,这整个过程我跑了两次,这就至关于你向服务器发出请求,而后服务器给你响应说访问不了,你再去从新请求,而后你又发出请求跳到一个页面上,这就是重定向。

 

 

 

故事补充:情节二中你再去找别的主任,以前买的东西没有了吧,虽然故事中是把东西留第一个主任那了,回归到知识点的话,这有个知识点,就是Request域的生命周期是只存在于一次请求,因此等到重定向第二次请求服务器的时候,参数已失效。

具体学习转发和重定向看博客《重定向和转发是什么垃圾》。

 

补充:再补充一点,故事纯属虚构,我还没挂过科,在这提示并但愿学弟学妹们在真实生活中千万不要挂科,千万不要,千万!说三遍,很重要!!!

 

 

认识JSP

前面介绍并学习了Servlet,认真看了我推荐的博客的朋友确定知道咱们能经过Servlet向浏览器页面输出HTML样式,可是虽然能够输出,可是写着很麻烦,代码量很大,容易出错,就像下面图中所示的同样,这时候就到了JSP闪亮登场的时候了。

 

 

 

JSP不只成功解决了页面显示代码量大的困难,并且里面还能写Java代码并执行。功能也算是很强大了。以前我提到了,JSP是Servlet,其底层就是用Servlet写的,能够看看源码,如何看源码和如何知道JSP是Servlet,看《教你看JSP源码》,知道了这些以后就看如何去学习JSP,关于JSP的知识我以前写的很全,就不在这写了,看我博客就行《JSP学习一》  ,《JSP学习二》。

 

 

认识JSTL和EL表达式

JSP当然强大,但是也有不足,在写Java语句和HTML语句的时候,嵌套在一块儿书写也是很麻烦,看下图

 

 

这样写是否是感受也很麻烦,这时候JSTL和EL表达式也都闪亮登场,EL表达式语法简单,使用方便,用${  }代替了<%=  %>,简化了书写,还有JSTL,一些大牛们本身封装了一套代码,而后以标签的形式让咱们使用,实现快速开发,在JSP很火的时候,许多公司都有本身的标签库,都是本身封装的,这样就提升了开发效率,由于咱们能够自定义标签,能够本身封装代码,把一些经常使用的功能,好比说分页,封装成标签,通过一次封装后,下次不光能本身用,也能让别人用,许多代码只需几个标签快速实现,你的能力有多大,舞台就有多大。

 

我靠,纯手写3500字了,真能说,我不说了,好累好困,你们都在过暑假,而我却比在学校还忙,但愿越努力越幸运吧!

 

是时候跟Servlet、 JSP正式告别了,之后我可能不会再写Servlet了,至少目前这个暑假应该不会了,别人都说过期的JSP我却研究了这么久,唉,,,,,,不知道有没有意义,不说了,先这样吧,此篇完,欲知后事如何,请看下回分解。

*****************************************************************************************************

个人博客园地址:https://www.cnblogs.com/zyx110/

相关文章
相关标签/搜索