当前位置:首页 > 日记 > 正文

动态网页技术

动态网页技术
1。servlet简介:
随着互联网技术的逐渐普及和互联网需求的提高,旧的静态网页已不再适应。我们看到,今天的网页不仅是Flash,视频,等等,但很明显。
在过去,静态网页显示是无法解决的。为了解决这个问题,太阳公司提供了一个解决上述问题的技术,即servlet技术。
Servlet是Sun提供的开发动态Web资源的技术。
太阳公司在API中提供了servlet接口。如果用户想要使用一个动态的网络资源,即开发一个java程序将数据输出到浏览器,我们需要完成以下2个步骤。
写一个java类实现Servlet接口。
部署开发的java类的Web服务器。

二、servlet的运行过程:
servlet程序由Web服务器调用,Web服务器接收客户机的servlet访问请求:
1个Web服务器首先检查它是否已经加载并创建了servlet的实例对象。如果是这样,则第四步直接执行,否则,执行第二个步骤。
2。加载并创建servlet的实例对象。
三.调用servlet实例对象的init()方法。
创建封装HTTP请求消息和代表对象的HTTP响应消息httpservletresponse HttpServletRequest对象,然后调用服务()方法,通过servlet的请求和响应对象作为参数。
在4.web应用停止或重启,servlet引擎(在Web服务器的类调用servlet)将卸载Servlet调用销毁()前卸载Servlet方法。

三,servlet的生命周期:
1。当谈到生命周期时,我们必须提到循环的概念,那么生命周期的概念是什么
生命周期的定义:当一个事物诞生的时候,当它死了,在它的生存阶段的某个阶段,它将被事件触发,这被统称为事物的生命周期。
servlet的生命周期:
通常,服务器在servlet(servlet诞生时)第一次调用servlet中的servlet类,一旦创建,servlet实例将驻留在内存中,用于后续请求服务;直到Web容器退出,servlet对象将被销毁(servlet死亡)。
在servlet的整个生命周期中,servlet的init方法只有在servlet被创建时才会调用一次。
每个访问Servlet请求导致Servlet引擎调用servlet的服务方法一次。每个访问请求,servlet引擎创建一个新的HttpServletRequest请求对象和一个新的httpservletresponse响应对象。
两个对象作为参数传递的服务()方法的servlet,它是所谓的,和服务方法调用分别根据请求模式的doxxx方法。破坏()方法之前调用servlet被破坏。

2 . servlet接口的实现类:
我们知道,如果我们想要实现servlet接口,我们必须实现它的所有方法,但是里面的所有方法都不是我们想要的。那么这个方法在这个时候有什么用呢
因此,为了解决这个问题,我们通常没有实现接口,但将继承这个类的实现类,所以我们只需要实现我们想要的方式。

2.1sun提供常用的实现类:
Servlet接口中定义了两个默认实现类:太阳genericservlet,HttpServlet。

一个是servlet可以处理HTTP请求。它在原始servlet接口上添加了一些HTTP协议处理方法,这比servlet接口更强大。因此,开发人员通常应该在编写servlet时继承这个类,而不是直接实现servlet接口。

当HttpServlet实现了Servlet接口,它覆盖的服务方法。正文中的代码自动决定用户请求的方式。为了得到要求的文件,将调用doGet方法。如果使用POST请求,然后调用doPost方法。因此,开发商写servlet,
通常你只需要重写doGet或doPost方法,而不是覆盖的服务方法。

因为客户端访问资源的Web服务器的URL地址,如果servlet程序想被外界访问,它必须映射到一个servlet程序的URL地址,这是由元素和元素的web.xml文件来实现。
元素用于登记的servlet,它包含两个主要元素:和,分别建立servlet的注册名称和servlet的全称。
元素用于映射已注册servlet的外部访问路径。它包含两个子元素:和,用于指定servlet的注册名和servlet的外部访问路径:

复制代码代码如下所示:
U3000 U3000
servlet3
cn.baidu.serlvet.demo3servlet
U3000

servlet3
/ demo3
在2.2servlet一些小细节:
细节1:
同一个servlet可以映射到多个URL,即对多元素的子元素的设定值可以是同一个servlet注册名称。
在Servlet映射到URL也可以使用通配符,但有两个固定的格式:格式是*。扩展,另一种格式是在开头和结尾用()。

