近日帮别人做个贷款类门户网站,功能较简单,主要功能有在线申请贷款、关于我们、公司新闻、加入我们、贷款问答等。
后台功能比较核心的就是自动派单功能,可以参考我之前的博文 http://yiding-123.iteye.com/blog/2099891
架构: 采用SSH(Struts、hibernate、spring)经典的敏捷型开框架,由于考虑到页面静态化的问题,所以又引入urlrewrite做伪静态,又考虑到页面缓存问题,固又引入oscache.
在这个系统中特别要注意的是过滤先后顺序的配置,以下是我的过滤器的顺序:
字符集/Session过滤器 -> oscache过滤器 -> UrlRewriteFilter -> strusts2过滤器
<filter> <filter-name>CommonFilter</filter-name> <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class> <init-param> <param-name>targetBean</param-name> <param-value>commonFilter</param-value> </init-param> <init-param> <param-name>lifecycle</param-name> <param-value>servlet-container-managed</param-value> </init-param> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CommonFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CommonFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CommonFilter</filter-name> <url-pattern>/admin/</url-pattern> </filter-mapping> <filter> <filter-name>CacheFilter</filter-name> <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class> <init-param> <param-name>time</param-name> <param-value>600</param-value> </init-param> <init-param> <param-name>scope</param-name> <param-value>application</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheFilter</filter-name> <url-pattern>*.html</url-pattern> </filter-mapping> <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> <init-param> <param-name>confPath</param-name> <param-value>/WEB-INF/config/urlrewrite.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>*.html</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.jsp</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
近日帮别人做个贷款类门户网站,功能较简单,主要功能有在线申请贷款、关于我们、公司新闻、加入我们、贷款问答等。
后台功能比较核心的就是自动派单功能,可以参考我之前的博文 http://yiding-123.iteye.com/blog/2099891
扫描二维码关注公众号,回复:
548974 查看本文章
架构: 采用SSH(Struts、hibernate、spring)经典的敏捷型开框架,由于考虑到页面静态化的问题,所以又引入urlrewrite做伪静态,又考虑到页面缓存问题,固又引入oscache.
在这个系统中特别要注意的是过滤先后顺序的配置,以下是我的过滤器的顺序:
字符集/Session过滤器 -> oscache过滤器 -> UrlRewriteFilter -> strusts2过滤器
<filter> <filter-name>CommonFilter</filter-name> <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class> <init-param> <param-name>targetBean</param-name> <param-value>commonFilter</param-value> </init-param> <init-param> <param-name>lifecycle</param-name> <param-value>servlet-container-managed</param-value> </init-param> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>CommonFilter</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CommonFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> <filter-mapping> <filter-name>CommonFilter</filter-name> <url-pattern>/admin/</url-pattern> </filter-mapping> <filter> <filter-name>CacheFilter</filter-name> <filter-class>com.opensymphony.oscache.web.filter.CacheFilter</filter-class> <init-param> <param-name>time</param-name> <param-value>600</param-value> </init-param> <init-param> <param-name>scope</param-name> <param-value>application</param-value> </init-param> </filter> <filter-mapping> <filter-name>CacheFilter</filter-name> <url-pattern>*.html</url-pattern> </filter-mapping> <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> <init-param> <param-name>confPath</param-name> <param-value>/WEB-INF/config/urlrewrite.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>*.html</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.jsp</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>