String path = "/blogAction!load.action?userId=" + userName;request.getRequestDispatcher(path).forward(request, response);我在filter的doFilter 中写了这个..结果一直报404...用/index.jsp就正常然后我在地址栏直接输入http://localhost:8080/blogAction!load.action 正常跳进load方法中了请问下filter中要怎么做才行呢??我想保持地址栏的URL不变..比如新浪博客那样比如http://blog.sina.com.cn/kyan54就能跑到kyan54的主页去...请问大侠们有啥好的方法来实现这一功能呢??小弟先感谢了~~

解决方案 »

  1.   

    404错误表示的是你的路径不对的你仔细检查一下你的路径问题。
    而且String path = "/blogAction!load.action?userId=" + userName你这样做是不对的哈。怎么userid=username?这 是什么意思啊?你是不是应该换成userid呢?
    最根本原因是路径问题、上面只是建议哈。你自己在好好检查一下
      

  2.   

    请查阅相关绝对路径和相对路径的信息
    PS:你的filter也算是一个servlet吧
      

  3.   

    我对比了下url..没问题的..也不会错...
      

  4.   

    <filter>
         <filter-name>struts2</filter-name>
         <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
    <dispatcher>ERROR</dispatcher>
        </filter-mapping>