浅谈Servlet与JSP

2022-09-07 16:06:20 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

前言

提高Java Web 开发,不得不说http协议,接下来就说Servlet 和 Jsp 这两个java类。

正文

1、什么是JSP?

JSP(Java Server Pages)是Sun 公司指定的一种服务器端动态页面技术的组件规范,Jsp是以“.jsp”为后缀的文件,在该文件中主要是html 和少量的java 代码。jsp 文件在容器中会转换成Servlet中执行。

2、什么是Servlet?

Servlet (Server Applet)是Sun公司指定的一种用来扩展Web服务器功能的组件规范,属于服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 借用知乎上java老师的一句话:jsp就是在html里面写java代码,servlet就是在java里面写html代码

3、JSP与Servlet的区别和联系

  • 运行过程

客户在第一次请求JSP时,请求较慢,因为JSP Engine先把JSP程序转换成servlet代码,接着将它编译成类文件,以后贮存在内存中再次调用速度就快了; 访问servlet时,可以直接对其编译好的类文件执行。

  • 使用方式

要想使用servlet必须把它放在特定位置而且必须对其映射配置; jsp可以放在和html同样位置(webapps根目录下或者webapps根目录下的子目录下)而且不需要配置,可以直接使用。

  • 程序组成

Servlet在Java代码中通过HttpServletResponse对象动态输出HTML内容; JSP在静态HTML内容中嵌入Java代码,Java代码被动态执行后生成HTML内容

  • 职能分工

jsp更侧重于前端页面显示,servlet更侧重于业务逻辑。

  • 本是一家人 Jsp 本质上是servlet,用jsp实现的页面用servlet也能实现。

4、扬长弊端提出MVC

JSP 在Html 中加入了大量的、复杂的业务逻辑,如果后期业务逻辑发生改变,修改jsp 就会捉襟见肘; Servlet 虽然解决了业务逻辑的问题,但是通过字符串拼接的方式生成动态的Html 页面,也会导致代码臃肿,难以维护; MVC(Model-View-Controller)模式就扬长避短,将两者完美结合在一起,它把把软件系统分为三个层次:模型(Model)、视图(View)和控制器(Controller);

时序图说明:

1、Web浏览器发送HTTP请求到服务端,被Controller(Servlet)获取并进行处理(例如参数解析、请求转发) 2、Controller(Servlet)调用核心业务逻辑——Model部分,获得结果 3、Controller(Servlet)将逻辑处理结果交给View(JSP),动态生成的HTML内容并返回到浏览器显示

总结

感谢您的阅读,希望对您有所帮助!

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/148813.html原文链接:https://javaforall.cn

0 人点赞