大家好,又见面了,我是你们的朋友全栈君。
前言
提高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内容并返回到浏览器显示
总结
感谢您的阅读,希望对您有所帮助!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/148813.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...