基础知识整理
2015-10-08 16:09
204 查看
零、Tomcat的web.xml
Tomcat有两个web.xml。一个位于conf文件夹下,另外的一个位于各个应用的WEB-INF文件夹下,应用启动时,是先调用前者,再调用后者,所以是附加的关系。
web.xml这个文件中定义了servlet和一些常量、以及filter。filter 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联,如(StrutsPrepareAndExecuteFilter),也就是准备好struts的init和dofilter。
在web.xml中完成的一个最常见的任务是对servlet或JSP页面给出名称和定制的URL。用servlet元素分配名称,使用servlet-mapping元素将定制的URL与刚分配的名称相关联。
一、Struts:
Struts会根据struts.xml中定义的一些Filter来过滤用户的请求字串,然后调用不同的动作来处理请求。
struts.xml 为Struts 2的核心配置文件。struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。
struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。还包括各种拦截器的配置等。
当应用启动时,web.xml会被tomcat读取,然后里面如果定义了filter为struts的话(如StrutsPrepareAndExecuteFilter),则struts会被初始化,同时会读取struts.xml。
struts.xml中一般是这样的结构:
里面主要有不同命名空间下的action和interceptor组合,当一个url到来时,会先调用拦截器中的intercept方法,然后执行完后再调用对应的action。如下图:
Action的实现类(如LeMansDepotAction) 是通过继承com.opensymphony.xwork2.ActionSupport这个类来实现的一般,包含下面几个元素:
name和class对应于url中的名称和处理的类。result为不同的返回结果中返回的不同jsp页面。
二、Spring
Spring framework核心是一个ebean工厂,用来构造我们所需要的bean实例。这样类和类之间的调用就不是互相嵌入的,而统一由它来创建,类只是调用了一个可以做事的接口(IOC)。
在web.xml文件中,有这样一行定义
当tomcat启动时,会通过这个listener通知spring做初始化,初始化之后会根据ClassPath读取bean的配置信息,然后解析并生成BeanDefinition。
Tomcat有两个web.xml。一个位于conf文件夹下,另外的一个位于各个应用的WEB-INF文件夹下,应用启动时,是先调用前者,再调用后者,所以是附加的关系。
web.xml这个文件中定义了servlet和一些常量、以及filter。filter 过滤器元素将一个名字与一个实现javax.servlet.Filter接口的类相关联,如(StrutsPrepareAndExecuteFilter),也就是准备好struts的init和dofilter。
在web.xml中完成的一个最常见的任务是对servlet或JSP页面给出名称和定制的URL。用servlet元素分配名称,使用servlet-mapping元素将定制的URL与刚分配的名称相关联。
一、Struts:
Struts会根据struts.xml中定义的一些Filter来过滤用户的请求字串,然后调用不同的动作来处理请求。
struts.xml 为Struts 2的核心配置文件。struts.xml文件主要负责管理应用中的Action映射,以及该Action包含的Result定义等。
struts.xml中主要配置Struts项目的一些全局的属性,用户请求和响应Action之间的对应关系,以及配置Action中可能用到的参数,以及处理结果的返回页面。还包括各种拦截器的配置等。
当应用启动时,web.xml会被tomcat读取,然后里面如果定义了filter为struts的话(如StrutsPrepareAndExecuteFilter),则struts会被初始化,同时会读取struts.xml。
struts.xml中一般是这样的结构:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.custom.i18n.resources" value="resource" /> <constant name="struts.i18n.encoding" value="utf-8" /> <constant name="struts.devMode" value="false" /> <constant name="struts.multipart.maxSize" value="200000000" /> <constant name="struts.objectFactory" value="spring"></constant> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <include file="struts-xtgl.xml" /> <include file="struts-lm.xml" /> <package name="oa" extends="struts-default"> <interceptors> <interceptor name="surfLogger" class="com.surfkj.xtgl.interceptor.LoggerInterceptor"></interceptor> <interceptor-stack name="surfStack"> <interceptor-ref name="surfLogger"></interceptor-ref> <interceptor-ref name="defaultStack"></interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="surfStack"></default-interceptor-ref> <global-results> <result name="exception">/webmag/error.jsp</result> <result name="info">/webmag/info.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="exception" exception="java.lang.Exception"></exception-mapping> </global-exception-mappings> <action name="baseAction" class="com.surfkj.core.action.BaseAction"></action> </package> </struts>
里面主要有不同命名空间下的action和interceptor组合,当一个url到来时,会先调用拦截器中的intercept方法,然后执行完后再调用对应的action。如下图:
Action的实现类(如LeMansDepotAction) 是通过继承com.opensymphony.xwork2.ActionSupport这个类来实现的一般,包含下面几个元素:
<action name="lemansDepotAction" class="com.surfkj.lm.depot.action.LeMansDepotAction"> <result name="toaddpage">/webmag/depot/addDepot.jsp </result> <result name="tolistpage">/webmag/depot/listDepot.jsp </result> </action>
name和class对应于url中的名称和处理的类。result为不同的返回结果中返回的不同jsp页面。
二、Spring
Spring framework核心是一个ebean工厂,用来构造我们所需要的bean实例。这样类和类之间的调用就不是互相嵌入的,而统一由它来创建,类只是调用了一个可以做事的接口(IOC)。
在web.xml文件中,有这样一行定义
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
当tomcat启动时,会通过这个listener通知spring做初始化,初始化之后会根据ClassPath读取bean的配置信息,然后解析并生成BeanDefinition。
相关文章推荐
- SQL Server恢复软件SysTools SQL Recovery/SysTools SQL Server Recovery Manager
- 测试杯子
- Linux加载DTS设备节点的过程(以高通8974平台为例)
- Assets文件夹和RAW文件夹区别
- SQLServer2005配置远程连接,留着以后用
- 在Eclipse中遇到The type XXX cannot be resolved. It is indirectly referenced from required .class files错误
- Linux加载DTS设备节点的过程(以高通8974平台为例)
- hibernate的N+1问题解析
- toString和强转(String)区别
- 帝国cms修改栏目后文章列表的url错误怎么解决
- C语言中char int转换问题
- HDU 1520 Anniversary party
- Web项目添加接口响应时长
- 高通APQ8074 spi 接口配置
- Grape-demo1
- sql优化之:count(distinct xxxx)
- 时空权限的表
- JavaScript 面向对象详解
- 高通APQ8074 spi 接口配置
- reactor和proactor的区别