sevlet入门简介

来源:互联网 发布:java二维码合成海报 编辑:程序博客网 时间:2024/06/06 07:39

Servlet技术是Sun公司提供的一种实现动态网页的解决方案,它是基于JAVA编程语言的WEB服务器端编程技术。一个Servlet程序就是一个实现了特殊JAVA接口的类,它由支持Servlet(具有Servlet引擎)WEB服务器调用和启动运行。一个Servlet程序负责处理它所对应的一个或一组URL访问地址的请求,并接受客户端发出的访问请求信息和产生响应信息

 

Servlet作用:

获取客户端通过HTMLFORM表单传递的数据和URL后面的参数信息

创建对客户端的响应消息内容

访问服务器端的文件系统

连接数据库并开发基于数据库的应用

 

Servlet框架是由2Java包组成:(1)javax.servlet(2)javax.servlet.http
(1)javax.servlet
包中定义了有Servlet类都必须实现的接口和类。

 javax.servlet
包的接口为:

ServletConfig
接口 ---- 在初始化过程中由Servlet容器使用

ServletContext
接口 ---- 定义Servlet用于获取容器信息的方法

ServletRequest
接口 ---- 向服务器请求信息

 ServletResponse
接口 ---- 响应客户端请求

Servlet
接口 ---- 定义所有Servlet必须实现的方法

 javax.servlet
包中的类为:

 ServletInputStream
---- 用于从客户端读取二进制数据

ServletOutputStream
---- 用于将二进制数据发送到客户端

 GenericServlet
---- 抽象类,定义一个通用的,独立于地层协议的Servlet


(2)javax.servlet.http
包中定义了采用HTTP通信的HttpServlet类。

javax.servlet.http
包的接口为:

 HttpServletRequest
接口 ---- 提供http请求

 HttpServletResponse
接口 ---- 提供http响应

 HttpSession
接口 ---- 用于标识客户端并存储有关客户信息

 HttpSessionAttributeListener
接口 ----实现这个侦听接口用户获取会话的属性列表的改变的通知

 javax.servlet.http
包中的类:

HttpServlet
---- 扩展了 GenericServlet的抽象类,用于扩展创建
Http Servlet
Cookie
---- 创建一个Cookie,用于存储Servlet发送给客户端的信息

 

 

 

.Servlet体系结构
Servlet-->GenericServlet-->HttpServlet-->
用户自定义的Servlet

 

 

Serlvet生命周期的三个方法:init()-->service()-->destroy()
 2>
生命周期的各个阶段:

实例化:Servlet容器在接收到客户端请求后,如果需要创建Servlet,首先将客户请求封装与Request对象中,然后创建Servlet类的实例对象;

初始化:Servlet容器调用Servletinit()方法,该方法只调用一次,所以可以用于防止一次性设置代码;

 
服务:服务器每次接收到对Servlet的请求,都会产生一个新的线程,调用Service()方法,Service()方法检查Http请求的类型(get,post,put,delete等)并相应的调用deGet(),doPost(),doPut(),doDelete()方法;一般在操作是直接选择覆盖某一Do方法,而不是直接覆盖Service()方法。Servlet对Request中传进的参数进行分析处理后将回馈消息封装与Response对象中,并将其传送给Servlet容器;

销毁:销毁实例之前调用destroy()方法

不可用:销毁实例并标记为垃圾处理

 

 

几个内建对象的作用范围:
 Request
Response对象:时间上再一次请求中,在这次请求中把Request中的信息传给别的资源,空间上只能是发送请求的客户端有效

HttpSession:
一次连接直到客户端关闭,时间上比上面的对象长一些,空间上一致

ServletCofig
:是在一个servlet实例化,对任何客户端任何时间都有效,但是只对本servlet有效。

 ServletContext:
对任何客户端任何时间任何sevlet有效,是真正的全局变量。

 ServletCofig
ServletContext是我们的程序更加灵活,避免了硬编码,就是配置文件

关于get请求方式和post请求方式:

get请求是浏览器请求的常见类型,用来请求web页面,用户在地址栏中输入URL,点击web页面的时候,或者提交有指定method为get方式的表单的时候,浏览器都调用get方式,get方式传送的参数是跟在url后面的,所以其经常用与传参小于1k和与口令无关的地方;

用户自定义Servlet一般扩展的是HttpServlet,依据发送方式的不同可以选择覆盖doGet方式或者doPost方式,如果希望对这两种方式采取同样的操作,则只需要让doGet()方法调用doPost()方法即可

原创粉丝点击