1 Servlet的定义? 2 Servlet的定义的四种形式? 3 Servlet get与post的区别? 4 Servlet的周期? 5 Servlet的注册在哪里? 6 什么是url-pattern? 7 Servlet的常用对象有哪些? ServletConfig ServletContext 方法的作用 HttpServlet HttpServletRequest HttpServletResponseHttpServletRequest1 Servlet的定义? Servlet是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。 Servlet运行于支持Java的应用服务器中。 从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。最早支持Servlet标准的是JavaSoft的Java Web Server,一些其它的基于Java的Web服务器开始支持标准的Servlet。
2Servlet的定义的四种形式?
public class oneServlet implements Servlet { } //采用接口
public class TwoServlet extends GenericServlet {}//采用继承
public class ThreeServlet extends HttpServlet{}//采用继承
@WebServlet(urlPatterns="/d")
public class fourServlect extends HttpServlet {}采用快键ALT+/ 在写代码中常用
3 Servlet get与post的区别?
第一点:get请求和post请求的区别:
浏览器使用get请求访问servlet服务器的时候doget方法接收
浏览器使用post请求访问servlet服务器的时候dopost方法接收 第二点 get请求所带的数据是拼接在地址上的,地址的长度是有限的,1kb=1024 一个字母2个字节 512字母 post传输数据是不受限制的 第三点 登录功能一律不允许使用get请求给服务器发送数据 浏览器默认为get请求
4 Servlet的周期?
5 Servlet的注册在哪里?servlet周期
构造方法(创建servlet 对象执行)
Servlet 初始化后调用 init () 方法。
Servlet 调用 service() 方法来处理客户端的请求。
Servlet 销毁前调用 destroy() 方法 长时间未访问。
最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。
web.xml文件
OneServlet
com.servlet.OneServlet
4
OneServlet
/a
6 什么是url-pattern?
url-pattern详解
1.完全匹配 必须以"/"开始
例如:/hello /a/b/c
2.目录匹配 必须以"/"开始 以"*"结束
例如:/a
@WebServlet(urlPatterns = "/Servlet2",initParams = {
@WebInitParam(name="aaaa",value="张三"),
@WebInitParam(name="age",value="23"),
@WebInitParam(name="height",value="179cm"),
@WebInitParam(name="weight",value="60kg")
})
public class Servlet2 extends HttpServlet {
ServletContext 方法的作用
ServletContext {con 上下文 }
tomcat 服务器为每个项目创建一个对象
ServletContext
1个web项目只有一个ServletContext对象
ServletContext 服务器开始创建 结束 而消失ServletContext 作用 同一个项目共享数据。
1 共享静态数据
2 共享动态数据 写在java代码
3 共享文件数据
* 创建对象
* ServletContext sc=getServletContext();获取对象
* sc.setAttribute("pq", "排球"); 接收对象
* 删除对象 sc.removeAttribute("pq");
HttpServlet
Servlet的框架是由两个Java包组成:javax.servlet和javax.servlet.http. 在javax.servlet包中定义了所有的Servlet类都必须实现或扩展的的通用接口和类.在javax.servlet.http包中定义了采用HTTP通信协议的HttpServlet类.
Servlet的框架的核心是javax.servlet.Servlet接口,所有的Servlet都必须实现这一接口.在Servlet接口中定义了5个方法,其中有3个方法代表了Servlet的声明周期:
init方法,负责初始化Servlet对象
service方法,负责相应客户的请求
destory方法,当Servlet对象退出声明周期时,负责释放占有的资源当Web容器接收到某个Servlet请求时,Servlet把请求封装成一个HttpServletRequest对象,然后把对象传给Servlet的对应的服务方法.
HTTP的请求方式包括DELETE,GET,OPTIONS,POST,PUT和TRACE,在HttpServlet类中分别提供了相应的服务方法,它们是,doDelete(),doGet(),doOptions(),doPost(), doPut()和doTrace().
HttpServlet的功能
HttpServlet首先必须读取Http请求的内容。Servlet容器负责创建HttpServlet对象,并把Http请求直接封装到HttpServlet对象中,大大简化了HttpServlet解析请求数据的工作量。HttpServlet容器响应Web客户请求流程如下:
1)Web客户向Servlet容器发出Http请求;
2)Servlet容器解析Web客户的Http请求;
3)Servlet容器创建一个HttpRequest对象,在这个对象中封装Http请求信息;
4)Servlet容器创建一个HttpResponse对象;
5)Servlet容器调用HttpServlet的service方法,把HttpRequest和HttpResponse对象作为service方法的参数传给HttpServlet对象;
6)HttpServlet调用HttpRequest的有关方法,获取HTTP请求信息;
7)HttpServlet调用HttpResponse的有关方法,生成响应数据;
8)Servlet容器把HttpServlet的响应结果传给Web客户。



