出自:http://apps.hi.baidu.com/share/detail/12538350
<!-- 导航栏有两种,一种是衡着的,一种竖着的 simplicity是衡着的,andreas01是竖着! -->
<context-param>
<param-name>csstheme</param-name>
<param-value>simplicity</param-value>
</context-param>
<!-- Define the basename for a resource bundle for I18N -->
<!-- jstl中的fmt是关于国际化的内容 -->
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
<param-value>ApplicationResources</param-value>
</context-param>
其运用如下:
1 加入standard.jar和jstl.jar文件到/WEB-INF/lib里面
2 配置web.xml文件,加入如下内容:
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.localizationContext </param-name>
<param-value>messages</param-value>
</context-param>
3 编写国际化文件messages_zh_CN.txt并放之于/WEB-INF/classes里面,内容如下:
test = 测试一下看看
4 将该properties文件进行编码,命令如下,在jdk的安装目录bin里面有native2ascii.exe命令:
native2ascii.exe messages_zh_CN.txt messages_zh_CN.properties
5 编写jsp文件test.jsp,内容如下:
<%@ page contentType="text/html;charset=GB2312"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
<head><title>测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
</head>
<body>
<fmt:message key="test" />
</body>
</html>
6 运行服务器,并且于浏览器查看test.jsp页面
<!-- Fallback locale if no bundles found for browser's preferred locale -->
<!-- Force a single locale using param-name 'javax.servlet.jsp.jstl.fmt.locale' -->
<!-- jstl的配置 -->
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name>
<param-value>en</param-value>
</context-param>
<!-- Context Configuration locations for Spring XML files -->
<!-- spring导入的bean的xml文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/applicationContext-resources.xml
classpath:/applicationContext-dao.xml
classpath:/applicationContext-service.xml
classpath*:/applicationContext.xml
/WEB-INF/applicationContext*.xml
/WEB-INF/xfire-servlet.xml //web service和spring相结合的配置文件
/WEB-INF/security.xml //
AppFuse 使用 Acegi 进行安全管理。Acegi 的配置信息位于 web\WEB-INF\classes\security.xml。事实上,Acegi 是被集成到 Spring 当中的,因此这个文件是 Spring 的配置文件格式。在 web\WEB-INF\web.xml 中,该文件被指定在应用启动前会被加载:
引用文件:
http://hi.baidu.com/limeng1028/blog/item/ae549916f0938752f3de32df.html
</param-value>
</context-param>
//oscache是缓存机制的应用
<filter>
<filter-name>cacheFilter</filter-name>
<filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class>
</filter>
appfuse中使用Clickstream来跟踪用户的页面操作。它通过监听器来开始一次会话跟踪过程。 用户的每一条点击信息是通过一个servlet filter来捕捉的。当用户的session结束后把整个跟踪 记录保存在一个文件里或打印输出。可以发现用户是不是一个“人”。并且进行过滤(可以发现 252中机器人)。可以通过jsp或servlet显示用户的当前的点击信息。 先在web.xml中定义了filter和listener.
<filter>
<filter-name>clickstreamFilter</filter-name>
<filter-class>com.opensymphony.clickstream.ClickstreamFilter</filter-class>
</filter>
编码过滤器,其中,encoding参数为设定转换成什么编码,如果中文,可以设成:GBK,forceEncoding参数为:强制转换
<filter>
<filter-name>encodingFilter</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>
DisplayTag是一个非常好用的表格显示标签,用于数据表格的显示,排序,导出等功能。
<filter>
<filter-name>exportFilter</filter-name>
<filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
</filter>
ehcache也是一种缓存机制,其中gzipFilter可以压缩respone,可以将请求获得的数据压缩后发送到客房端。
<filter>
<filter-name>gzipFilter</filter-name>
<filter-class>net.sf.ehcache.constructs.web.filter.GzipFilter</filter-class>
</filter>
<!--<filter>
<filter-name>lazyLoadingFilter</filter-name>它是一个Servlet2.3过滤 器,用来把一个Hibernate Session和一次完整的请求过程对应的线程相绑定。目的是为了实现"Open Session in View"的模式。
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>-->
<!-- Use "org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter" if you're using JPA -->
<filter>
<filter-name>localeFilter</filter-name>
<filter-class>org.appfuse.webapp.filter.LocaleFilter</filter-class>
</filter>
UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页
对应的配置文件为:urlrewrite.xml
<filter>
<filter-name>rewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>log4j</param-value>
</init-param>
</filter>
acegi安全机制的应用
<filter>
<filter-name>securityFilter</filter-name>
<filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
<init-param>
<param-name>targetClass</param-name>
<param-value>org.acegisecurity.util.FilterChainProxy</param-value>
</init-param>
</filter>
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大
量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。
它不仅仅能处理动态的内容,如jsp,php,asp等产生的内容,它也能处理静态的内容,如htm的内容,
使得它的内容也符合你的页面结构的要求。甚至于它能将HTML文件象include那样将该文件作为一个面板
的形式嵌入到别的文件中去。所有的这些,都是GOF的Decorator模式的最生动的实现。尽管它是由java语言来实现的,但它能与其他Web应用很好地集成。
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter>
<filter-name>staticFilter</filter-name>
<filter-class>org.appfuse.webapp.filter.StaticFilter</filter-class>
<init-param>
<param-name>includes</param-name>
<param-value>/scripts/dojo/*,/dwr/*</param-value>
</init-param>
</filter>