复制代码代码如下所示:
anyname
*的事。

anyname
动作/ *
细节2:
对于以下映射关系:
servlet1地图 / / * ABC
映射servlet2 /
servlet3地图 / ABC
servlet4地图做*。
问题:
当一个请求的URL / / / a.html ABC,ABC / *和servlet,这是 / *,响应
servlet引擎将调用servlet1。
当URL请求是/ ABC,两者都匹配时,哪个servlet响应
servlet引擎将调用servlet3。
当URL请求 / /一起都ABC,ABC / / *和*做匹配,该servlet响应。
servlet引擎将调用servlet1。
当请求/ a. URL,和*。做 / *匹配,该servlet响应
servlet引擎将调用servlet2。
当请求 / / /一起XXX YYY的URL,和*。做 / *匹配,该servlet响应
servlet引擎将调用servlet2。
细节3:
如果在元素中配置了一个元素,那么当Web应用程序启动时,它将加载并创建servlet的实例对象和init()方法来调用servlet实例对象。
举一个例子:uff1a
复制代码代码如下所示:

调用

org.apache.catalina.servlets.invokerservlet


目的:写一个Web应用initservlet,它被配置为启动时加载,创建整个Web应用程序所需的数据库表和数据。

细节4:线程安全
当对servlet客户端进行多个并发访问时,Web服务器为每个客户机请求创建一个线程,并在该线程增加中使用服务servlet方法,因此如果访问相同资源的服务方法,则可能导致线程安全问题。
如果一个servlet实现的singlethreadmodel接口,然后servlet引擎将调用其在单线程模式服务的方法。
没有一种方法是在singlethreadmodel接口定义的,只要对singlethreadmodel接口实现声明添加到servlet类的定义。
Servlet实现singlethreadmodel接口,servlet引擎还支持多线程并发访问servlet。它采用的方法是生成多个servlet实例对象,并发线程调用独立的servlet实例对象。
singlethreadmodel接口的实现并不能真正解决Servlet的线程安全问题,因为servlet引擎将创建Servlet对象的多个实例,真正解决多线程安全问题是指由多个线程Servlet对象的一个实例在同一时间的问题。
事实上,在Servlet API 2.4,singlethreadmodel已被标记为过时的(过时的)。

四,servlet中常用的对象:
1.servletconfig对象
1.1在servlet配置文件中,可以使用一个或多个标记来配置servlet的一些初始化参数。
1.2、当servlet配置初始化参数,Web容器自动初始化这些初始化参数ServletConfig对象创建servlet实例对象时。
当Servlet的init方法被调用时,该ServletConfig对象传递给servlet。此外,程序员可以通过ServletConfig对象获取当前servlet
初始化参数信息。
2.servletcontext对象
当2.1web容器启动时,它创建一个Web应用程序的一个相应的ServletContext对象,它表示当前的Web应用程序。
2.2servletconfig对象保持ServletContext对象的引用。当Servlet开发,开发者可以通过servletconfig.getservletcontext获得ServletContext对象。
2.3,因为在一个Web应用程序共享相同的ServletContext对象的所有servlet,servlet对象可以通过ServletContext对象沟通。
ServletContext对象通常被称为上下文域对象。

相关文章

PS合成逼真图形冷变压器机器人的效

PS合成逼真图形冷变压器机器人的效

图形,逼真,变压器,效果,电脑软件,本教程是介绍变压器机器人的效果图,用ps合成酷现实教程,综合效果很酷,但是课程很难,要求学习者有ps基础,有一些推荐在这里,一起学习吧。 本教程介绍变形金刚机器人朋友PS合成逼真的效果图酷的过程,本教程介绍难图…

Javascript实现获取浏览器版本,即操作系统

Javascript实现获取浏览器版本,即操作系统

