相关疑难解决方法(0)

如何在Java中使用servlet过滤器来更改传入的servlet请求URL?

如何使用servlet过滤器来更改传入的servlet请求URL

http://nm-java.appspot.com/Check_License/Dir_My_App/Dir_ABC/My_Obj_123

http://nm-java.appspot.com/Check_License?Contact_Id=My_Obj_123


更新:根据BalusC的以下步骤,我想出了以下代码:

public class UrlRewriteFilter implements Filter {

    @Override
    public void init(FilterConfig config) throws ServletException {
        //
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws ServletException, IOException {
        HttpServletRequest request = (HttpServletRequest) req;
        String requestURI = request.getRequestURI();

        if (requestURI.startsWith("/Check_License/Dir_My_App/")) {
            String toReplace = requestURI.substring(requestURI.indexOf("/Dir_My_App"), requestURI.lastIndexOf("/") + 1);
            String newURI = requestURI.replace(toReplace, "?Contact_Id=");
            req.getRequestDispatcher(newURI).forward(req, res);
        } else {
            chain.doFilter(req, res);
        }
    }

    @Override
    public void destroy() {
        //
    }
}
Run Code Online (Sandbox Code Playgroud)

相关条目web.xml如下所示: …

java url servlets request servlet-filters

179
推荐指数
3
解决办法
21万
查看次数

为什么Spring MVC用404响应并报告"在DispatcherServlet中找不到带有URI [...]的HTTP请求的映射"?

我正在编写一个部署在Tomcat上的Spring MVC应用程序.请参阅以下最小,完整且可验证的示例

public class Application extends AbstractAnnotationConfigDispatcherServletInitializer {
    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] { };
    }
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] { SpringServletConfig.class };
    }
    protected String[] getServletMappings() {
        return new String[] { "/*" };
    }
}
Run Code Online (Sandbox Code Playgroud)

哪里SpringServletConfig

@Configuration
@ComponentScan("com.example.controllers")
@EnableWebMvc
public class SpringServletConfig {
    @Bean
    public InternalResourceViewResolver resolver() {
        InternalResourceViewResolver vr = new InternalResourceViewResolver();
        vr.setPrefix("/WEB-INF/jsps/");
        vr.setSuffix(".jsp");
        return vr;
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,我有一个@Controllercom.example.controllers

@Controller
public class ExampleController {
    @RequestMapping(path = "/home", …
Run Code Online (Sandbox Code Playgroud)

java spring servlets spring-mvc

82
推荐指数
2
解决办法
5万
查看次数

Spring MVC请求和响应流程说明

我在下面的语法中找不到正确的客户端请求流.有人可以澄清这里发生了什么吗?

Client(1) --> Dispatcher Servlet(2) --> Handler Mapping(3) --> Controller(4) -->
ModelAndView(5) --> viewResolver(6) --> View(7) --> Client(1) 
Run Code Online (Sandbox Code Playgroud)

如果可能,请指定spring MVC过程中使用的相应弹簧类/接口.

java spring annotations hibernate spring-mvc

9
推荐指数
1
解决办法
2万
查看次数