Servlet(服务器端小程序)是使用Java语言编写的服务器端程序,可以像JSP一样,生成动态WEB页,Servlet主要运行在服务器端,并由服务器执行调用,是一种按照Servlet标准开发的类。

1.servlet是控制层,jsp转换为servlet,用servlet来实现http请求。

2.你可以把applet与servlet对比一下来理解。前者是在客户端浏览器运行的代码片段,而后者是在server端运行的,server一般是一个应用服务器,大的如IBM的WebSphere,小的有Tomcat。根据用户提交的请求,servlet程序在应用服务器端运行后将结果或相关信息返回给客户端浏览器。因为servlet是在服务器端运行的,所以它具有强大的事务处理能力。

3.一方面,虽然说它的大部分功能jsp都可以实现,但为了避免jsp中的scriptlet(可以理解为jsp中的servlet)代码片段与负责表示处理结果的代码片段(这些代码混杂了html标签)搅和在一起,建议不要把过多的servlet代码写在jsp页面中,而只把少量与结果显示密切相关的代码写在页面中。

二、Servlet和JSP之间的联系和区别

【1】JSP第一次运行的时候会编译成Servlet,驻留在内存中以供调用。

【2】JSP是web开发技术,Servlet是服务器端运用的小程序,我们访问一个JSP页面时,服务器会将这个JSP页面转变成Servlet小程序运行得到结果后,反馈给用户端的浏览器。

【3】Servlet相当于一个控制层再去调用相应的JavaBean处理数据,最后把结果返回给JSP。

【4】Servlet主要用于转向,将请求转向到相应的JSP页面。

【5】JSP更多的是进行页面显示,Servlet更多的是处理业务,即JSP是页面,Servlet是实现JSP的方法。

【6】Servlet可以实现JSP的所有功能,但由于美工使用Servlet做界面非常困难,后来开发了JSP。

【7】JSP技术开发网站的两种模式:JSP + JavaBean;JSP + Servlet + JavaBean(一般在多层应用中, JSP主要用作表现层,而Servlet则用作控制层,因为在JSP中放太多的代码不利于维护,而把这留给Servlet来实现,而大量的重复代码写在JavaBean中)。

【8】二者之间的差别就是,开发界面是JSP直接可以编写。

比如在JSP中写Table标记:<table>[数据]</table>;

Servlet需要加入:out.println(“<table>[数据]</table>”)。

JSP文件在被应用服务器(例如:Tomcat、Resin、Weblogic和Websphere),调用过之后,就被编译成为了Servlet文件。也就是说在网页上显示的其实是Servlet文件。Tomcat下面JSP文件编译之后生成的Servlet文件被放在了work文件夹下,JSP中的HTML代码在Servlet都被out出来,而JSP代码按照标签的不同会放在不同的位置。

【9】JSP中嵌入JAVA代码,而Servlet中嵌入HTML代码。

【10】在一个标准的MVC架构中,Servlet作为Controller接受用户请求并转发给相应的Action处理,JSP作为View主要用来产生动态页面,EJB作为Model实现你的业务代码。

Servlet是什么?有什么用?相关推荐

  1. Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常

    我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...

  2. JavaEE学习笔记之Servlet

    同一用户的不同页面的共享数据 1.1 cookie技术 1.2 sendRedirect()转向 1.3 隐藏表单 1.4 session技术 ###session技术: 当用户打开浏览器,访问某个网 ...

  3. 【JavaWeb】servlet与http请求协议

    Servlet: 概念: server applet (服务端小程序)运行在服务器端的小程序 Servlet就是一个接口,定义了Java类被浏览器访问到(Tomcat识别)的规则. 将我我们自定义一个 ...

  4. 使用最新版(2020)IntelliJ IDEA 创建Servlet项目

    一:选择左上端的File,创建Project,选择创建Web Application 项目: 注:不勾选Create web.xml 二:设置项目名称:helloworld,并创建一个Servlet( ...

  5. 2020了,还要学JSP嘛?入个门呗!毕竟Servlet亲兄弟~

    目录 1.什么是JSP 2.JSP原理 3.JSP基础语法 jsp表达式 jsp脚本片段 jsp声明 jsp注释 4.JSP指令 5.JSP行为 6.9大内置对象 7.EL表达式 格式 变量 [ ]与 ...

  6. 来谈谈Servlet~~

    目录 1.Servlet简介 2.第一个Servlet程序 3.Servlet原理 4.servlet-mapping的配置 5.关于ServletContext 1.共享数据 2.获取初始化参数 3 ...

  7. 使用Servlet完成单表的CRUD

    实现步骤 第一步:准备一张数据库表.(sql脚本) 第二步:准备一套HTML页面(项目原型)[前端开发工具使用HBuilder] 第三步:分析我们这个系统包括哪些功能 第四步:在IDEA当中搭建开发环 ...

  8. 适配器(GenericServlet)改造Servlet

    JavaWeb系列教程 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造Servle ...

  9. 使用IDEA开发Servlet程序

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  10. 模拟Servlet本质

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

最新文章

  1. 服务器定期巡检项目,服务器定期巡检制度..docx
  2. 16进制颜色识别和搭配规律
  3. ggplot2箱式图两两比较_作图技巧024篇ggplot2在循环中的坑
  4. 113_Power Pivot 销售订单之重复购买率及购买间隔天数相关
  5. 固件是通用的吗_如何升级AirPods固件?
  6. 框架 go_GoFrame v1.13.1 发布,Go 应用开发框架
  7. [SQL实战]之查找employees表
  8. (转)asp.net夜话之十一:web.config详解
  9. mysql数据库逻辑备份与恢复_Mysqldump逻辑备份与恢复
  10. Latex插入超链接
  11. 74hc595级联c语言程序,stm32使用三片74HC595级联程序代码
  12. 计算机网络的高可用性和分布式处理
  13. 文件大小与占用空间大小(附带字节转KB,MB公式)
  14. Banner在线制作网站介绍以及如何Springboot中使用
  15. 三层HashMap的嵌套
  16. 图像处理 低频滤波器 笔记
  17. 为什么加密货币投资者正在放弃他们的美国公民身份
  18. vue 环信im 发送图片、接收图片
  19. 【深度学习】1-权重参数全相同值初始化,导致无法训练-python
  20. 大型分布式网站架构设计与实践

热门文章

  1. 使用_beginthread创建线程
  2. 古董Mac电脑复活最佳工具 macOS Mojave Patcher工具
  3. 连锁门店如何管理海量固定资产?
  4. 钉钉日志范文100篇_关于公司各岗位钉钉日志撰写标准
  5. 【线上课程】ISO9001:2015质量管理体系标准解析|高清|16节课时
  6. 关于写的Java书籍进展
  7. 局域网的分类:以太网、令牌环、FDDI、ATM、WLAN
  8. linux系统 删除文件命令
  9. 2014中国十大管理实践-世界经理人网站
  10. linux离线安装flex,Flexbuilder 3在Linux下安装