文档章节

学学Java Servlet:servlet的简介

FrendLin
 FrendLin
发布于 2016/07/15 18:16
字数 509
阅读 122
收藏 5

学学Java Servlet:servlet的简介

基本介绍:

首先,Java Servlet 是一些遵从Java Servlet API的Java类,所以根本的说,Servlet就是Java类。

Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它的任务是接收来自 Web 浏览器或其他 HTTP 客户端的请求,然后作为 HTTP 服务器上的数据库或应用程序之间的中间层处理逻辑。使用 Servlet,您可以收集来自网页表单的信息,呈现来自数据库或者其他源的记录,还可以动态创建网页。

工作原理:

Servlet作为中间层,主要的事情就是:处理。所以它的事情很多,它需要接收来字客户端的显性或隐形的请求;根据请求做出相应处理,这其中可能包括使用数据库、调用硬件设备等等处理过程;最后Servlet也是根据请求得到结果,结果可能发送或不发送,发送的话内容可能显性或隐形,有文件、字符、流等多种形式。下面一张图是摘自Runoob网站的,可以简单的看出Servlet的位置作用

生命周期:

在你的应用加载并使用一个Servlet时,从初始化到销毁这个Servlet期间会发生一系列的事件。这些事件叫做Servlet的生命周期事件(或方法)。

Servlet生命周期的三个核心方法分别是 init() , service() 和 destroy()。

init():初始化方法

service():中间层方法

destroy():销毁方法,也标志着Servlet生命周期的结束

 

拓展:

1、servlet一般是继承 javax.servlet 包中的HttpServlet 父类。

2、web.xml 3.0及以上版本,Servlet类只需要添加注解@WebServlet 即可,无需在web.xml文件中显性注册。

 @WebServlet 注解参数详解文章:http://www.108js.com/article/article10/a0021.html?id=1496

© 著作权归作者所有

共有 人打赏支持
FrendLin
粉丝 5
博文 35
码字总数 14600
作品 0
广州
程序员
私信 提问
Java EE部分核心技术简介

EJB — JavaEE的基石: 1、 EJB (Enterprise JavaBeans) : 一个Java服务器端组件开发的规范,定义了一个用来开发面向对象分布式应用组件的标准方法,软件厂商根据它来实现EJB服务器。 Java...

顶层设计
2012/08/03
0
0
六、JSP的由来以及与Servlet的关系

JavaWeb在有了Servlet这项技术以后,就可以编写动态网页了。在动态网页中,一般来说样式是不变的,变化的是数据。如果程序员在Servlet类中写了大量的静态代码,例如out.println("<html>");这...

Wakeeee_
07/09
0
0
Jsp 和 Servlet 有什么不同?

面试中被问到了 Jsp 和 Servlet 有什么不同?在这里总结分享下。 回答思路先分别进行基本介绍,然后分析说明两者相同点和不同点。 基本介绍 Servlet: Servlet 是一种服务器端的Java应用程序...

几个栗子
08/22
0
0
利用Apache AXIS 1 发布WebService

最近在论坛遇到很多朋友问AXIS发布webService的问题,这个问题已经回答了很多次了,现在特别发布一文章,说明AXIS 1的基本用法。 //很庆幸,CSDN的发文编辑器已经改版本,不那么难编辑了。 ...

张胜军
2013/03/20
0
0
【J2EE】之常用的接口和协议

前言 初接触J2EE,会遇到很多之前没有遇到过的术语,下面我们来简单地汇总一下这些接口和协议吧。 各大接口和协议详解 JDBC 1.定义:Java数据库连接 2.地位:用于Java应用程序连接数据库的标...

m18633778874
04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
今天
2
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
2
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
3
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
4
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部