java,php,asp.net,linux,javascript,mysql,mssql,oracle,编程

jsp 利用404错误页进行URL重写

 1 
 2 java代码  
 3 有些时候为了SEO,尽可能的吧网站的URL弄成静态的,这样有利于搜索引擎的收录。    
 4 如果空间足够的话,可以把所有的网页生成静态的,而且打开速度也快。但如果条件不允许,又想实现那样的链接?可以通过伪静态,就是通过重新构造URL来实现 URL重写    
 5 首先定义一个404.jsp页面 配置404错误  ,在web.xml里面配置    
 6 〈error-page〉     
 7   〈error-code〉404/error-code〉     
 8   〈location〉404.jsp〈/location〉     
 9   〈/error-page〉   
10 %@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK"%〉     
11  〈%     
12    response.setStatus(HttpServletResponse.SC_OK);  //返回正常的状态   
13    String key = (String) request.getAttribute("javax.servlet.forward.servlet_path");  //得到请求路径   
14    if (key != null) {     
15      int index = key.lastIndexOf("/");     
16      if (index != -1) {     
17        key = key.substring(index + 1);     
18        if (key.startsWith("f"|| key.startsWith("p")) {     
19          try {     
20            long id = Long.parseLong(key.substring(1));     
21            String url = key.startsWith("f"? "forumdisplay.jsp?fid=" : "viewthread.jsp?tid=";  //根据当前请求的URL分析 然后处理   
22  %〉     
23  〈jsp:forward page="〈%=url+id%〉"〉〈/jsp:forward〉  // 跳转   
24  〈%     
25    return;     
26          } catch (Exception ex) {}     
27        }     
28  %〉     
29  〈jsp:forward page="〈%=response.encodeURL("search.jsp")%〉"〉〈jsp:param name="keyword" value="〈%=key %〉" /〉〈/jsp:forward〉     
30  〈%     
31    return;     
32      }     
33    }     
34  %〉     
35 转载请注明:http://www.pmjava.com/?thread-62953-1.html 

posted on 2009-06-18 14:20 rrong_m 阅读(1631) 评论(0)  编辑  收藏

<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

导航

统计

常用链接

随笔档案

文章分类

文章档案

java编程

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