Servlet基础(二)
来源:互联网 发布:bfprt算法 编辑:程序博客网 时间:2024/05/22 05:05
如下是Servlet类的结构图:
Servlet的生命周期过程:1.Web容器启动,读取Conf/Servlet.xml,以确定启动的端口,及Web应用存放的路径;2.Web容器读取webapps中所有web应用中的web.xml并解析,如果这时有一个web应用的web.xml书写有误,那么就会抛出异常;3.web容器加载并实列化Servlet,如果web.xml配置里有<load-on-startup>2</load-on-startup>这句话,且数字的值为0或正数,则在启动Web容器的时候就加载Servlet,如果没有这句话,或者数字的值为负数,那么在第一次访问Servlet的时候才加载它,在整个生命周期中,Servler的对象只有一个;4.调用init方法初始化;5.当请求到达时,调用Servlet方法完成业务,并生成响应(只有这一步,每次提交请求都会执行,其余的值执行一次);6.销毁阶段,调用distroy方法,销毁实列。
在部署Servlet时分为三步:1.创建部署描述文件,即web.xml;2.在容器中注册Servlet;3.映射Servlet。完成之后web.xml基本结构如下:
<?xml version="1.0" encoding="utf-8"?>
<web-app>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.lovo.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
Servlet映射路径的方法有以下几种:1.精确映射,如:/test;2.扩展映射,格式:*.扩展名;3.路径映射,格式:/文件夹名/*;4.默认的Servlet映射,即/。
在Servlet编程中 ,容器创建了应用程序上下文对象(ServletContext),用于描述Servlet运行环境的信息,使得Servlet可以同容器进行通讯,ServletContext的作用域是整个web应用程序。ServletContext的几大作用:1.可以访问到web应用程序资源的本地输入流;2.把资源的虚拟路径转换为物理路径;3.记录事件日志;4.绑定一个对象在整个web应用程序中共享。
几个与ServletContext相关的方法:
ServletContextcontext = getServletContext();//得到ServletContext对象
String str = context.getInitParameter("aaa");//获取上下文全局对象
String path = context.getRealPath("WEB-INF/1.jpg");//获取web应用中的绝对路径
context.setAttribut("name","value");//绑定对象在全局进行共享
Object obj = context.getAttribut("name");//得到上下文中绑定的对象
全局初始化web参数,可在web.xml中加入配置如下:
<context-param>
<param-name>name</param-name>
<param-value>value</param-value>
</context-param>
在web.xml的当前<Servlet>中,加入以下代码,初始化本Servlet的参数,防止硬编码:
<init-param>
<param-name>name</param-name>
<param-value>value</param-value>
</init-param>
文章来自于:http://blog.csdn.net/yangbin_hust/article/details/17326287
- Servlet系列(二)----Servlet基础
- Servlet基础(二)
- Servlet基础(二)
- Servlet基础(二) Servlet的生命周期
- Servlet基础(二):Servlet与JSP
- servlet基础梳理(二)
- Servlet基础(二:转发和重定向)
- Java Web基础(二)(Servlet编写与配置)
- 【Java学习-J.160601.0.20】Servlet 基础二
- 【Servlet】(二)初识Servlet
- Servlet基础----Hello Servlet!!!
- servlet(二)
- Servlet二
- Servlet(二)
- Servlet二
- Servlet基础
- Servlet基础
- Servlet基础
- 一个国家工业化为什么那么难?
- 新办法绕过xss过滤-让xss来的更猛烈些吧
- latex中用hyperref和CJK生成中文书签
- 嵌入式Linux设备驱动开发之:按键驱动程序实例
- PopWindow的实现功能
- Servlet基础(二)
- sybase
- 后台报Error performing load command
- U-Boot启动过程完全分析(-)
- VirtualBox虚拟机下Fedora17与windows宿主机共享文件夹的设置
- fputc、putc、putchar
- flickr
- eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3解决方案
- 【LeetCode】Longest Consecutive Sequence