JAVA中使用UrlRewrite时遇到404怎么办

 我来答
就烦条0o
2016-08-04 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
动态页面:动态页面是以ASP、PHP、JSP、Perl、CGI等编程语言制作的,并不独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;

静态页面:是实际存在的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。需要占一定的服务器空间。

伪静态页面:(这个度娘里面居然没有词条)伪静态页面,不是真正的静态页面,它本身其实是动态页面,但表现出来却是静态页面的访问地址

这里使用了UrlRewrite,点 下载jar包 , 点下载配置文件 ,用之前需要简单配置一下。

首先,在web.xml里需要加上其过滤器。

<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
然后在WEB-INF下的urlRewrite配置文件里,加上自己的规则。
<rule>
<from>/content/([0-9]+)_([0-9]+).html</from>
<to>/content_index.action?channelId=$1&contentId=$2</to>
</rule>

意思 是访问test.jacky.com/content/2_3.html 被跳转到 http://test.jacky.com/content_index.action?channelId=2&contentId=3

在你的Action中正常处理这两个参数就可以了

启动后,访问test.jacky.com/content/2_3.html tomcat总是出现404错误。

然后,找一些资料,原来需要在org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter过滤器中需要加点东西:

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/struts/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式