web容器

Java web学习(二)Servlet生命周期

寵の児 提交于 2019-11-27 12:57:03
Servlet 通过调用 init () 方法进行初始化。 Servlet 调用 service() 方法来处理客户端的请求。 Servlet 通过调用 destroy() 方法终止(结束)。 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的。 接下来进行细致的探讨。 init() 方法 init 方法被设计成只调用一次。它在第一次创建 Servlet 时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化,就像 Applet 的 init 方法一样。 Servlet 创建于用户第一次调用对应于该 Servlet 的 URL 时,但是您也可以指定 Servlet 在服务器第一次启动时被加载。 public void init() throws ServletException { // 初始化代码... } 当用户调用一个 Servlet 时,就会创建一个 Servlet 实例,每一个用户请求都会产生一个新的线程,适当的时候移交给 doGet 或 doPost 方法。init() 方法简单地创建或加载一些数据,这些数据将被用于 Servlet 的整个生命周期。 service() 方法 service() 方法是执行实际任务的主要方法。Servlet 容器(即 Web 服务器)调用 service() 方法来处理来自客户端(浏览器)的请求

云计算openstack共享组件——Memcache 缓存系统(4)

丶灬走出姿态 提交于 2019-11-27 12:35:34
云计算openstack共享组件——Memcache 缓存系统(4) 一、缓存系统 一、静态web页面: 1、在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收到内容之后经过浏览器渲染解析,得到显示的效果。 2、为了让静态web页面显示更加好看,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。)但是这些特效都是在客户端上借助于浏览器展现给用户的,所以在服务器上本身并没有任何的变化。 3、静态web无法连接数据库; 4、静态web资源开发技术:HTML; 5、由于现在的web页面中,大量使用JS,导致浏览器打开页面,就会占用大量的内存,服务端的压力是减轻了,但压力转移到了客户端。 二、动态web页面: 1、动态WEB中,程序依然使用客户端和服务端,客户端依然使用浏览器(IE、FireFox等),通过网络(Network)连接到服务器上

Maven实战读书笔记(13)

大憨熊 提交于 2019-11-27 12:10:53
WAR 1 、基于 Java 的 Web 应用,其标准的打包方式是 WAR 2 、 WAR 与 JAR 类似,不过它包含更多的内容,如 JSP 文件、 Servlet 、 Java 类、 web.xml 配置文件、依赖 JAR 包、静态 web 资源(如 HTML 、 CSS 、 JavaScript 文件)等 一个典型的 WAR 文件的目录结构 - war / + META-INF / + WEB-INF / | + classes / | | + ServletA.class | | + config.properties | | + ... | | | | | + lib / | | + dom4j-1.4.1.jar | | + mail-1.4.1.jar | | + ... | | | + web.xml | + img / | + css / | + js / | + index.html + sample.jsp 1 、一个 WAR 包下至少包含两个子目录, META-INF 和 WEB-INF ,前者包含了一些打包元数据信息,不用关心,后者是 WAR 包的核心, WEB-INF 下必须包含一个 Web 资源表示文件 web.xml 2 、 WEB-INF 的子目录 classes 包含所有该 Web 项目的类,而另一个子目录 lib 则包含所有该 Web

web.xml 中元素加载顺序及其详解

霸气de小男生 提交于 2019-11-27 10:32:04
一、概述 1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。 2、紧接着,容器创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 3、容器将<context-param>转换为键值对,并交给servletContext。 4、容器创建<listener>中的类实例,创建监听器 二 、 load-on-startup load-on-startup 元素在web应用启动的时候指定了servlet被加载的顺序,它的值必须是一个整数。如果它的值是一个负整数或是这个元素不存在,那么容器会在该servlet被调用的时候,加载这个servlet 。如果值是正整数或零,容器在配置的时候就加载并初始化这个servlet,容器必须保证值小的先被加载。如果值相等,容器可以自动选择先加载谁。 在servlet的配置当中,<load-on-startup>5</load-on-startup>的含义是: 标记容器是否在启动的时候就加载这个servlet。 当值为0或者大于0时,表示容器在应用启动时就加载这个servlet; 当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载。 正数的值越小,启动该servlet的优先级越高。 三

servlet xml 配置详解

