servlet

Servlet

1、servlet就是一个普通的java类
Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。

客户发送请求给servlet容器,servlet容器去找相应的servlet,
然后返回给servlet容器,servlet响应给客户客服 1)要实现servlet有三种方法
第一实现javax.servlet.Servlet接口
第二继承javax.servlet…GenericServlet
第三继承javax.servlet.hettpServlet(推荐)
一般我们用eclipse去创建servle时,他可以自动帮我们生成一个servlet
2)在web.xml去配置和映射servlet

在这里插入代码片
<!-- 注册servlet -->
	<servlet>
	<!-- 注册名 -->
	<servlet-name>hello</servlet-name>
	<!-- servlet的全类名 -->	
	<servlet-class>com.hpe.servlet.HelloServlet</servlet-class>
	</servlet>
	
	<!-- 映射servlet -->
	<servlet-mapping>
	<!-- 必须和注册名一致 -->
	<servlet-name>hello</servlet-name>
	<!-- /代表当前应用名 -->
	<!-- 代表当前访问路径 -->
	<url-pattern>/hello</url-pattern>
	</servlet-mapping>
	在浏览器的访问路径是http://localhost:8080/Servlet01/hello

2、servlet容器,运行servlet,jsp等组件的运行环境
1)负责管理servlet生命周期
2)Servlet的生命周期:指的就是Servlet的出生到结束。分别经历了加载、初始化、服务、销毁。由servlet容器负责调用
构造器:只被调用一次,在第一次请求servlet时,创建servlet实例,调用该构造器。Servlet单实例的
Init:只被调用一次,在创建好servlet实例后,立即调用,负责初始化servlet
service:被调用多次,每次请求都会执行service方法。实际用于获取用户请求,用于响应请求l
destory:只被调用一次,在当前servlet所在web应用被卸载的时候调用,用于释放当前servlet所占用的资源
3、 load-on-startup :指定servlet创建和初始化的时机
在这里插入代码片

<servlet>
<!-- 注册名 -->
<servlet-name>hello</servlet-name>
<!-- servlet的全类名 -->
<servlet-class>com.hpe.servlet.HelloServlet</servlet-class>   
<!-- 指定servlet创建和初始化时机 -->
 <load-on-startup>1</load-on-startup>
 </servlet>

load-on-startup 如果为负数,在第一次请求的servlet时创建和初始化,如果是整数或0,
 在 web应用加载的时候创建实例和初始化,数值越小越早创建

3、 Servlet-mapping:
1)同一个Servlet可以被映射到多个URL上,即多个元素的 子元素的设置值可以是同一个Servlet的注册名。
在Servlet映射到的URL中也可以使用通配符,但是只能有两种固定的格式:一种格式是**“.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。
比如
/*、do**两个不能组合使用
4、 ServletConfig接口:封装了当前sevrlet 的配置信息,它代表当前servlet
,用于读取web.xml中配置的serlvet的所有信息
获取servletContext对象,它代表当前web应用,全局变量
功能:用于读取web.xml中配置的serlvet的所有信息
Servlet容器将代表Servlet容器的对象(ServletContext)和Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时调用init(ServletConfig config)方法将ServletConfig对象传递给Servlet。
getServletName() 获取当前Servlet在web.xml中配置的名字
getServletContext() 获取代表当前web应用的ServletContext对象
getInitParameter(String) 获取当前Servlet指定名称的初始化参数的值
getInitParameterNames() 获取当前Servlet所有初始化参数的名字组成的枚举
5、ServletContext接口
ServletContext是一个全局的储存信息的空间,服务器开始就存在,服务器关 闭才释放。
1)获取方法:
ServletConfig的getServletContext()方法
GenericServlet的getServletContext()方法
2) 三大域对象
ServletContext
HttpSession
HttpServletRequest
功能:
获取WEB应用程序的初始化参数。
获取项目的真实的路径。
做为域对象,保存多个客户共享的数据
3)获取真实路径
out.print(ctx.getRealPath("/"));
4)获取项目应用上下文
out.print(ctx.getContextPath());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值