莘县网站建设,返回链接 网站惩罚检查 错误检查,厦门商务网站建设,软文平台目录
Servlet简介Servlet快速入门Servlet配置详解ServletContext
1 Servlet简介
Servlet 运行在服务端的Java小程序#xff0c;是sun公司提供一套规范#xff08;接口#xff09;#xff0c;用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码是sun公司提供一套规范接口用来处理客户端请求、响应给浏览器的动态资源。但servlet的实质就是java代码通过java的API动态的向客户端输出内容 javaWeb规范(三大组件)包含三个技术点 1servlet技术 2filter技术—过滤器 3listener技术—监听器
2 Servlet快速入门
2.1 入门案例
2.1.1 实现Servlet接口步骤
1创建类实现Servlet接口 2覆盖尚未实现的方法 3在web.xml进行servlet的配置
2.1.2 servlet对象如何被创建? 2.1.3 访问流程图解 但在实际开发中我们不会直接去实现Servlet接口因为那样需要覆盖的方法太多我们一般创建类继承HttpServlet.
2.2 HttpServlet
2.2.1 继承HttpServlet原理图解: 2.2.2 实现步骤
1创建类继承HttpServlet类 2覆盖doGet和doPost 3在web.xml中进行servlet的配置
3 Servlet的配置详解
3.1 基本配置
其中url-pattern的配置方式 1完全匹配 访问的资源与配置的资源完全相同才能访问到 2目录匹配 格式/虚拟的目录…/* 3扩展名匹配 格式.扩展名 注意第二种与第三种不要混用 **/web/.action错误的,服务器启动报错.**
3.2 服务器启动实例化Servlet配置
Servlet的何时创建默认第一次访问时创建.当在servlet的配置时,加上一个配置 servlet对象在服务器启动时就创建. 在中配置中给出一个非负整数一般不写1Tomcat有个默认的1.多个Servlet的创建顺序按照给出的非负整数从小到大排序.
3.3 缺省的Servlet
可以将url-pattern配置一个/代表该servlet是缺省的servlet.当你访问资源地址所有的servlet都不匹配时缺省的servlet负责处理. 缺省Servlet除了处理动态资源url不匹配,静态资源的路径不匹配也由它处理.
3.4 欢迎页面 当我们访问day07这个项目的时候,就默认在webContext下找day07.html
4 ServletContext对象
4.1 什么是ServletContext对象
ServletContext代表是一个web应用的环境上下文对象ServletContext对象内部封装是该web应用的信息ServletContext对象一个web应用只有一个
4.2 ServletContext生命周期
创建该web应用被加载服务器启动或发布web应用前提服务器启动状态销毁web应用被卸载服务器关闭移除该web应用
简称与天地同寿.
4.3 怎样获得ServletContext对象
我们可以通过两种方式获取ServletContext对象 1ServletContext servletContext config.getServletContext(); 在init(ServletConfig config)方法中获取.但一般不用. 2ServletContext servletContext this.getServletContext(); 在GenericServlet或HttpServlet及其子类中通过this获取.这个常用.
4.4 ServletContext的作用
4.4.1 获得web应用全局的初始化参数
在web.xml中配置初始化参数 通过context对象获得参数
4.4.2 获得web应用中任何资源的绝对路径
方法String path context.getRealPath(相对于该web应用的相对地址); 结果返回资源在磁盘的绝对路径:
4.4.3 ServletContext是一个域对象
4.4.3.1 域对象说明
存储数据的区域就是域对象.JavaWeb有四大域对象,按作用于范围从小到大排列:
PageContext
作用范围是整个JSP页面是四大作用域中最小的一个生命周期是当对JSP的请求时开始当响应结束时销毁。
ServletRequest
作用范围是整个请求链请求转发也存在生命周期是在service方法调用前由服务器创建传入service方法。整个请求结束request生命结束。
HttpSession
作用范围是一次会话。生命周期是在第一次调用request.getSession()方法时服务器会检查是否已经有对应的session,如果没有就在内存中创建一个session并返回。当一段时间内session没有被使用默认为30分钟则服务器会销毁该session。如果服务器非正常关闭强行关闭没有到期的session也会跟着销毁。如果调用session提供的invalidate 可以立即销毁session。
ServletContext
作用范围是整个Web应用。当Web应用被加载进容器时创建代表整个web应用的ServletContext对象当服务器关闭或Web应用被移除时ServletContext对象跟着销毁。
4.4.3.2 域对象的通用的方法
setAtrribute(String name,Object obj); — 设置属性getAttribute(String name); — 获取属性removeAttribute(String name); — 移除属性
设置的属性,其实是存放在一个Map中.这个Map的名字叫attributes. 是ServletContext接口实现类ApplicationContext的一个属性.
4.4.3.3 案例
记录网站的访问次数.