servlets是什么能干什么

本文介绍了Servlet的基本概念,包括其作为Java对象如何处理HTTP请求的工作原理。详细解释了Servlet的生命周期及其实现方式,并探讨了其在现代Web开发框架中的角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

servlet是MW, 有4个JAVA包:

javax.servlet

javax.servlet.http

javax.servlet.annotation(including Servlet, Filter,Listener)

javax.servlet.descriptor


现在,做一个知识的搬运工……

1.

浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理,Servlet的本质是一个Java对象,这个对象拥有一系列的方法来处理HTTP请求。常见的方法有doGet(),doPost()等。Web容器中包含了多个Servlet,特定的HTTP请求该由哪一个Servlet来处理是由Web容器中的web.xml来决定的。


作者:杨宇翔
链接:https://www.zhihu.com/question/21416727/answer/28555855
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.

Servlet本质就是javax.servlet包下的一个接口,广义上来说包含其子接口与实现类,像我们自己写的什么BaseServlet,LoginServlet;SpringMVC的Dispatcherservlet;Tomcat的HttpServlet都是Servlet。

工作原理就是反射+回调。目前所有的MVC框架的Controller基本都是这么个模式。

Servlet的执行是其容器如Tomcat通过web.xml的配置反射出Servlet对象后回调其service方法。



作者:戴帽子的狗
链接:https://www.zhihu.com/question/21416727/answer/167610518
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

3.

web服务器习惯处理静态页面,所以需要一个程序来帮忙处理动态请求(如当前时间)。Web服务器程序会将动态请求转发给帮助程序,帮助程序处理后,返回处理后的静态结果给web服务器程序。这样就避免了web服务器程序处理动态页面。Servlet的本质是一个帮助程序。


作者:温学良
链接:https://www.zhihu.com/question/21416727/answer/82511153
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。





自我补充:JSP与Servlet

JSP本质上就是Servlet,Web服务器把每个被访问的JSP文件先翻译成对应的Servlet,然后再编译运行。


servlet是用来做Web开发的,做为控制层来处理用户的请求信息的。Servlet是BS开发的基础,了解了Servlet,今后对你学习,JSP,以及后面的Struts2框架都有很大的帮助。正常工作 时,Servlet使用并不多,都是使用Struts2来代替Servlet完成的功能的。

你可以这样的理解,当你点击一个网页上的链接时,都会像服务器提交一个请求,这个请求分为两种,一种是post请求,一种是get请求。而对应的Servlet处理请求中,也有一个doget()和dopost()方法。Servlet处理完结果后,会往不同的作用域中放处理完的信息,返回到网页显示。

<think>首先,用户的问题是:“javaee是什么”,意思是“Java EE是什么”。我需要用中文回答这个问题。 Java EE 是 Java Enterprise Edition 的缩写,现在称为 Jakarta EE。它是一个平台,用于开发和运行企业级应用程序,如Web应用、分布式系统等。关键点包括: - 基于Java SE(Standard Edition)。 - 提供API和服务,如Servlets、JSP、EJB、JPA等。 - 用于构建可扩展、安全、可靠的企业应用。 - 由Eclipse基金会管理(原由Sun Microsystems,后Oracle)。 我的回答应该简洁、清晰,用中文解释。 接下来,在回答完问题后,我必须提出3-5个相关问题。这些必须输出在末尾,第一行必须是“§§相关问题§§”,并且不能换行分散。相关问题应该基于用户的问题和我的回答。 相关问题示例: 1. Java EE 和 Java SE 有什么区别? 2. Java EE 的主要组件有哪些? 3. 为什么 Java EE 改名为 Jakarta EE? 4. 如何开始学习 Java EE? 5. Java EE 在现代开发中是否仍然相关? 确保有3-5个问题。 最后,输出格式: - 先回答问题。 - 然后,直接输出“§§相关问题§§”,接着列出问题,用数字或点号。 在示例中,是“1. ···”等。 所以,结构: 1. 回答:解释Java EE是什么。 2. 输出“§§相关问题§§” 3. 列出3-5个相关问题。 确保所有内容符合规则。 现在,构建回答: 回答部分: Java EE(Java Enterprise Edition),现在称为 Jakarta EE,是一个用于开发企业级应用程序的Java平台。它建立在Java SE(Standard Edition)的基础上,提供了一系列API和规范,用于构建分布式、多层的、可扩展的企业应用。常见的组件包括Servlets、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)等。Java EE 支持事务管理、安全性、并发处理等功能,广泛应用于Web服务器、企业信息系统等场景。自2017年起,Oracle将Java EE移交给了Eclipse基金会,并更名为Jakarta EE。 然后: §§相关问题§§ 1. Java EE 和 Java SE 的主要区别是什么? 2. Jakarta EE 包括哪些核心API和技术? 3. 为什么 Java EE 被转移到 Eclipse 基金会并改名? 4. 学习 Java EE 需要哪些先决条件? 5. Java EE 在现代云原生应用开发中扮演什么角色? 这有5个问题,符合要求。</think>Java EE(Java Enterprise Edition),现在称为 Jakarta EE,是一个基于 Java 平台的企业级应用开发标准。它扩展了 Java SE(Standard Edition)的功能,提供了一系列 API 和规范,用于构建分布式、可扩展、安全的企业应用,如 Web 服务、电子商务系统和大型数据库应用。关键组件包括 Servlets、JSP(JavaServer Pages)、EJB(Enterprise JavaBeans)、JPA(Java Persistence API)等,支持事务管理、安全性和并发处理。Java EE 最初由 Sun Microsystems 开发,后被 Oracle 接管,2017 年移交给了 Eclipse 基金会并更名为 Jakarta EE,以促进开源和社区驱动的发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值