আমি কীভাবে কোনও আগত 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
?
আপডেট : নীচে বালাসকের পদক্ষেপ অনুসারে, আমি নিম্নলিখিত কোডটি নিয়ে এসেছি:
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() {
//
}
}
এর web.xml
মতো দেখতে প্রাসঙ্গিক এন্ট্রি :
<filter>
<filter-name>urlRewriteFilter</filter-name>
<filter-class>com.example.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>urlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
আমি সার্ভার-সাইড এবং ক্লায়েন্ট-সাইড উভয়ই প্রত্যাশিত ফলাফলের সাথে পুনর্নির্দেশের চেষ্টা করেছি। এটি কাজ করেছে, ধন্যবাদ বালুসকে!