什么是servlet?有什么作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是servlet?有什么作用相关的知识,希望对你有一定的参考价值。
1.什么是SERVLET?
Servlet是用Java编写的服务器端程序, 其主要功能在于交互式地浏览和修改数据,生成动态Web内容.
狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,我们一般将Servlet理解为后者。
这段话可能听起来有些绕, 但如果大家把Servlet与Spring MVC 的前端控制器 DispatcherServlet
结合起来理解, 应该立马就知道它是做什么的了. Servlet 是Java JDK提供的一个接口, 所有的Servlet都继承于它,
而DispatcherServlet是一个继承了实现了Servlet接口的类的类.
2.知识剖析
Servlet 的生命周期
Servlet 的生命周期分为三个阶段, 分别对应Servlet中的三个接口.
init() 初始化.
service() 处理客户端的请求, 具体业务逻辑. ServletRequest 对象用于获得客户端信息,ServletResponse 对象用于向客户端返回信息(客户端可以理解为浏览器)
destroy() 结束时调用. 这个方法只有在servlet的service方法内的所有线程都退出的时候,或在超时的时候才会被调用。
init() 和 destroy() 都只会在Servlet创建和销毁时调用一次, 而service() 则会在响应不同请求时多次调用.
注意Servlet是一个接口,实现了servlet的类,是不能直接处理请求的.
请求需要通过Servlet容器来发送到Servlet, Servlet是运行在Servlet容器中的.
Servlet容器是Web服务器和servlet进行交互的必不可少的组件。常见Web服务器有Tomcat, jetty, resin, 它们也可以称为应用服务器
3.常见问题
1. Servlet 如何接收才能接收到Servlet容器发来的请求?
2. Servlet 什么时候被初始化?
3. DispatcherServlet 如何处理容器发来的请求?
4.解决方案
1. Servlet 容器通过监听端口(8080)来接收用户发送的请求, 然后通过web.xml中的 Servlet-mapping 配置, 来匹配到请求Heades中的url信息, 将其转发到对应Servlet配置中的Servlet实现类完成请求接收.
2. Servlet 的初始化是由Web.xml 中的 loadOnStartup 配置控制的.
当 loadOnStartup < 0 或者不写时, 接收到第一次请求的时候实例化.
当 loadOnStartup > 0 web容器启动的时候做实例化处理,顺序是由小到大,正整数小的先被实例化
当 loadOnStartup = 0 web容器启动的时候做实例化处理,相当于是最大整数,因此web容器启动时,最后被实例化
3. 通过DispatcherServlet 的执行流程来看它时如何处理请求的
希望对您有所帮助!~
参考技术A 倒,这个项目很简单的。说白了就几个功能:1.根据学生和老师的角色划分不同权限,登录
2.上传下载功能
3.对数据库的增删改查
4.分页显示
要用到的页面也不多:
1.登录页面(学生和老师)//这里在登录页上放两个单选按钮就可以了
2.作业上传页面(学生)
3.作业下载页面(老师)
4.浏览页(学生和老师)//这里根据学生和老师的权限设置老师多一个下载的按钮本回答被提问者采纳
什么是servlet?servlet的作用?——计算机网络系列学习笔记
1. servlet的概念
简单来说servlet是运行在服务器上的java程序
servlet由servlet容器管理,servlet容器也叫 servlet引擎,是servlet的运行环境,给发送的请求和响应之上提供网络服务
2. servlet的作用
通俗来讲servlet专门用来接收客户端的请求,专门接收客户端的请求数据,然后调用底层service处理数据并生成结果
浏览器http请求 ——> tomcat服务器 ——> 到达servlet ——> 执行doGet(), doPost()方法 ——> 返回数据
- 客户端发送请求到服务器端
- 服务器将请求信息发送至Servlet
- Servlet生成响应内容并将其传给服务器。
- 服务器将响应返回给客户端。
3. servlet里的三大作用域:
request(请求):它的作用范围是一次请求和响应,是三个作用域中最小的。
session(会话):它的作用比request要大一点,一次会话过程中,它的作用域就一直存在,(默认是30分钟)
servletcontext:它作用范围最大,作用于整个服务器中。(Application)
以上是关于什么是servlet?有什么作用的主要内容,如果未能解决你的问题,请参考以下文章