[亡魂溺海] 提交于 2019-11-27 10:31:46
2013-11-08 09:04 161人阅读 评论 (0) 收藏 举报 web.xml myeclipse 首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是: listener -> filter -> servlet 同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在 listener 配置节前呢?实际上 context-param 配置节可写在任意位置,因此 真正的加载顺序为:context-param -> listener -> filter -> servlet 对于某类配置节而言,与它们出现的顺序是有关的。以 filter 为例,web.xml 中当然可以定义多个 filter,与 filter 相关的一个配置节是 filter-mapping,这里一定要注意,对于拥有相同 filter-name 的 filter 和 filter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后,否则当解析到

综合技术 --maven web.xml详解

戏子无情 提交于 2019-11-27 10:31:34
//参考 http://mianhuaman.iteye.com/blog/1105522 本项目的web.xml文件内容 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>CQR</display-name> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

Spring的作用域以及RequestContextListener作用

限于喜欢 提交于 2019-11-27 10:30:07
一、配置方式 在Spring2.0中除了以前的Singleton和Prototype外又加入了三个新的web作用域,分别为request、session和global session,如果你想让你的容器里的某个bean拥有其中某种新的web作用域, 除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始化配置。 <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> 如果你用的是早期版本的web容器(Servlet 2.4以前),那么你要使用一个javax.servlet.Filter的实现。 <web-app> ... <filter> <filter-name>requestContextFilter</filter-name> <filter-class>org.springframework.web.filter.RequestContextFilter</filter-class> </filter> <filter-mapping> <filter-name>requestContextFilter</filter-name> <url-pattern>/*</url

servletConfig和servletContext的应用

允我心安 提交于 2019-11-27 07:40:28
一.ServletConfig的使用 在学习servlet生命周期时我们讲过,Servlet在被web容器创建时要先调用其init方法传入一个ServletConfig类型的参数,什么是ServletConfig呢?ServletConfig顾名思义,就是Servlet的配置,我们在web.xml中定义的init-param标签的内容就是保存在ServletConfig这个对象中的。ServletConfig是一个接口,里面定义了如下的几个方法: public interface ServletConfig { public String getServletName(); public ServletContext getServletContext(); public String getInitParameter(String name); public Enumeration<String> getInitParameterNames(); } 其中getServletName用于获取Servlet的名字;getInitParameter(String name)表示获取init-param的值;getInitParameterNames()表示获取所有配置在web.xml中的值,这三个方法都是比较的容易理解。这里我要着重介绍的是getServletContext(

【第1章 Spring概述与结构】1.2 Spring模块与结构

你。 提交于 2019-11-27 07:05:19
上一节: 【第1章 Spring概述与结构】1.1 Spring起源与概述 ##Spring功能## 基于Java Beans的配置管理,采用IOC的原理,特别是对依赖注入技术的使用。这些都用来减少各组件间对实施细则的相互依赖性。 一个核心的,全局适用的Bean工厂。 一个一般抽象化的层面来管理数据库间的数据处理。 建立在框架内的,对Java数据处理API和单独的JDBC数据源的一般性策略。因此,在数据处理支持上对Java企业版本环境的依赖性得以消除。 和一些可持续性的框架,如Hibernate,JDO,MyBatis和db4o的整合。 Web应用中的MVC框架,基于核心的Spring功能,支持多种产生视图的技术,包括JSP,FreeMarker,Velocity,Tiles,iText,和POI。 大量的AOP框架以提供诸如数据处理管理的服务。同IOC的功能一样,目的是提高系统的模块化程度 ##Spring模块## Spring框架旨在分离体系结构的层次,由7个定义良好的模块组成,因此每一层都可以修改而不会影响到其它层。每一层都不知道其上层的关注点;就其可能而言,只对所紧挨的下一层有依赖。层与层之间的依赖通常是以接口的形式表现,以确保其耦合尽可能松散。Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理Bean的方式。 如果作为一个整体

spring整合web

醉酒当歌 提交于 2019-11-27 05:55:13
0 导入jar包 1 tomcat启动加载配置文件 servlet-->init(ServletConfig)--><load-on-startup>2 filter-->init(FilterConfig)-->web.xml 注册过滤器自动调用 listener-->ServletContextListner-->servletContext对象监听 spring提供监听器 ContextLoaderListener -->web.xml <listener><listener-class>... 如果只配置监听器,默认加载xml位置:/WEB-INF/applicationContext.xml 2 确定配置文件位置,通过系统初始化参数 ServletContext初始化参数 web.xml <context-param> <param-name>contextConfigLocation <param-value>classpath:applicationContext.xml xml配置文件 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns