浏览 3615 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-21
域名http://www.wibowibo.com 默认页面:index.jsp index.jsp加载即跳转至index.htm index.htm才是真正的首页。 web.xml: <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.jsp</welcome-file> </welcome-file-list> 这样做就是为了优化推广,把*.htm解析为jsp文件。 <filter-mapping> <filter-name>hibernateFilter</filter-name> <url-pattern>*.htm</url-pattern> </filter-mapping> 而这个hibernateFilter是为了open session等一系列操作,然后index.htm里面利用自定义标签查询数据库生成首页。 看到这里有的人就要问了,为什么不直接把index.htm设置为默认页。 <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> </welcome-file-list> 我原因也是这样想的,也是这样做的,但是这样做的后果就是报错,因为地址栏里没有*.htm导致filter截取不到从open session失败。根据我的调试,报的错误是null,就是自定义标签对应class文件里的session为null。 所以呢我就是做了一个index.jsp,然后迂回跳转到index.htm,从而使地址栏里有index.htm这个东东,这样终于session open成功了,程序正常运行。 就这样一直沿用至今。 今日网络推广的人和我说这样不利于友情链接,问我能不能把首页默认的index.htm去掉不显示。我说这样不行的,会报错,然后见他很执着,我也解释不清,就说不信我给你做个实验。 实验结果,不用说了,没有报错。。。真实让我大跌眼镜了。。。 我感觉很尴尬,自己曾经用实验得出的结论今天居然被另一次实验给推翻了。。。我于是MSN我以前的老大,因为上次的问题他也有参与,他也很无语,问我是不是url-rewrite的原因,于是我再一个没有用url-rewrite的项目也做了次试验,实验结果是:依然可以!!! 望着屏幕,我真的傻眼了。。。 大家能体会这种感受么?相同的实验,环境一致,结果却截然相反。 难道世上真的有鬼么??????? 所以贴出来,javaeye的大鱼们来解释一下。 这里其实有两点 1是 <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> 这里有没有执行到。 2是 <filter-mapping> <filter-name>hibernateFilter</filter-name> <url-pattern>*.htm</url-pattern> </filter-mapping> 这里有没有执行到。 我已经做了两次实验了,,,哪位有空的欢迎也做一次实验。。。 还有这个<welcome-file-list>具体原理机制是怎么样的? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-05-21
JavaEE容器你用的什么?Tomcat还是Resin?
|
|
返回顶楼 | |
发表时间:2009-05-22
TOMCAT
|
|
返回顶楼 | |
发表时间:2009-11-17
<servlet-mapping>
<servlet-name>jsp</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> 要写在TOMCAT_HOME/conf/web.xml文件中 这个<welcome-file-list>具体原理机制是怎么样的? 优先级比较低,如果没有映射到具体目录的话,才会采用welcome-file-list里面的内容。 |
|
返回顶楼 | |