Servlet

 

今天主要讲了Servlet的简介、细节和ServletContext的应用。

简介:Servletsun公司提供的一门用于开发动态web资源的技术。用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

1 . 编写一个Java类,实现servlet接口。

2 . 把开发好的Java类部署到web服务器中。

Servlet的使用:

1)web服务器首先检查是否已装载并创建了servlet实例对象。如果是则直接执行第四步,佛则执行第二步。

2)装载并创建的一个实例对象。

3)调用servlet实例对象的init()方法。

4)创建一个封装HTTP请求消息的HttpServletRequest对象和一个代表Http响应消息的HttpServletResponse对象,然后调用Servletservice()方法。

5WEB应用程序被停止或重启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servletdestroy()

Servlet接口实现类

HttpServlet指能够处理HTTP请求的servlet,它在原有Servlet接口上添加了一些与HTTP协议处理方法,它比Servlet接口的功能更为强大。因此开发人员在编写Servlet时,通常应继承这个类,而避免直接去实现Servlet接口。


HttpServlet在实现Servlet接口时,覆写了service方法,该方法体内的代码会自动判断用户的请求方式,如为GET请求,则调用HttpServletdoGet方法,如为Post请求,则调用doPost方法。因此,开发人员在编写Servlet时,通常只需要覆写doGetdoPost方法,而不要去覆写service方法。

Servlet的主要细节:

1 同一个Servlet可以被映射到多个URL上,即多个<servlet-mapping>元素的<servlet-name>子元素的设置值可以是同一个Servlet的注册名。

Servlet映射到的URL中也可以使用*通配符,但是只能有两种固定的格式:一种格式是“*.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾

2 Servlet1 映射到 /abc/*

Servlet2 映射到 /*

Servlet3 映射到 /abc

Servlet4 映射到 *.do

3 当多个客户端并发访问同一个Servlet时,web服务器会为每一个客户端的访问请求创建一个线程,并在这个线程上调用Servletservice方法,因此service方法内如果访问了同一个资源的话,就有可能引发线程安全问题。

如果某个Servlet实现了SingleThreadModel接口,那么Servlet引擎将以单线程模式来调用其service方法。

SingleThreadModel接口中没有定义任何方法,只要在Servlet类的定义中增加实现SingleThreadModel接口的声明即可。

对于实现了SingleThreadModel接口的ServletServlet引擎仍然支持对该Servlet的多线程并发访问,其采用的方式是产生多个Servlet实例对象,并发的每个线程分别调用一个独立的Servlet实例对象。

实现SingleThreadModel接口并不能真正解决Servlet的线程安全问题,因为Servlet引擎会创建多个Servlet实例对象,而真正意义上解决多线程安全问题是指一个Servlet实例对象被多个线程同时调用的问题。事实上,在Servlet API 2.4中,已经将SingleThreadModel标记为Deprecated(过时的)

ServletConect的应用:

多个Servlet通过ServletContext对象实现数据共享。获取WEB应用的初始化参数。实现Servlet的转发。



阅读更多
想对作者说点什么? 我来说一句

servlet 中文API

2008年10月06日 16KB 下载

Java servlet课堂笔记

2009年12月17日 25KB 下载

servlet servlet

2009年07月26日 7.14MB 下载

日志管理系统SERVLET SERVLET SERVLET

2010年09月07日 472KB 下载

网上订餐系统 很好啊啊

2010年11月14日 2.94MB 下载

servlet使用教程

2009年09月17日 261KB 下载

servlet 聊天室

2010年04月06日 19KB 下载

servlet书籍servlet书籍

2008年09月27日 800KB 下载

JSP Servlet 教材 (DOC格式共200页)

2010年07月10日 8.43MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