javaWeb学习笔记(二)

java Web 学习笔记(二)

4.第一个 Servlet 程序

Servlet 简介
Java Servlet是和平台无关的服务器端组件,它运行在Servlet容器中。Servlet容器负责Servlet和客户的通信以及调用Servlet的方法,Servlet和客户的通信采用“请求/响应”的模式。
Servlet可完成如下功能:
创建并返回基于客户请求的动态HTML页面。
创建可嵌入到现有HTML 页面中的部分HTML 页面(HTML 片段)。
与其它服务器资源(如数据库或基于Java的应用程序)进行通信。
在这里插入图片描述
Servlet
创建一个Servlet接口的实现类
public class HelloServlet implements Servlet
这个可以通过网页来访问java类。
可以在web.xml文件中配置和映射这个Servlet

在这里插入图片描述
注意两个HelloServlet必须一样,这样才能映射起来。同时,上面的second.HelloServlet是源java文件的指引。下面的/Hello就是配置目录。

5.Servlet 的配置及生命周期方法

在Servlet的生命周期方法
1:构造器 2:init方法 3:service 4:destroy都是由Servlet容器负责调用。
1:构造器:只被调用一次,只有第一次请求Servlet时,创建Servlet的实例。这说明Servlet是单实例的!安全性能不好!!!
2:init方法:只被调用一次,在创建好实例后立即被调用,用于初始化当前Servlet。
3:service:被多次调用。每次请求都会调用service方法。实际用于响应请求的。
4:destroy:只被调用一次。在当前Servlet所在的WEB应用被卸载前调用。用于释放当前Servlet所占用的资源。

在web.xml配置文件中给类增加load-on-startup 参数:
1). 可以指定Servlet被创建的时机。若为负数,则在第一次请求创建。如果0或正数,这在Servlet容器加载的时候创建,且数量越越早创建。

Servlet容器响应客户请求的过程
1:Servlet引擎检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
2:装载并创建该Servlet的一个实例对象:调用该 Servlet 的构造器
3:调用Servlet实例对象的init()方法。
4:创建一个用于封装请求的ServletRequest对象和一个代表响应消息的ServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
5:WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。
在这里插入图片描述
Servlet的注册与运行
Servlet程序必须通过Servlet容器来启动运行,并且储存目录有特殊要求,通需要存储在<WEB应用程序目录>\WEB-INF\classes\目录中。
Servlet程序必须在WEB应用程序的web.xml文件中进行注册和映射其访问路径,才可以被Servlet引擎加载和被外界访问。
一个元素用于注册一个Servlet,它包含有两个主要的子元素:和,分别用于设置Servlet的注册名称和Servlet的完整类名。
一个元素用于映射一个已注册的Servlet的一个对外访问路径,它包含有两个子元素:和,分别用于指定Servlet的注册名称和Servlet的对外访问路径。

Servlet映射的细节
同一个Servlet可以被映射到多个URL上,即多个元素的子元素的设置值可以是同一个Servlet的注册名。
在Servlet映射到的URL中也可以使用通配符,但是只能有两种固定的格式:一种格式是“.扩展名”,另一种格式是以正斜杠(/)开头并以“/*”结尾。

<servlet-mapping>
	<servlet-name>AnyName</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>AnyName</servlet-name>
	<url-pattern>/action/*</url-pattern>
</servlet-mapping>

6.ServletConfig 对象

ServletConfig 接口
1.Servlet在有些情况下可能需要访问Servlet容器或借助Servlet容器访问外部的资源,所以,Serlvet引擎需要将表示Servlet容器的对象传递给Servlet。另外,在web.xml文件中为某个Servlet设置的友好名称和初始化参数等信息也需要传递给该Servlet
2.Servlet引擎将代表Servlet容器的对象(ServletContext)和Servlet的配置参数信息一并封装到一个称为ServletConfig的对象中,并在初始化Servlet实例对象时传递给该Servlet。ServletConfig接口则用于定义ServletConfig对象需要对外提供的方法,以便在Servlet程序中可以调用这些方法来获取有关信息。
3.Servlet引擎调用Servlet的实例对象的init(ServletConfig config)方法将ServletConfig对象传递给Servlet。Servlet.getServletConfig()方法必须返回init(ServletConfig config)方法传递进来的这个ServletConfig对象的引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值