jsp与servlet的区别和关系

哎哟,你这是要来个技术分享啊?哈哈,说起来,我接触JSP和Servlet也有好多年了,那时候刚毕业,啥都不懂,就一头扎进了这个坑里。

记得那会儿,2 008 年吧,我在一家小公司做网站开发,那时候Java刚兴起,大家都在学。
我那时候就是从Servlet开始学的,那时候感觉这玩意儿挺高级的,纯Java写的,输出HTML页面也方便。
不过,那时候的Servlet输出HTML是老式的CGI方式,就是一句一句输出,写个HTML页面,那叫一个费劲啊。

然后,为了解决这个痛点,2 001 年左右,Sun公司推出了JSP。
这玩意儿就像是Servlet的升级版,但是更直观,更方便。
你可以在HTML页面里直接写Java代码,就像是在写ASP一样简单。
那时候,我第一次用JSP,感觉就像打开了新世界的大门,写页面再也不用那么痛苦了。

说回JSP和Servlet,其实它们挺相似的,都是用Java写的,都能控制流程,管理事务。
不过,它们还是有区别的。
比如,JSP是基于Servlet的,所以本质上JSP就是Servlet,但是JSP更侧重于视图层,而Servlet更侧重于控制层。
现在流行的MVC模式,就是用Servlet来控制业务流程,用JSP来展示视图。

我那时候的项目,就是用Servlet来处理业务逻辑,然后用JSP来展示页面。
记得有一次,有个客户要求我们做一个在线商城,那时候我负责后端开发,用Servlet处理订单,用JSP展示商品页面,那叫一个忙活啊。
不过,最后项目上线,客户还挺满意的。

现在想想,那时候的技术确实简单,但是也很有趣。
现在,虽然框架和技术都更新换代了,但是JSP和Servlet的基本概念还是没变。
哎,时光荏苒,技术也在不断进步,不过,有些东西是永远不会过时的。

JSP和servlet的关系是什么?

嘿,说到JSP和Servlet,这俩玩意儿在Web开发界可是有点历史了。
说实话,我第一次接触Servlet的时候,那还是在上个世纪末,那时候Java Web开发才刚刚起步呢。

记得那时候,没有JSP,Servlet可是主流。
Servlet是啥呢?简单来说,它就像是一个中间件,负责处理用户请求,然后生成HTML页面。
不过,那时候的Servlet开发可真是费劲,得手动写大量的HTML标签和静态文本,那效率,低得简直了。

那时候,我负责的一个项目,得写几百行代码才能生成一个简单的页面,那感觉,就像是在迷宫里找出口。
有意思的是,后来JSP出现了,一看这名字,我还以为它跟Java无关了呢,结果呢,它其实还是Servlet的变种。

JSP页面看起来像是HTML,但别忘了,它其实是个Servlet。
每个JSP页面在服务器上运行时,都会被转换成一个Servlet实例。
也就是说,当你访问一个JSP页面时,其实是调用了对应的Servlet来处理请求,然后生成HTML页面返回给你。

举个例子,像Tomcat这样的Servlet容器,它会将JSP页面转换成Servlet,然后放在工作目录下。
这样,当你访问一个JSP页面时,Tomcat就会调用对应的Servlet来处理请求,生成HTML页面。

所以说,JSP其实是一种更便捷的Servlet开发方式。
它简化了代码,让开发者能更快地开发出Web应用。
不过,别看JSP现在看起来简单,它背后的原理其实还是挺复杂的。
当时我刚开始学的时候,也是有点摸不着头脑,但现在回想起来,还是挺有意思的。

servlet和jsp之间的关系

哎哟,这JSP和Servlet的玩意儿,我当年刚搞Java Web开发那会儿也头疼过。

记得那是2 01 0年左右吧,我在杭州一家小公司做项目。
当时老板让用JSP写前端页面,我自己琢磨着,感觉JSP就像是个偷懒的办法,反正把HTML和Java代码写一个文件里,省得弄一堆Servlet文件。
当时有个哥们儿跟我说,JSP编译后就是个Servlet,反正最后不都跑服务器上转成字节码嘛。

但后来发现,这玩意儿分分合合也挺麻烦。
你看,Servlet它就是个Java类,写逻辑的时候,你打开文件就是一堆Java代码,跟HTML隔得清清楚楚。
那时候我们写一个购物车功能,在Servlet里写逻辑,然后请求转发到JSP页面展示。
有时候调试起来,得在IDE里看Servlet的变量怎么传到JSP,再怎么在页面里显示。
你说这麻烦不麻烦?HTML里混着Java代码,有时候改个逻辑,不小心把页面标签给弄坏了,调试起来真够呛。

反倒是后来接触Spring MVC的时候,感觉那才叫清晰。
Controller(相当于Servlet的角色)就负责接收请求,调用Service层处理,然后返回一个视图名。
具体的页面渲染,那是JSP或者Thymeleaf啥的,跟后端代码彻底分开了。
那时候我们团队效率高多了,前后端分开搞,谁也不影响谁。

不过话说回来,JSP它简单啊,特别是当年那些刚学Java Web的,直接把HTML和Java写一块儿,也能快速看到效果。
你想想,刚毕业的小年轻,连数据库连接都还没摸熟呢,直接上手JSP写个注册登录页面,那种成就感...啧啧。

所以啊,这事儿吧,没绝对的好坏。
当年我们那个项目,用JSP也搞了两年,坑是踩了不少,但也确实解决了当时的需求。
现在想想,要是早点用Spring MVC,可能死的都少点儿。
不过,这技术迭代快,现在谁还天天写JSP啊?年轻人都玩框架去了。

你问现在情况?我这几年没怎么碰这行了,不敢乱讲。
但肯定,JSP现在用得比以前少多了,除非是那种特别老的系统或者培训机构演示,估计还用着。