Step
1 :Create a filter MyServletFilter.java
public class MyServletFilter implements Filter{
public MyServletFilter() {
super();
}
public void init(FilterConfig filterConfig) {
}
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse,
FilterChain filterChain) throws IOException,
ServletException {
if (servletRequest instanceof HttpServletRequest){
HttpServletRequest req =
(HttpServletRequest)servletRequest;
MyServletRequestWrapper wrapper = new
MyServletRequestWrapper(req);
filterChain.doFilter(wrapper, servletResponse);
} else {
filterChain.doFilter(servletRequest, servletResponse);
}
return;
}
public void destroy() {
}
}
Step 2 :
Create MyServletRequestWrapper.java class
public class MyServletRequestWrapper extends
HttpServletRequestWrapper {
public MyServletRequestWrapper(HttpServletRequest
httpServletRequest) {
super(httpServletRequest);
}
@Override
public String getHeader(String header_key) {
String header_val = super.getHeader(header_key);
if (header_key.equalsIgnoreCase("user-agent"))
{
int index = header_val.indexOf("IE 7.0");
if (index != -1) {
StringBuffer temp_val = new StringBuffer(header_val);
temp_val = temp_val.replace(index, index + 6, "IE
8.0");
header_val = temp_val.toString();
}
}
return header_val;
}
@Override
public Enumeration getHeaders(String header_key) {
if (!header_key.equalsIgnoreCase("user-agent"))
{
return super.getHeaders(header_key);
}
Vector<String> list = new Vector<String>(1);
String temp = this.getHeader(header_key);
list.add(temp);
return list.elements();
}
}
Step 3
:Register MyServletFilter in web.xml
<filter>
<filter-name>myServletFilter</filter-name>
<filter-class>com.servlet.filter.MyServletFilter</filter-class>
</filter>
Step 4: Add
filter mapping in web.xml
<filter-mapping>
<filter-name>myServletFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
You are done J