Hi,
I am working on servlet filter example. My filter CountryStopper.java servlet code looks like
import java.io.IOException;
import javax.servlet.ServletExcep
tion;
import javax.servlet.http.HttpSer
vletReques
t;
import javax.servlet.http.HttpSer
vletRespon
se;
/**
* Servlet implementation class for Servlet: CountryStopper
*
*/
public class CountryStopper extends javax.servlet.http.HttpSer
vlet implements javax.servlet.Servlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String country= request.getLocale().getCou
ntry();
if(country.equals("ca")){
response.getWriter().print
ln("hey let us go to tim horton coffee");
}
else
{
response.getWriter().print
ln("we love people who speak :"+ request.getLocale().getCou
ntry());
}
}
}
which supposed to say
'only american spanish people can view this filetert '
otherwise if locale language is something else like chinese etc it should say
'we love people who speak : chinese '
etc
The AmericaFilter.java filter looks like
package com.american.web.filter;
import javax.servlet.Filter;
import javax.servlet.FilterConfig
;
import javax.servlet.ServletExcep
tion;
import javax.servlet.ServletReque
st;
import javax.servlet.ServletRespo
nse;
import javax.servlet.FilterChain;
import java.io.IOException;
public class AmericanFilter implements Filter {
/* (non-Java-doc)
* @see javax.servlet.Filter#init(
FilterConf
ig arg0)
*/
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
/* (non-Java-doc)
* @see javax.servlet.Filter#doFil
ter(Servle
tRequest arg0, ServletResponse arg1, FilterChain arg2)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String language=request.getLocale
().getDisp
layLanguag
e();
if (language!= "spansih"){
response.getWriter().print
ln("only american spanish people can view this filetert");
}
else{
response.getWriter().print
ln("we love people who speak :"+ request.getLocale().getCou
ntry());
}
System.out.println("time ater serveltt is full"+System.currentTimeMi
llis());
}
/* (non-Java-doc)
* @see javax.servlet.Filter#destr
oy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
}
I am changing within the IE, google chrome etc browser tools options to chinese etc language
Even after refreshing or rerunning servlet
but it always displays like
'only american spanish people can view this filetert '
never i could see output like
we love people who speak : chinese etc
irrespective of change in browser locale setting in IE as well as google chrome
my web.xml looks like
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="
http://java.sun.com/xml/ns/j2ee" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>
FilterProject</display-nam
e>
<filter>
<description>
</description>
<display-name>
AmericanFilter</display-na
me>
<filter-name>AmericanFilte
r</filter-
name>
<filter-class>com.american
.web.filte
r.American
Filter</fi
lter-class
>
</filter>
<filter-mapping>
<filter-name>AmericanFilte
r</filter-
name>
<url-pattern>/AmericanFilt
er</url-pa
ttern>
</filter-mapping>
<filter-mapping>
<filter-name>AmericanFilte
r</filter-
name>
<servlet-name>CountryStopp
er</servle
t-name>
<dispatcher>REQUEST</dispa
tcher>
</filter-mapping>
<servlet>
<servlet-name>action</serv
let-name>
<servlet-class>
org.apache.struts.action.A
ctionServl
et</servle
t-class>
<init-param>
<param-name>config</param-
name>
<param-value>/WEB-INF/stru
ts-config.
xml</param
-value>
</init-param>
<init-param>
<param-name>debug</param-n
ame>
<param-value>2</param-valu
e>
</init-param>
<init-param>
<param-name>detail</param-
name>
<param-value>2</param-valu
e>
</init-param>
<init-param>
<param-name>validate</para
m-name>
<param-value>true</param-v
alue>
</init-param>
<load-on-startup>2</load-o
n-startup>
</servlet>
<servlet>
<description>
blah blah</description>
<display-name>
CountryStopper</display-na
me>
<servlet-name>CountryStopp
er</servle
t-name>
<servlet-class>
CountryStopper</servlet-cl
ass>
</servlet>
<servlet-mapping>
<servlet-name>action</serv
let-name>
<url-pattern>*.do</url-pat
tern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CountryStopp
er</servle
t-name>
<url-pattern>/CountryStopp
er</url-pa
ttern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</
welcome-fi
le>
<welcome-file>index.htm</w
elcome-fil
e>
<welcome-file>index.jsp</w
elcome-fil
e>
<welcome-file>default.html
</welcome-
file>
<welcome-file>default.htm<
/welcome-f
ile>
<welcome-file>default.jsp<
/welcome-f
ile>
</welcome-file-list>
</web-app>
Any ideas, suggestions, sample code, links highly appreciated.Thanks in advance