您的位置:

java之servlet三(java中的servlet)

本文目录一览:

java servlet 主要用来做什么

简单一点说吧:

1.比如说你在一个网页上输入姓名和密码,然后点击提交。这时候页面就会跳转(跳转方法有post和get)。

2.跳转到哪呢,这就通过web.xml文件配置你的跳转,一般就跳转到servlet来处理。

3.servlet说白了,就是一个java类,继承HttpServlet,主要有doGet和doPost方法,你在页面代码写的是get方法跳转,那么就运行servlet里doGet方法里面的代码(post同理)。

4.doGet里面的代码就处理操作,一般首先用特定方法获得页面提交的姓名和密码,然后进行处理(判断是否合法等等),处理玩之后,决定是直接显示信息,还是跳转到其他页面。

servlet就是接受页面信息,然后进行逻辑处理的一个java类。

至于学习资料,网上找一个servlet的小例子很多,有java基础很容易看懂,没有基础也可以学会

java servlet怎么学

首先我们要了解Servlet是什么,下面就详细讲解下Servlet特性和功能

一、Servlet是什么

Servlet是一个类,是一个用Java语言编写的、实现Servlet接口的类,一个与访问协议和平台无关的,运行在Servlet容器中的Java程序。

Servlet没有main方法,不能独立运行;它只有实例化、初始化、运行、销毁方法,被编译成与平台无关的字节码文件后,需要加载到Servlet容器中才能执行,并且由Servlet容器管理Servlet的整个生命周期,所以,也常常称Servlet是Servlet容器上运行的服务器小程序。

Servlet推出初期,主要是作为支持HTTP协议的WEB服务器上的一种动态网页技术;随着Servlet技术的不断发展,Servlet可以作为支持任何协议的、实现Java API的服务器上的服务程序。

Servlet运行在服务器上,它可以接受来自客户端的请求,并将处理结果返回给客户端,于是,在许多应用中,Servlet主要用于实现动态网页,亦或作为前端页面与后台数据库或者后台服务器程序之间的中间件。

二、Servlet容器

Servlet容器作为支撑Servlet运行的平台,是一个非常重要的部件。也可以把Servlet容器看成是一个装载着许多Servlet对象的容器,Servlet容器负责管理这些Servlet对象。

Servlet容器运行在JVM(Java虚拟机)之上,管理Servlet的实例化、初始化、实例对象的运行和销毁,并提供最基础的运行支撑,例如:Servlet容器负责接收请求、转发请求、发送响应、管理会话状态、实现数据共享等等。

Servlet容器至少支持通过HTTP协议访问Servlet,也可以支持其他协议,例如:HTTPS、FTP、POP、SMTP等。

访问Servlet容器中Servlet的过程如下:

(1)客户发送访问请求至Servlet容器

(2)Servlet容器接收请求,解析,然后将请求发送给相应的Servlet处理

(3)Servlet执行,将处理结果返回给Servlet容器

(4)Servlet容器接收处理结果,将处理结果返回给客户

从以上访问Servlet的过程,可以看出,Servlet容器的作用如下:

(1)接收请求:当客户请求来到时,Servlet容器负责接收请求

(2)管理与调用Servlet:Servlet容器管理Servlet的加载、实例化、初始化、调用与垃圾回收,根据请求的Servlet地址,调用要访问的Servlet

(3)返回响应结果:将Servlet的执行结果返回给客户

Servlet运行在Servlet容器中,容器为Servlet提供运行时的平台支撑,于是,在Servlet中,只需要专注于业务逻辑功能实现,而无需考虑网络通讯、垃圾回收等功能,这些基本功能由Servlet容器提供。

Servlet容器主要提供了如下功能:

(1)基本通信支持:Servlet容器提供了与WEB服务器之间的通信方法,使Servlet可以与WEB服务器轻松对话,并借助WEB服务器与客户端浏览器之间的通信机制,使Servlet容器无需自己建立Socket服务、监听通信端口、创建数据流对象等;Servlet容器定义了与WEB服务器之间的通信协议,所以,在Servlet中,无需考虑WEB服务器(例如:Tomcat)和自己的功能代码之间的API接口,只需要考虑如何在Servlet中实现业务逻辑功能(例如:处理一个订单)。

(2)管理Servlet生命周期:Servlet容器管理着Servlet的整个生命周期,负责查找、加载、实例化、初始化、调用Servlet方法,以及销毁,有了Servlet容器,就不需要考虑Servlet资源的管理。

(3)支持多线程:Servlet容器会自动为它所接收的每一个客户请求创建一个新的Java线程,以处理该请求;对于每一个客户请求,Servlet服务方法执行结束,则Servlet容器就会结束立即这个线程。

(4)声明方式实现安全:按照Servlet容器要求,使用web.xml部署描述文件或注解来配置和修改安全性,而不必将其硬编码写到Servlet类代码中。

