首页 > 编程语言 >JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别

JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别

时间:2023-06-06 22:01:23浏览次数:57  
标签:Java JavaWeb Servlet 代码 HTML JSP servlet 浅析


维基百科中 JSP 的定义


JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别_Java

JSP(全称JavaServer Pages)是一种使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。

JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。JSP被JSP编译器编译成Java Servlets。一个JSP编译器可以把JSP编译成JAVA代码写的servlet然后再由JAVA编译器来编译成机器码,也可以直接编译成二进制码。

从架构上说,JSP可以被看作是从Servlets高级提炼而作为JAVA Servlet 2.1 API的扩展而应用。

Java服务器页面(JSP)是HttpServlet的扩展。由于HttpServlet大多是用来响应HTTP请求,并返回Web页面(例如HTML、XML),所以不可避免地,在编写servlet时会涉及大量的HTML内容,这给servlet的书写效率和可读性带来很大障碍,JSP便是在这个基础上产生的。其功能是使用HTML的书写格式,在适当的地方加入Java代码片段,将程序员从复杂的HTML中解放出来,更专注于servlet本身的内容。

JSP在首次被访问的时候被应用服务器转换为servlet,在以后的运行中,容器直接调用这个servlet,而不再访问JSP页面。JSP的实质仍然是servlet。

JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别_java web_02

JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别_java web_03


两者之间的异同


不同之处

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

各自的特点

  • Servlet能够很好地组织业务逻辑代码,但是在Java源文件中通过字符串拼接的方式生成动态HTML内容会导致代码维护困难、可读性差
  • JSP虽然规避了Servlet在生成HTML内容方面的劣势,但是在HTML中混入大量、复杂的业务逻辑同样也是不可取的

通过 MVC 双剑合璧

JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别_Java_04

JavaWeb基础(5)—— 浅析 Servlet 与 JSP 两者之间的区别_java_05


Reference


1、Java Servlet
https://zh.wikipedia.org/wiki/Java_Servlet

2、JSP
https://zh.wikipedia.org/wiki/JSP

3、Jsp和Servlet有什么区别?
https://www.zhihu.com/question/37962386


标签:Java,JavaWeb,Servlet,代码,HTML,JSP,servlet,浅析
From: https://blog.51cto.com/u_16152603/6428549

相关文章

  • jsp调用数据库
    deviceInfos.jsp<%@pageimport="java.io.BufferedReader"%><%@pageimport="java.io.FileReader"%><%@pageimport="java.io.*"%><%@pageimport="java.sql.*"%><%@pagelanguage="java&qu......
  • Druid使用起步—在javaWeb项目中配置监控
    配置druid监控springjdbc代码[url]http://19950603.blog.51cto.com/9921553/1616566[/url]AliDruid连接池与监控配置[url]http://langmnm.iteye.com/blog/2112099[/url]阿里巴巴Druid配置监控官方:[url]https://github.com/alibaba/druid/wiki/%E9%85%8D%E7%BD%AE_StatV......
  • javaweb课程设计——商城项目
    目录本项目前端成员csdn地址:一、项目截图二、前端项目介绍最后源码地址本项目前端成员csdn地址:【后端】【前端】一、项目截图二、前端项目介绍ChangeAtWill:前台项目ChangeAtWill-admin:后台项目前端需要环境nodejsv16版本下载链接https://nodejs.org/download/release/v16......
  • JSP的page指令+九大内置对象+El表达式
    1. JSP的指令  49  - 指令的作用:指导JSP的翻译引擎如何工作(指导当前的JSP翻译引擎如何翻译JSP文件。)1.1 指令包括哪些呢?  49    - include指令:包含指令,在JSP中完成静态包含,很少用了。    - taglib指令:引入标签库的指令。这个到JJSTL标签库的时候再学习。现在先......
  • 毕业设计论文--外文翻译:JSP技术简介
    作者主页:编程指南针作者简介:Java领域优质创作者、、多年架构师设计经验、腾讯课堂常驻讲师主要内容:Java项目、毕业设计、简历模板、学习资料、面试题库、技术互助文末获取源码   在编写计算机论文时,学校一般都有对外文参考文献的要求,并要求选取一篇进行翻译,以作编写论文的参考......
  • IDEA 创建JavaWeb项目(不依赖 springboot)手动整合 SSM框架
    目录 1.创建一个Maven项目2.创建webapp和WEB-INF目录即可3.设置web.xml文件和web文件目录4.导入相关ssm框架的pom依赖文件5.创建对应的包结构:6.添加配置文件(配置mybatis、spring、springMvc等配置文件)7.web.xml配置文件8. 配置本地Tomcat运行9.打包发布1.创建一个Mav......
  • log4j2<PatternLayout>子节点浅析
    log4j2<PatternLayout>子节点浅析 首先声明本文并不教您怎么用log4j2,仅仅只对<PatternLayout>子节点进行说明。要看懂本文需要对log4j2有一定的了解,至少能够知道<Appenders>、<Layouts>和<Loggers>的区别。本文主要参考对象为log4j2官方手册:《ApacheLog4j2v.2.1User'sGuide......
  • JavaWeb——Tomcat服务器的安装与使用
    今天阿Q带大家了解服务器的概念以及tomcat服务器的安装和使用方法,废话不多说直接上干货。Web开发中的常见概念(1)B/S系统和C/S系统Brower/Server:浏览器、服务器系统-----网站Client/Server:客户端、服务器系统-----QQ、大型游戏(2)web应用服务器供向外部发布web资源的服务器软件......
  • 利用JSP交互式打印表格
    问题:在客户端输入要打印表格的行数rows和列数cols,然后经过服务端处理打印rows*cols的表格,打印数据为i*j。html部分:文件名:input.html<html><head><title>Hello</title></head><body><formaction="input.jsp"method="post"><tablebord......
  • JSP中四种属性范围
    在JSP中提供了四种属性的保存范围,所谓属性保存范围,指的就是一个设置的对象,可以在多少个页面中保存并继续使用。四种属性范围:pageContext     在一个页面中保存属性,跳转之后无效。request             只在一次请求中保存,服务器跳转之后依然有效。session  ......