Serlvet、JSP和JSTL的联系
没有无缘无故的爱和恨,没有无缘无故的编程
前言:
想这世间,没有无缘无故的爱,也没有无缘无故的恨,一切都有有原因的,我想编程亦是如此,技术时常更新,程序员时常学习,随着时间的推移,程序员发际线的增高,生活无处不编程,未来必将是编程的天下,大势所趋,人工智能的时代已经到来,程序员还会少吗?敢问路在何方,路在脚下,人人心中的压力都是来自于自己不努力不积极而又不甘于现状,少给自己找借口,多给自己找方法,幸运女神不是人人都能遇到的,还是正确面对现实,我命由我不由天,人生赢在转折处,改变从现在开始。
一览众山小
大学两年光景已然,往日不复返,何必再留恋,且看当下,人生路漫漫,我欲求生计,奈何轻阅历,在此感叹曰:年少无知,虚度光阴,欠债还钱,因果自负。
行了,不扯淡了,奔主题,正式学JAVA是从大二下学期开始的,算算时间,也四个多月了,不说学会了多少,至少对编程思想有所理解,我觉得学编程不是学具体哪门语言,而是学编程思想,编程思想就是心法,语法函数就是招法,注重心法而忽视招法,有句话叫“得行而忘意,无异于舍本逐末;得意而忘形,方能游刃有余”,要记住,一切语言都是纸老虎,要成为风清扬式的一代大师,无招胜有招,这个我的个人追求。
大一学C语言,后学C++,再到学Java,一路学过来,发现语言都是互通的,要分几个模块的话,我觉得基础部分变量,常量,数据类型,控制流程,函数,数组,面向对象思想这些是老把式,你要是会这些,就能行走于江湖,吹吹牛聊聊天喷喷天还是可以的,但是你要想成为一代大师,这些只是扎扎马步,基本功,你要学的东西有很多。
就拿我现在所理解的Java来说,除了刚才所说的老把式基础,就是工具类的学习,Java中无非就两种,自己创建类库和使用别人的类库,先说使用别人的类库,就是别人把常用的功能方法封装起来整合到相对应的包下,那我们如何使用呢,很简单,看API文档即可,那些基础语法就相当于小时候学的拼音,英语中的26个英文字母,那这个API就相当于新华字典,英语字典,所有的类库都在API文档中以不同的包名分类,存在于此,用的时候想用什么,就从相对应的包下去查找使用即可。那再说自己创建类库,就是自己写一个类,这个类中的方法在很多场景中都能通用,那为了方便,减少代码量,就把这个类打包,然后自己或别的人要用的时候导入这个包就可以使用了,用什么导什么,这就是我们为什么总要导包的原因。
学好了这些,再去学一些数据存储,说到数据存储,其实学C语言和C++的时候最清楚了,链表那玩意学起来真的头疼,当时硬着头皮学还学不懂,要不是后来顿悟,期末的课程设计都估计悬了。后来学Java才知道Java中不用自己去写链表了,那些复杂的东西都被大牛们封装到类里面了,用的时候直接用就行了,听着就兴奋,拍手叫好。刚开始学集合框架,懂得了如何存储数据,但是这玩意就是存着玩的,不能持久存储,再后来就学了数据库,连着学习JDBC,然后把之前存在集合中的数据搞到数据库里了,啧啧啧,美滋滋。
到这一步,Java成神之路才刚刚开始,踏上征程,披荆斩棘,谁敢阻我。呵,真遇到一道鸿沟,走着走着我好像看到了前端后端的分水岭,由于大二上学期学校开了Web前端课程,HTML,CSS,JavaScript简单学了点,而现在Java一路学来,都在控制台输出,冲到现在,我仿佛看到了外面更精彩的世界,我需要一个东西从这跨过去,别急,这个时候Servlet等不及了,来呀老兄,我带你去看看,你还别说,这老兄真厉害,有个哥们想在浏览器地址栏访问泰斗贤若如的博客,输入https://www.cnblogs.com/zyx110/后得先请求Servlet,Servlet同意后才给你个响应,让你访问泰斗贤若如的博客,我靠,牛逼啊,我看见这Servlet就感觉发现了新大陆一样,我决定我要跟着这哥们混。
我跟着Servlet混了好长一段时间后,我慢慢发现,这家伙虽然强大,但也有弱点,就是往浏览器页面输出的时候写太多代码了,好麻烦的。刚想着这事呢,由打对面过来一哥们,拍了我一下,说:想啥呢你?我愣了一下,一看,不认识,我问他,你谁啊?他说:我叫JSP,是Servelt的同胞兄弟。啥玩意,我吓了一跳,跟Serlvet这么长时间了,也没听Servlet提起过。JSP说:别瞎想了,没骗你,我和Servlet我俩一样,只不过名字不一样罢了。然后我跟JSP聊,聊完才知道,我靠,这才是大佬,虽然和Servlet差不多,但是他在浏览器页面上输出显示的时候比Servlet好写多了,我跟JSP说,你好牛逼啊,不仅能写Java代码,还能这么轻松的向网页输出,果然是高人不露相啊。JSP笑了笑说,别捧我了,每个人都有每个人的优缺点,我也是有缺点的。我有点好奇,就问,你还有缺点啊,说来听听。JSP毫不吝啬,把他的缺点都如数跟我说了,他说他虽然能把Java代码和HTML等前端代码混着写,但是这样也很麻烦,代码量依旧很大。我还有俩好兄弟,我可以给你认识认识,叫JSTL和EL表达式,他俩跟我关系很好,我身上的缺点在他俩那都不是事,赠你俩标签就能搞定,如果你不想用他给的标签,我可以让他教你自定义标签,你可以自己封装自己定义,用的时候把你自定义的标签往我那一放,一大堆代码俩标签就能搞定,那才节省代码量呢,而且别人也能用你自定义的,只需要引入你定义的标签库就行,老牛逼了,咋样,想不想认识。我都听傻了,我靠,我靠,我靠,激动的说不出话了,给JSP一个走的眼神,他就带我去找JSTL和EL表达式了。人生就是这样,真是无巧不成书啊,哈哈。
到了JSTL和EL表达式的家,他俩住一块呢,JSP首当其冲,过去说两位老兄近来可好啊,那俩一看是JSP,也高兴,JSTL说你来的刚好,前两天给别人自定义了个分页的标签,给送了两瓶茅台,咱兄弟三刚好,如何?JSP说,先别急,我今天还带来一人,想认识认识你俩呢。JSTL说好啊,在哪呢?就在门口呢,我叫进来,等着。我一直在门口等着呢,见JSP出来了,迎上去,JSP说,走,带你见见俩老哥。说完我就跟着JSP进去了,看见屋里俩人,肯定没错了,我主动说,小生是一个学习JAVA的菜鸟,久仰两位大神大名,特来拜访。JSTL和EL表达式倒也谦虚,真正的大佬都这样,待人亲切和善,我很喜欢。JSTL说,兄弟严重了,什么大神不大神的,说着拿出两瓶茅台来,来,今天不醉不归。都是性情中人,我坐那就直接和他们喝上了,喝的差不多,我跟他们聊天,我说,我听说这边有很多大神,什么叫Spring,SpringMVC,SpringBoot啥的,你们认识吗?JSTL看看我,一个人哈哈大笑了起来,他喝的有点多了,一听我这话,跟我说:啥大神,你也太高看他们了,他们只不过跟着我们和Servlet混了些日子,熟了之后用我们几个人的一些东西结合自身学到的基础自己封装了一下,叫啥SSM框架啊啥的起了个名,然后带出去,给很多程序员解决了一些问题,所以用的人挺多的,时间长了名气就大了,不知道的都感觉他们很牛逼,其实就是用了我们这些底层的东西封装了一下而已,你也可以封装,你要是有实力,我们几个帮你,你也能出名。我一听,笑了,哈哈,小生不才,还没那本事,就指望能跟几位大神多处处,多学学,出来后能混碗饭吃就知足了,那些虚名不要也罢。JSTL一拍我肩膀,好兄弟,不浮躁,将来必成大器(这是我编的,哈哈,先努力吧),来,,喝。。。。。。。。
本节完,欲看后事如何,请看下回分解
*****************************************************************************************************
我的博客园地址:https://www.cnblogs.com/zyx110/
Serlvet、JSP和JSTL的联系的更多相关文章
- 【jsp】JSTL标签大全详解
一.JSTL标签介绍 1.什么是JSTL? JSTL是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言!JSTL标签使用以来非常方便,它与JSP动作标签一样,只不过它不是 ...
- JavaEE之动态页面技术(JSP/EL/JSTL)
动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...
- JavaWeb之JSP & EL & JSTL
JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...
- jsp之jstl(展示所有商品、重写登录案例)
jsp之jstl jstl: jsp标准的标签库语言,apache的,是用来替代java脚本 使用步骤: 1.导入jar包 (jstl.jar和standard.jar) 2.在页面上导入标签库 &l ...
- JSP、JSTL标签、EL表达式
JSP.JSTL标签.EL表达式 1.EL表达式:${} 功能: 获取数据 执行运算 获取web开发的常用对象 2.JSP标签 例如: jsp标签还有很多功能,这里只列举出一种. <jsp:fo ...
- JSP页面JSTL提供的函数标签EL表达式操作字符串的方法
首先在jsp页面导入标签<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions&quo ...
- jsp中jstl标签的类似 if - else 语句 的语法
在jsp中引入jstl的标签库和函数库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c&q ...
- 转载:jsp中jstl标签的类似 if - else 语句 的语法
原文链接:http://www.cnblogs.com/wanggd/archive/2013/05/27/3101788.html 在jsp中引入jstl的标签库和函数库 <%@ taglib ...
- JSP的JSTL标签使用
JSTL标签和asp.net中的webform控件很像,但是功能确比asp.net的强很多. 配置过程,从最简单的项目开始: 1.下载JSTL标签库:http://archive.apache.org ...
随机推荐
- 【python之路.一】基础
数学操作符 数据类型 字符串复制(*复制次数int).连接(+) 该类操作只能同为字符串类型,否则需要强制转换类型 变量名规则 (驼峰式变量名&下划线式均可) # 注释 BIF(built-i ...
- 如何使用1行代码让你的C++程序控制台输出彩色log信息
本文首发于个人博客https://kezunlin.me/post/a201e11b/,欢迎阅读最新内容! colorwheel for colored print and trace for cpp ...
- go语言之变量
1.go的hello world package main //申明开头,表示代码所属包,申明为main包,可以编译为二进制程序 import ( "fmt" ) //导入格式化包 ...
- Spring 框架基础(01):核心组件总结,基础环境搭建
本文源码:GitHub·点这里 || GitEE·点这里 一.Spring框架 1.框架简介 Spring是一个开源框架,框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 ...
- go源码解析-Println的故事
本文主要通过平常常用的go的一个函数,深入源码,了解其底层到底是如何实现的. Println Println函数接受参数a,其类型为-interface{}.用过Java的对这个应该比较熟悉,Java ...
- 案例:使用dbms_xplan.display_cursor无法获取执行计划
案例:使用dbms_xplan.display_cursor无法获取执行计划 环境:RHEL 6.5 + Oracle 11.2.0.4 在一次测试中发现使用dbms_xplan.display_cu ...
- Python中为什么不能用可变对象作为默认参数的值
def func(numbers = [], num=1): numbers.append(num) for number in numbers: print(number) func() >& ...
- webpack + typescript + babel打包*.min.js文件的环境配置
将多个*.ts文件打包成一个*.min.js文件的开发配置 1.初始化 npm init 新建以下文件目录: 2.安装依赖: "devDependencies": { " ...
- jquery.wordexport.js打印echarts.js画出的柱状图
jquery.wordexport.js打印echarts.js画出的柱状图. echarts画出的图是不能直接打印出来的(echarts的柱状图是用canvas画出来的),而jquery.worde ...
- RCA:收单设备调用云端接口频繁超时排查总结
研发中心/王鹏 2019年7月 关键词:OKHTTP,安卓,连接复用,开源软件BUG 一.背景知识: OKHTTP已是安卓项目中被广泛使用的网络请求开源库,它有如下特性: 1.支持HTTP/2,允许所 ...