gpt4 book ai didi

JSP 中类似 Wordpress 的 Urlrewriting,带有 Urlrewritefilter 的 Tomcat

转载 作者:行者123 更新时间:2023-11-28 21:50:13 26 4
gpt4 key购买 nike

我正在为在线健康杂志开发一个简单的 cms,使用 JSP、Tomcat 和 urlrewritefilter 进行 url 重写。我正在从 wordpress 迁移内容,应该保留站点上的永久链接。永久链接如下所示,只有字母和数字。

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

我想在我的 jsp 应用程序中重写我的 url,这样我就可以拥有像上面那样的 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 获得类似 wordpress 的永久链接结构?我是否需要编写一个 Servlet 来从数据库中获取 name 或 slug 的 id?

有人知道如何做或以前做过吗?

最佳答案

我已经完成了一个 JavaServer Faces CMS,其中包含用于帖子和类别的自定义 URL。我基本上使用了 javax.servlet.Filterjavax.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()
{

}
}

关于JSP 中类似 Wordpress 的 Urlrewriting,带有 Urlrewritefilter 的 Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13702269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com