<listener></listener>和<context-param></context-param>
ServletContext application =ServletContextEvent.getServletContext();
context-param的值= application.getInitParameter("context-param的键");
<!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></web-app>
<!ELEMENT web-app (icon?, display-name?, description?, distributable?, context-param*, filter*, filter-mapping*, listener*, servlet*, servlet-mapping*, session-config?, mime-mapping*, welcome-file-list?, error-page*, taglib*, resource-env-ref*, resource-ref*, security-constraint*, login-config?, security-role*,env-entry*, ejb-ref*, ejb-local-ref*)>
<!--****************************上下文初始化参数配***************************--> <context-param> <param-name>webAppRootKey</param-name> <param-value>business.root</param-value> </context-param> <!-- spring config --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-configuration/*.xml</param-value> </context-param>
<!-- spring config --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-configuration/*.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
<!-- 应用路径 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param>
<!—business-client应用路径 --> <context-param> <param-name>webAppRootKey</param-name> <param-value> business.root </param-value> </context-param> <!—public-base应用路径 --> <context-param> <param-name>webAppRootKey</param-name> <param-value> pubbase.root</param-value> </context-param>
log4j.appender.file.File=${webapp.root}/WEB-INF/logs/sample.log
<context-param> <param-name>contextConfigLocation </param-name> <param-value> applicationContext-database.xml,applicationContext.xml</param-value> <context-param>
<bean id="userService" class="domain.user.service.impl.UserServiceImpl"> <property name="dbbean"> <ref bean="dbBean"/> </property> </bean>
<context-param> <param-name>param_name</param-name> <param-value>param_value</param-value> </context-param>
${initParam.param_name}
String param_name=getServletContext().getInitParamter("param_name");
<!-- Set timeout to 120 minutes --> <session-config> <session-timeout>120</session-timeout> </session-config>
<!--****************************监听器配置*********************************--> <!-- Spring的log4j监听器 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 与CAS Single Sign Out Filter配合,注销登录信息 --> <listener> <listener-class>com.yonyou.mcloud.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener>
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
<servlet> <servlet-name>context</servlet-narne> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet>
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
<!--****************************过滤器配置*********************************--> <!-- 字符集过滤器 --> <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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <!-- 单点登出过滤器 --> <filter> <filter-name>CAS Single Sign Out Filter</filter-name> <filter-class>com.yonyou.mcloud.cas.client.session.SingleSignOutFilter</filter-class> </filter> <!-- 认证过滤器 --> <filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class>com.yonyou.mcloud.cas.client.authentication.ExpandAuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <param-value>https://dev.yonyou.com:443/sso-server/login</param-value> </init-param> <init-param> <!--这里的server是服务端的IP --> <param-name>serverName</param-name> <param-value>http://10.1.215.40:80</param-value> </init-param> </filter> <!-- 验证ST/PT过滤器 --> <filter> <filter-name>CAS Validation Filter</filter-name> <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>https://dev.yonyou.com:443/sso-server</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://10.1.215.40:80</param-value> </init-param> <init-param> <param-name>proxyCallbackUrl</param-name> <param-value>https://dev.yonyou.com:443/business/proxyCallback</param-value> </init-param> <init-param> <param-name>proxyReceptorUrl</param-name> <param-value>/proxyCallback</param-value> </init-param> <init-param> <param-name>proxyGrantingTicketStorageClass</param-name> <param-value>com.yonyou.mcloud.cas.client.proxy.MemcachedBackedProxyGrantingTicketStorageImpl</param-value> </init-param> <!-- 解决中文问题 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> </filter> <filter> <filter-name>CAS Assertion Thread Local Filter</filter-name> <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> </filter> <filter> <filter-name>NoCache Filter</filter-name> <filter-class>com.yonyou.mcloud.cas.client.authentication.NoCacheFilter</filter-class> </filter> <!--****************************映射关系配置********************************--> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>NoCache Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Single Sign Out Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/proxyCallback</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Authentication Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Assertion Thread Local Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<!-- 字符集过滤器 --> <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> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> CharacterEncodingFilter类可以通过简单配置来帮我们实现字符集转换的功能,参数encoding用于指定编码类型,参数forceEncoding设为true时,强制执行request.setCharacterEncoding(this.encoding)和reponse.setCharacterEncoding(this.encoding)中的方法。 ) 缓存控制 <filter> <filter-name>NoCache Filter</filter-name> <filter-class>com.yonyou.mcloud.cas.client.authentication.NoCacheFilter</filter-class> </filter> <filter-mapping> <filter-name>NoCache Filter</filter-name> <!—表示对URL全部过滤--> <url-pattern>/*</url-pattern> </filter-mapping> ) 登录认证 <!-- 认证过滤器 --> <filter> <filter-name>CAS Authentication Filter</filter-name> <filter-class>com.yonyou.mcloud.cas.client.authentication.ExpandAuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <param-value>https://dev.yonyou.com:443/sso-server/login</param-value> </init-param> <init-param> <!--这里的server是服务端的IP --> <param-name>serverName</param-name> <param-value>http://10.1.215.40:80</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Authentication Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<filter> <filter-name>CAS Single Sign Out Filter</filter-name> <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Single Sign Out Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener>
<filter> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<filter> <filter-name>CAS Assertion Thread Local Filter</filter-name> <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Assertion Thread Local Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<filter> <filter-name>NoCache Filter</filter-name> <filter-class>com.yonyou.mcloud.cas.client.authentication.NoCacheFilter</filter-class> </filter> <filter-mapping> <filter-name>NoCache Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<!-- 验证ST/PT过滤器 --> <filter> <filter-name>CAS Validation Filter</filter-name> <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>https://dev.yonyou.com:443/sso-server</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://10.1.215.40:80</param-value> </init-param> <init-param> <param-name>proxyCallbackUrl</param-name> <param-value>https://dev.yonyou.com:443/business/proxyCallback</param-value> </init-param> <init-param> <param-name>proxyReceptorUrl</param-name> <param-value>/proxyCallback</param-value> </init-param> <init-param> <param-name>proxyGrantingTicketStorageClass</param-name> <param-value>com.yonyou.mcloud.cas.client.proxy.MemcachedBackedProxyGrantingTicketStorageImpl</param-value> </init-param> <!-- 解决中文问题 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/proxyCallback</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<!--****************************servlet配置******************************--> <!-- Spring view分发器 对所有的请求都由business对应的类来控制转发 --> <servlet> <servlet-name>business</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>publishContext</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 用户登出 --> <servlet> <servlet-name>LogOutServlet</servlet-name> <servlet-class>com.yonyou.mcloud.cas.web.servlet.LogOutServlet</servlet-class> <init-param> <param-name>serverLogoutUrl</param-name> <param-value>https://dev.yonyou.com:443/sso-server/logout</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://10.1.215.40:80/business/</param-value> </init-param> </servlet> <!--****************************servlet映射关系配置*************************--> <servlet-mapping> <servlet-name>LogOutServlet</servlet-name> <url-pattern>/logout</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>business</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
<!-- Spring view分发器 对所有的请求都由business对应的类来控制转发 --> <servlet> <servlet-name>business</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>publishContext</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
[img]http://files.jb51.net/file_images/article/201707/201707181152108.png[/img]我们在public-base-server工程中,通过第2种方式进行配置,把spring-servlet.xml放到src/main/resources/config/spring-servlet.xml,则需要在配置DispatcherServlet时指定<init-param>标签。具体代码如下:
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>publishContext</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:config/spring-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
[img]http://files.jb51.net/file_images/article/201707/201707181152109.png[/img]
[img]http://files.jb51.net/file_images/article/201707/2017071811521010.png[/img]其中,classpath是web项目的类路径,可以理解为classes下面。因为无论这些配置文件放在哪,编译之后如果没有特殊情况的话都直接在classes下面。jar包的话虽然放在lib文件夹里,但实际上那些类可以直接引用,比如:com.test.ABC,仿佛也在classes下面一样。 在我们的工程里,经过验证,maven工程这两个
[img]http://files.jb51.net/file_images/article/201707/2017071811521011.png[/img] [img]file:///C:/Users/hwp/AppData/Local/YNote/data/chinawphuang@163.com/aa2184cfe44c4b6d87af2ea778795e27/lip_image006.png[/img]路径经过编译后生成的文件都位于classes目录下,即这两个路径相当于类路径,在下面创建config文件夹(folder),然后创建自定义的xml配置文件即可。 [b]classpath和classpath*区别:[/b] 同名资源存在时,classpath只从第一个符合条件的classpath中加载资源,而classpath*会从所有的classpath中加载符合条件的资源。classpath*,需要遍历所有的classpath,效率肯定比不上classpath,因此在项目设计的初期就尽量规划好资源文件所在的路径,避免使用classpath*来加载。 4.ContextLoaderListener和DispatcherServlet初始化上下文关系和区别: [img]http://files.jb51.net/file_images/article/201707/2017071811521012.png[/img] 从上图可以看出,ContextLoaderListener初始化的上下文加载的Bean是对于整个应用程序共享的,一般如:DAO层、Service层Bean;DispatcherServlet初始化的上下文加载的Bean是只对Spring MVC有效的Bean,如:Controller、HandlerMapping、HandlerAdapter等,该初始化上下文只加载Web相关组件。 注意:用户可以配置多个DispatcherServlet来分别处理不同的url请求,每个DispatcherServlet上下文都对应一个自己的子Spring容器,他们都拥有相同的父Spring容器(业务层,持久(dao)bean所在的容器)。 10.<welcome-file-list></welcome-file-list>
<!-- welcome page --> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有