【servlet】servlet和JSP的区别以及如何选择

显示用jsp,业务逻辑用servlet

Servlet写业务逻辑比较容易,显示页面起来很麻烦,JSP相反
JSP第一次执行会编译成Servlet 以后每次页面有改动的时候重新编译

 

 

sp就是特殊的servlet,之所以要jsp,是因为:


1、jsp可以和html代码直接糅合在一起,方便界面编程。而servlet只能用writer之类的输出html代码,做界面那叫一个痛苦!
2、jsp内置了许多servlet经常涉及的变量,如session、out等,拿来就用,方便。


一般来说以展示为主含有少许逻辑代码的响应用jsp输出渲染,而仅仅是逻辑处理或数据输出的响应就用servlet,servlet更适合于处理具有共性逻辑和复杂业务的响应。

所谓响应,就是一个收到一个web请求时request的返回内容response。

打个不一定最恰当的比喻,用纯文本编辑(servlet)写代码很累,但最灵活,用eclipse(jsp)编码很方便,但隐藏了很多细节,碰到底层问题就傻了。

 

 

 

servlet和jsp的联系:本质上都是servlet

ervlet是运行在服务器端的Java程序   
   jsp是嵌入html中的Java代码,其本质就是servlet,因为jsp运行时是要转化到servlet的service()方法里执行的   
   jsp一般用于前台页面的处理,servlet一般是后台操作。
   有时候在jsp中可以加<% %>里面写servlet语句,而在servlet中也可以通过out.println()中就入jsp。


servlet和jsp的区别:
a).servlet的优势:处理业务逻辑(只要与数据库进行交互)方便简单
servlet的劣势:显示内容给用户繁琐(显示)
b).jsp的优势:显示内容给用户简单方便
jsp的劣势:处理业务逻辑(只要与数据库进行交互)繁琐
所以综上可以说明servlet和jsp虽然说实现的功能一样,但是他们的优缺点是互补的,所以一般情况下做都是利用jsp和servlet一起使用,达到了一个相辅相成的状态。比如:完成注册功能,首先显示注册页面给浏览器,用jsp实现(reg.jsp),填写完注册信息提交,用servlet来实现(RegServlet),注册失败又该显示错误信息和注册页面,用jsp来实现(reg.jsp)。
注册成功  该显示成功信息和登录页面  用jsp来实现(login.jsp)

 

 

                   支持的语言种类     热更新               通过注解配置参数   
jsp                       多                 容器一般支持     不可
servlet                少                 一般不支持         可以

 

从本质上来说,jsp其实还是个servlet,你可以到tomcat的work\Catalina\localhost这个路径下去找到jsp编译之后的.java文件,从MVC的角度上来说,servlet实现了viwe与controller的分离

 

按照MVC ,JSP只要视图层 只做展示

 

大型网站一般用          jsp+servlet+javaebean(mvc),

小型一般                    jsp+javabean

 

 

最后:这货比Spring mvc更靠谱么?

 

原文:https://bbs.csdn.net/topics/390308181

posted on 2022-10-04 01:28  bdy  阅读(32)  评论(0编辑  收藏  举报

导航