4

私は、URL書き換えにJSP、Tomcat、およびurlrewritefilterを使用して、オンラインヘルスマガジン用の単純なcmsを開発しています。私はワードプレスからコンテンツを移行しているので、サイトにパーマリンクを保持する必要があります。パーマリンクは以下のようになり、文字と数字のみが表示されます。

http://www.example.com/post-or-category-name-with-letters-or-1234/

上記のようなURLを使用できるように、jspアプリケーションでURLを書き直したいと思います。書き換えルールは次のように機能します。

http://www.example.com/post/?pid=1234&name=post-name
http://www.example.com/category/?cid=1234&slug=category-slug

の中へ

http://www.example.com/post-name/
http://www.example.com/category-slug/

そしてもちろんその逆も同様です。

urlrewritefilterを使用してワードプレスのようなパーマリンク構造を作成するにはどうすればよいですか?DBから名前またはスラッグのIDを取得するためのサーブレットを作成する必要がありますか?

誰かがそれを行う方法や以前にそれを行った方法を知っていますか?

4

2 に答える 2

1

投稿とカテゴリのカスタムURLを使用してJavaServerFacesCMSをすでに実行しました。私は基本的にjavax.servlet.Filterとを使用しましjavax.faces.application.ViewHandlerた。ストレートJSPを使用しているため、必要はありませんjavax.faces.application.ViewHandler

フィルタをどのように宣言したか:

<filter>
    <filter-name>URLFilter</filter-name>
    <filter-class>com.spectotechnologies.jsf.filters.URLFilter</filter-class>
    <async-supported>true</async-supported>
</filter>

<filter-mapping>
    <filter-name>URLFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
</filter-mapping>

基本的なフィルターの実装:

/**
 *
 * @author Alexandre Lavoie
 */
public class URLFilter implements Filter
{
    @Override
    public void doFilter(ServletRequest p_oRequest, ServletResponse p_oResponse, FilterChain p_oChain) throws IOException, ServletException
    {
        // Determining new url, get parameters, etc
        p_oRequest.getRequestDispatcher("newurl").forward(p_oRequest,p_oResponse);
    }

    @Override
    public void init(FilterConfig p_oConfiguration) throws ServletException
    {

    }

    @Override
    public void destroy()
    {

    }
}
于 2012-12-04T14:05:13.363 に答える
0

あなたの答えは次のようになっていると思います: Tomcat6でURLを書き換える方法

Tomcat / Java用のURL書き換えエンジンはありますか?

于 2012-12-04T11:56:47.463 に答える