Servlet基础

来源:互联网 发布:电脑软件网站 编辑:程序博客网 时间:2024/06/07 04:11

 

Servlet访问方式:

1,通过浏览器中输入URL地址进行访问,

2,利用表单action属性

3,利用超链接href属性

注意:如果23直接书写URL路径,默认在当前目录下寻找;如果以/开始,表示回到Webapps根目录,那么需要在/后面添加web应用程序的部署名

 

 

推荐使用第二种

 

Servlet的映射路径:

1.精确匹配:/ts,表示只能以/ts方式访问servlet

2.扩展映射:.*do,表示凡是以.do结尾的请求都能访问servlet

3.路径映射:/abc/*,表示在abc目录下的所有请求都能访问servlet

 

Servlet生命周期:

1,启动tomcat,读取conf/server.xml----以确定启动端口(默认8080)和WEB应用程序存放的路径(默认webapps

2,读取webapps目录下所有web应用程序,并将web.xml文件进行解析。如果解析失败,那么抛出解析异常,这就意味着,如果有一个web应用程序的web.xml书写有误,那么启动时都会抛出异常

3WEB容器加载并实例化Servlet。注册servlet时,如果加上<load-on-startup>并且该标签的值为正数,表示容器一启动就实例化servlet,如果没有加<load-on-startup>或者该标签的值为负数,表示客户端第一次访问该servlet时,才实例化

4,调用init()方法完成初始化

5,当请求到达,调用service()方法完成业务

6,销毁阶段,调用destroy()完成清理工作

在整个生命周期中,12346都只进行一次,只有5才是每次请求到达都会执行。而servlet对象在整个生命周期也只有一个,是单实例多线程的对象

 

在注册Servlet时,可以通过

<init-param>

<param-name></param-name>

<param-value></param-value>

</init-param>

书写Servlet的初始化信息。可以通过ServletConfig配置接口定义的getInitParameter()根据参数键,得到参数值。但是只能被当前servlet访问,不能在被别的servlet中访问

getServletName()得到servlet-name


ServletContext应用上下文:

作用:1属于整个Web应用程序

2,可以访问到Web应用程序资源的本地输入流

3读取context-param全局配置信息

4把资源的虚拟路径转换为物理路径

5,记录事件日志

6绑定一个对象在整个web应用程序中共享

 

 

 

0 0
原创粉丝点击