(5)支持JSP动态页面:Servlet容器负责将JSP页面翻译成Java Servlet代码,按Servlet来管理JSP页面的运行。

根据Servlet应用模式,Servlet最常用的模式是通过Servlet容器运行在WEB服务器中,以执行请求和响应,请求与响应的典型范例是用动态网页技术实现动态网页,或者作为前端页面与后台数据库/后台服务器程序之间的中间件,于是,Servlet容器需要与WEB服务器或应用服务器结合,才能为WEB应用程序的访问提供服务。

Servlet容器可以在WEB服务器内部实现,也可以作为WEB服务器的附加构件提供,还可以实现在有WEB使能的应用服务器上,为Servlet的访问提供运行支撑。

WEB服务器启动时,Servlet容器也会随之启动。

关于WEB方面更详细的讲解可以看下这个视频教程网页链接

希望我的回答能帮到你

java servlet的工作原理是什么?

配置:编辑好的servlet源文件并不能响应用户请求,还必须将其编译成class文件,将编译好的class文件放到WEB-INF/classes路径下,如果servlet有包,则还需要将class文件放到包路径下。

2.运行原理:当Web服务器接收到一个HTTP请求时,它会先判断请求内容——如果是静态网页数据,Web服务器将会自行处理,然后产生响应信息;如果牵涉到动态数据,Web服务器会将请求转交给Servlet容器。此时Servlet容器会找到对应的处理该请求的Servlet实例来处理,结果会送回W

3.用户请求一个Servlet,Servlet容器自动构建请求和响应对象,然后执行Servlet的service()方法,该方法会接收请求和响应对象,通过响应对象将处理结果发送给用户。

4.servlet 编程,需要引用以下两个类和接口:javax.servlet 和 javax.servlet.http,在这些类和接口中,javax.servlet.Servlet接口尤为重要。所有的 servlet 必须实现这个接口或继承已实现这个接口的类。Servlet 接口有五个方法,如下:public void init(ServletConfig config) throws ServletException public void service(ServletRequest request, ServletResponse response) throws ServletException,

Java中的Servlet的定义,Servlet的具体用途

Servlet是一个实现了Servlet接口的类,一个与访问协议和平台无关的、运行在Servlet容器中的Java程序。

针对Servlet实现技术,SUN公司提供了一套标准的Java Servlet API以便于更快速、规范地开发Servlet程序。这套Servlet API中,最重要的两个软件包是:javax.servlet、javax.servlet.http。

javax.servlet是一个与通信协议无关的通用软件包;javax.servlet.http是一个支持HTTP访问协议的软件包,这两个软件包的同时存在,使得Servlet API能支持任何协议的请求/响应。

在javax.servle中,包含着一套常用接口,负责承担指定的任务。下表中列出了常用的类和接口:

主要类结构图:

javax.servlet软件包:

javax.servlet包中定义了与通信协议无关的接口和类。

常用接口:

RequestDispatcher、Servlet、ServletConfig、ServletContext、ServletRequest、ServletResponse。

常用类:

GenericServlet、ServletInputStream、ServletOutputStream。

1、RequestDispatcher接口

public interface RequestDispatcher;

资源调度器接口,用于定义一个在服务器内部直接实现资源转发的对象。

RequestDispatcher对象由Servlet容器创建,用于封装并调度由一个特定的URL定义的服务器资源。

(1)请求传递方法

public void forward(ServletRequest request,

ServletReponse response) throws ServletException,IOException

从一个Servlet向服务器上的另一个资源传递请求。

将请求转发给其他资源时,将由被调用的资源负责对请求作出响应,而原先Servlet的执行则终止。

public void include(ServletRequest request,

ServletResponse response) throws ServletException,IOException

从一个Servlet向服务器上的另一个资源传递请求。

将请求转发给其他资源时,被调用的Servlet对该请求作出的响应将并入原先的响应对象中,原先的Servlet还可以继续输出响应消息。

2、Servlet接口

public interface Servlet;

开发一个Servlet需要实现的基础接口。

接口中定义了5个方法:

init():Servlet初始化方法,通过init()方法可以获得容器创建的ServletConfig对象

service():请求处理方法

destroy():Servlet实例销毁方法

getServletConfig():获取ServletConfig配置对象方法

getServletInfo():获取Servlet相关信息方法

(1)初始化方法

public void init(ServletConfig config) throws ServletException

Servlet容器会在Servlet实例化之后,调用init方法对Servlet对象进行初始化,该方法由Servlet容器顺序调用,无需Servlet自身考虑何时执行。

(2)服务方法

public void service(ServletRequest request,

ServletResponse response) throws ServletException,IOException

当Servlet容器接收到客户请求时,调用service方法响应客户请求,service方法在Servlet实例化、初始化之后被调用,并且可以被多次调用。