浏览器版本,类型,操作系统,电脑软件,Javascript,代码很简洁,功能很实用,这里没有太多的废话,直接给大家上代码: *由管理员创建的15-1-12。 * / 函数的BroswerUtil(){ } broswerutil = { { 检测浏览器版本 getbrowserversion:函数(){ VaR剂= navigato…

如何面对psPS字符的人脸教程

如何面对psPS字符的人脸教程

教程,字符,的人,电脑软件,psPS,很多朋友经常使用PS图象处理软件软件知道PS不仅具有强大的功能,如图片的修饰,但也有不断变化的背景,在现有的图片人的功能。因此如何图PS的脸下面小编就为大家带来新的人物PS教程,一看 在照片的后期处理中,我们经…

获取两个JSP页面父页面子页面内容

获取两个JSP页面父页面子页面内容

方法,父页面,两种,页面,两个,规格:两个jsp页面,父页面需要子页面的内容,但子页面是隐藏的,具体地说,是一系列的子页面的父页面模板,通过ID来获得这些模板,不愿意进口,因为如果模板太多,导致整个父页面太大缓慢的加载,采用以下两种方法,我想知道有没有…

烟花沟的铺垫:枝繁叶茂的树木不再是

烟花沟的铺垫:枝繁叶茂的树木不再是

枝繁叶茂,难事,树木,烟花,电脑软件,当我们处理图片时,我们经常会遇到更复杂多变的图形,例如,在树下,怎样才能让席子最安心呢很明显,你不能再次使用电缆套工具沿边缘,除非你想照亮所有的头发。 当我们处理图片时,我们经常会遇到更复杂多变的图形,例…

PS图象处理软件创建了一个梦幻般的

PS图象处理软件创建了一个梦幻般的

红色,图象,处理软件,梦幻般,蓝色,蓝红色是用频道替换颜色最快的方法,但它会失去一些细节。如果你使用调色板工具来调整,它会更强大,虽然速度较慢。 蓝红色是用频道替换颜色最快的方法,但它会失去一些细节。如果我们使用调色板工具来调整,它会更…

PS制作精细的三维分层块字母艺术

PS制作精细的三维分层块字母艺术

分层,字母,精细,艺术,电脑软件,本教程是介绍给一个朋友,他用PS制作精美的三维分层字母,而且书法真的很漂亮。建议你喜欢你的朋友一起学习。 下面的课程是向大家介绍用ps制作一个漂亮的三维字体字母字的方法,希望能对你有所帮助! 一种精细的分…

在IE9中弹出对话框失败FCKeditor的

在IE9中弹出对话框失败FCKeditor的

兼容性问题,弹出对话框,弹出,溶液,电脑软件,因此,无论您是想在页面编辑器中粘贴内容,还是上传图片,都会出现需要弹出窗口操作的问题。如果你想做其他操作,你可以只刷新页面了。原因是,IE 9不支持无功$ = document.getelementbyid;这是写。 解决办…

PS钢笔工具头发垫案例教程

PS钢笔工具头发垫案例教程

工具,教程,案例,电脑软件,PS,本教程是应用于小PS详细分析的钢笔工具的头发抠图教程,比较基础,对学习ps的朋友很有帮助,建议爱,朋友可以跟着教程一起学习,希望本教程能帮到你。 有许多种PS图象处理软件抠图抠图工具可以使用电缆钩,抽出滤镜抠图,更…

创建HTML在线编辑器的难点分析

创建HTML在线编辑器的难点分析

在线编辑器,难点,电脑软件,HTML,什么是HTML在线编辑器 事实上,有几种实现方式,最常用的、最好的兼容性是iframe的方式。 只有空荡荡的iframe是不可能的,Javascript也设置为可编辑:iframe.contentwindow.document.designmode = ; iframe.contentwindow…

PS制作中国书法个性化书法

PS制作中国书法个性化书法

中国,电脑软件,PS,毛笔在设计上的运用非常普遍,如写中国书法以表现中国风、古典风和强烈的视觉冲击力等。 在设计使用刷子是很常见的,如书法展现中国风,古典风和强烈的视觉冲击。现在越来越多的商业设计字体设计(除了可能因为版权的原因基本字…

教你如何使用PS图象处理软件让你的

教你如何使用PS图象处理软件让你的

更大,教你,如何使用,图象,处理软件,在一些图像处理中,经常有一些小眼睛的照片。所以看起来很不舒服。那么我们怎样才能使小眼睛变成大眼睛呢接下来,小编将教你如何使用PS图象处理软件让你的眼睛更大。让我们看一看。 美应具备哪些条件的大眼…