Here through filter, we wnat to change the company name from ABC to XYZ.
StringReplacement.jsp
String Replacement filter example
</br>
ABC comapany.
web.xml
<filter>
<filter-name>test1</filter-name>
<filter-class>ModificationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>test1</filter-name>
<url-pattern>/StringReplacement.jsp</url-pattern>
</filter-mapping>
ModificationFilter.java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class ModificationFilter implements Filter
{
public void init(FilterConfig fc) throws ServletException
{
}
public void doFilter(ServletRequest req,ServletResponse res,FilterChain fc) throws ServletException,IOException
{
HttpServletRequest request=(HttpServletRequest) req;
HttpServletResponse response=(HttpServletResponse) res;
ReplacementFilter rf=new ReplacementFilter(response);
fc.doFilter(request,rf);
String ns=rf.toString();
PrintWriter out=response.getWriter();
out.write(ns);
}
public void destroy()
{
}
}
ReplacementFilter.java
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class ReplacementFilter extends HttpServletResponseWrapper
{
StringWriter sw;
ReplacementFilter(HttpServletResponse res)
{
super(res);
sw=new StringWriter();
}
public PrintWriter getWriter()
{
return (new PrintWriter(sw));
}
public ServletOutputStream getOutputStream()
{
return (new ServletOutputStream()
{
public void write(int c)
{
sw.write(c);
}
});
}
public String toString()
{
StringBuffer sb = sw .getBuffer();
String finalstring = sb.toString();
int index= finalstring.indexOf("ABC");
String t=finalstring.substring(0,index -1);
String l=finalstring.substring(index+3);
StringBuilder value=new StringBuilder(t);
value.append("XYZ");
value.append(l);
value.toString();
return (value.toString());
}
}