<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zs7456

    haha!
    隨筆 - 4, 文章 - 1, 評論 - 31, 引用 - 0
    數據加載中……

    jsp URL重寫

    這段時間一直都在研究jsp生成靜態頁面的方法,在網上找了很多資料,也有不少朋友給我提出解決方案,確實解決了不少的問題,但是這樣做有點麻煩。其實我并不是想減輕服務器的壓力,我們要做的不是門戶網站,訪問量沒那么大,所以不用擔心服務器的承受能力。只是希望搜索引擎能夠搜索到我們的頁面,只要能達到目的,用什么樣的方式都可以。

    在網上看到了一則URL重寫的貼子,感覺比較適合我這樣的情況,應用起來簡單。然后自己試著寫了一個例子,居然成功了,而在Struts里不知道怎么實現,實現轉發的時候好象沒什么用了。*.do好象不能實現映射
    以下是相關代碼,若有不正之處,歡迎大家指正!
    首先要去下載一個urlrewritefilter-2.6.zip,然后把它解壓到WEB-INF下,然后配置一下web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
      
    <filter>
        
    <filter-name>UrlRewriteFilter</filter-name>
        
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        
    <init-param>
          
    <param-name>logLevel</param-name>
          
    <param-value>WARN</param-value>
        
    </init-param>
      
    </filter>
      
    <filter-mapping>
        
    <filter-name>UrlRewriteFilter</filter-name>
        
    <url-pattern>/*</url-pattern>
      
    </filter-mapping>
      
    <servlet>
        
    <servlet-name>action</servlet-name>
        
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        
    <init-param>
          
    <param-name>config</param-name>
          
    <param-value>/WEB-INF/struts-config.xml</param-value>
        
    </init-param>
        
    <init-param>
          
    <param-name>debug</param-name>
          
    <param-value>3</param-value>
        
    </init-param>
        
    <init-param>
          
    <param-name>detail</param-name>
          
    <param-value>3</param-value>
        
    </init-param>
        
    <load-on-startup>0</load-on-startup>
      
    </servlet>
      
    <servlet-mapping>
        
    <servlet-name>action</servlet-name>
        
    <url-pattern>*.do</url-pattern>
      
    </servlet-mapping>
    </web-app>

    然后再隨便建立幾個jsp頁面,如:
    MyJsp.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      
    <head>
        
    <base href="<%=basePath%>">
        
        
    <title>My JSP 'MyJsp.jsp' starting page</title>
        
        
    <meta http-equiv="pragma" content="no-cache">
        
    <meta http-equiv="cache-control" content="no-cache">
        
    <meta http-equiv="expires" content="0">    
        
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        
    <meta http-equiv="description" content="This is my page">
        
    <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        
    -->

      
    </head>
      
      
    <body>
      
    <% 
          
    String a = request.getParameter("id");
      
    %>
        
    <%=basePath %> <br>
        
    <%
            
    if(a.equals("123"))
            {
                out.println(
    "哈哈");
            }
            
    else
            {
                out.println(
    "再試一次!");
            }
         
    %>
      
    </body>
    </html>

    接著在urlrewrite.xml里配置一下路徑
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
            "http://tuckey.org/res/dtds/urlrewrite2.6.dtd"
    >

    <!--

        Configuration file for UrlRewriteFilter
        http://tuckey.org/urlrewrite/

    -->
    <urlrewrite>

        
    <rule>
            
    <note>
                The rule means that requests to /test/status/ will be redirected to /rewrite-status
                the url will be rewritten.
            
    </note>
            
    <from>/test/status/</from>
            
    <to type="redirect">%{context-path}/rewrite-status</to>
        
    </rule>


        
    <outbound-rule>
            
    <note>
                The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
                the url /rewrite-status will be rewritten to /test/status/.

                The above rule and this outbound-rule means that end users should never see the
                url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
                in your pages.
            
    </note>
            
    <from>/rewrite-status</from>
            
    <to>/test/status/</to>
        
    </outbound-rule>
            
    <rule>
                
    <from>/test/([0-9]+)</from>
                
    <to>/MyJsp.jsp?id=$1</to>
            
    </rule>
    </urlrewrite>

    啟動服務器,然后輸入http://localhost:8080/test/123 ,那么就可以顯示了,而實際上讀取的路徑是http://localhost:8080/MyJsp.jsp?id=123

    posted on 2008-05-16 15:14 zs7456 閱讀(3514) 評論(5)  編輯  收藏

    評論

    # re: jsp URL重寫  回復  更多評論   

    good....
    2008-05-18 15:32 | si

    # re: jsp URL重寫  回復  更多評論   

    搞的這么麻煩..還不如直接在服務器上設置html文件的解析方式為jsp,然后把所有jsp文件擴展名替換成html不就行了..
    2008-05-21 13:38 | aisdf

    # re: jsp URL重寫[未登錄]  回復  更多評論   

    @aisdf

    如果出現了參數怎么辦呢
    如:news.html?id=1
    2008-05-21 14:33 | zs7456

    # re: jsp URL重寫  回復  更多評論   

    @aisdf
    你知道什么是Url 重寫不??

    都像你說的
    還有那重寫做什么?
    2008-06-13 07:09 | 牛X

    # re: jsp URL重寫[未登錄]  回復  更多評論   

    @牛X

    出現了參數也很簡單啊

    配置一下就可以了

    如:
    <rule>
    <from>/test/([0-9]+)</from>
    <to>/news.jsp?id=$1</to>
    </rule>

    news.jsp?id=123,那么地址就會變成/test/123
    2008-06-13 08:03 | zs7456

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲午夜精品一区二区公牛电影院 | 亚洲色成人四虎在线观看| 67pao强力打造国产免费| 亚洲阿v天堂在线| 国产午夜精品理论片免费观看| 亚洲v国产v天堂a无码久久| 国产精品亚洲lv粉色| 国产zzjjzzjj视频全免费| 欧洲乱码伦视频免费国产| 免费人妻无码不卡中文字幕18禁| 黄页网站在线免费观看| 精品国产日韩亚洲一区| 永久在线观看免费视频| 久久亚洲熟女cc98cm| 一色屋成人免费精品网站| 亚洲精品伦理熟女国产一区二区 | 亚洲&#228;v永久无码精品天堂久久| 亚洲精品乱码久久久久久V | 亚洲乱码精品久久久久..| 青青操在线免费观看| 亚洲人成网址在线观看| 无码国产精品一区二区免费| 亚洲欧美日韩综合俺去了| 亚洲成A人片77777国产| 你是我的城池营垒免费观看完整版| 亚洲AV无码精品色午夜在线观看| 亚洲一级毛片免费看| 精品无码专区亚洲| 亚洲熟女少妇一区二区| 国产91色综合久久免费| 毛片亚洲AV无码精品国产午夜| 亚洲中文字幕无码不卡电影 | 3d动漫精品啪啪一区二区免费| 亚洲精品无码永久在线观看男男| 久久久久亚洲av成人无码电影| 97视频免费观看2区| 亚洲精品9999久久久久无码| 亚洲情XO亚洲色XO无码| 成人黄页网站免费观看大全| 精品免费久久久久国产一区| 亚洲娇小性xxxx色|