(3)销毁方法

public void destroy()

当Servlet实例从服务器中移除或服务停止时,Servlet容器调用destroy方法销毁Servlet实例。

(4)获取Servlet配置对象方法

public ServletConfig getServletConfig()

获取一个由Servlet容器创建的ServletConfig配置对象,这个对象常常用在Servlet初始化方法中,将初始化参数封装在ServletConfig对象中,然后传递给Servlet。

(5)获取Servlet相关信息方法

public String getServletInfo()

获取关于Servlet的一些相关信息,返回的字符串是纯文本格式而不带有任何标记(例如:HTML、XML等)。

3、ServletConfig接口

public interface ServletConfig;

Servlet配置信息接口,在Servlet初始化时,Servlet容器将Servlet初始化参数封装在ServletConfig对象中,并传递给Servlet,一个Servlet实例只有一个ServletConfig对象。

接口中,只定义了4个方法:

getInitParameter():获取Servlet指定初始化参数的值

getInitParameterNames():获取Servlet所有初始化参数名称

getServletContext():获取Servlet容器为WEB应用创建的Servlet上下文环境对象ServletContext

getServletName():获取Servlet名称

(1)获取初始化参数方法

public String getInitParameter(String name)

根据初始化参数名称,获取Servlet指定初始化参数的值,如果指定的参数不存在,返回空值null。

public Enumeration getInitParameterNames()

获取Servlet所有初始化参数名称,如果Servlet没有初始化参数,返回一个空列表。

(2)获取Servlet上下文环境方法

public ServletContext getServletContext()

获取Servlet容器为WEB应用创建的Servlet上下文环境对象ServletContext,WEB服务器启动的时候,在加载WEB应用时,为每个加载的WEB应用创建一个代表WEB应用Servlet上下文环境对象。

(3)获取Servlet名称方法

public String getServletName()

获取正在访问的这个Servlet的名称。

以上就是Servlet相关问题的解答,更多关于Java Web方面的问题可以看下这个详细的视频教程网页链接,希望我的回答能帮到你。

java servlet的工作原理是什么

Servlet是运行在Servlet容器中的,由Servlet容器来负责Servlet实例的查找、创建以及整个生命周期的管理,Servlet整个生命周期可以分为四个阶段:类装载及实例创建阶段、实例初始化阶段、服务阶段以及实例销毁阶段。

类装载及实例创建阶段

默认情况下,Servlet实例是在接受到第一个请求时进行创建并且以后的请求进行复用,如果有Servlet实例需要进行一些复杂的操作,需要在初始化时就完成,比如打开文件、初始化网络连接等,可以配置在服务器启动时就创建实例,具体配置方法为在声明servlet标签中添加load-on-startup1/load-on-startup标签。

初始化 init(ServletConfig config)

一旦Servlet实例被创建,将会调用Servlet的inint方法,同时传入ServletConfig实例,传入Servlet的相关配置信息,init方法在整个Servlet生命周期中只会调用一次。

服务 services()

为了提高效率,Servlet规范要求一个Servlet实例必须能够同时服务于多个客户端请求,即service()方法运行在多线程的环境下,Servlet开发者必须保证该方法的线程安全性。

销毁 destory()

当Servlet容器将决定结束某个Servlet时,将会调用destory()方法,在destory方法中进行资源释放,一旦destory方法被调用,Servlet容器将不会再发送任何请求给这个实例,若Servlet容器需再次使用该Servlet,需重新再实例化该Servlet实例。

二、Servlet执行流程

web服务器接受到一个http请求后,web服务器会将请求移交给servlet容器,servlet容器首先对所请求的URL进行解析并根据web.xml 配置文件找到相应的处理servlet,同时将request、response对象传递给它,servlet通过request对象可知道客户端的请求者、请求信息以及其他的信息等,servlet在处理完请求后会把所有需要返回的信息放入response对象中并返回到客户端,servlet一旦处理完请求,servlet容器就会刷新response对象,并把控制权重新返回给web服务器。

三、与其它技术的比较

与其它服务相比servlet有以下的一些优点:

1、运行速度上比CGI快,因为使用了多线程

2、servlet使用了标准的api,可被许多web服务支持

3、与系统无关性,一次编译多次使用

转自

java 怎么配置servlet?

Servlet是组件,必须放在容器中,使用容器访问。访问Servlet之前,必须在web.xml中配置Servlet。

部署Servlet环境(大体分2个步骤):

第一步:在Tomcat根目录下的webapps目录下创建如下目录,并且放相应的文件:

• /FirstWebApp

• /FirstWebApp/WEB-INF/classes:存放servlet类编译后的.class文件

• /FirstWebApp/WEB-INF/web.xml:存放servlet的配置文件

第二步:配置web.xml文件,如下图: