Coffee_冬孓的gravatar头像
Coffee_冬孓 2014-07-14 09:35:38

最代码的伪静态的设计原理及实现方式

我想问一下。像咱们最代码这样每一个链接都是xxxxx.htm。例如:“http://www.zuidaima.com/share/1904495354219520.htm”,淘宝网站也是这样。我想问一下这种方式是怎么实现的呢。这些htm文件是真实存在的吗?

还有页面上的数据都是动态的,那为什么不是*.jsp文件呢。会是*.htm文件呢。怎么实现的呢?麻烦大神们可以给我讲解一下吗。多谢~

所有回答列表(6)
请叫我小C的gravatar头像
请叫我小C  LV19 2014年7月14日

这个htm也许是请求的后缀啊 ,这个就是拦截了以htm结尾的东东,浏览器显示就是   xxxxx/meessage.htm

<!-- 前端控制器的配置 -->
 <servlet>
  <servlet-name>spring</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <!--指定spring配置文件的位置 -->
  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>classpath:applicationContext.xml</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>

 <!-- 所有以.html和.json的请求都由dispatcherServlet来处理的配置 -->
 <servlet-mapping>
  <servlet-name>spring</servlet-name>
  <url-pattern>*.htm</url-pattern>
 </servlet-mapping>

 

评论(1) 最佳答案
最代码官方的gravatar头像
最代码官方  LV168 2014年7月14日

其实是通过springmvc实现的伪静态,后缀可以随意的字符组合,比较常见的是*.action,*.do等,我有类似的代码分享,你参考下这个:年末最代码部分源码大出血分享-freemarker,bootstrap,springdata jpa分页代码

dyl的gravatar头像
dyl  LV7 2014年7月14日
  1. http://www.zuidaima.com/share/1904495354219520.htm是一个URL,加后缀是一种规范的做法。如果有一张图片的url恰好就是http://www.zuidaima.com/share/1904495354219520.jpg怎么办
  2. 后缀原则上可以是任意的,只不过html、htm这样的比较符合用户的习惯,更容易让人接受,所以更推荐使用
  3. 用struts/spring mvc都行

 

骑着猪猪去逛街的gravatar头像
骑着猪猪去逛街  LV32 2014年7月14日
<servlet-mapping>
		<servlet-name>springmvc</servlet-name>
		<url-pattern>*.html</url-pattern>
	</servlet-mapping>

通过Springmvc框架实现即可,他只是根据你的后缀来判断是否接收这个请求。与struts的action一个道理,在web.xml中配置。

 

 

weep的gravatar头像
weep  LV21 2014年7月14日

综合楼上所述,其实就是只要不通过jsp直接访问,就算通过servlet访问只要把拦截的规则改为*.html,就可以通过XXX.html来发起请求了,自然url上的访问地址是以.html结尾的了。

大熊的gravatar头像
大熊  LV10 2014年7月15日

其实都是对于URL的拦截进行解析,htm不一定是静态页面,有可能是伪静态,他们的请求可能是到JSP去,至于为什么要这么做,有一方面是SEO的,另外有的是静态化,用于Nginx请求分流

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友