Witam wszystkich,
bez obwijania w bawełnę... mam taki servlet:
ChangeLanguage:
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//response.setContentType("text/html;charset=UTF-8");
String newLang = request.getParameter("newLanguage");
String pageRedir = Base64.decode(request.getParameter("pageRedirect"));
String[] pq = pageRedir.split("%%");
Lang language = new Lang(newLang);
if(language.isValid() && pq.length == 2)
{
CookieParameters cook = new CookieParameters(request, response);
cook.setCookie("CLIENT_LANG", newLang);
Query q = em.createNamedQuery("AppPage.findById");
q.setParameter("id", new Long(pq[1]));
AppPage item = (AppPage) q.getSingleResult();
UrlParameters url = new UrlParameters(request, response);
url.setLanguage(language);
//response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
//String newLocn = new DirLocation().WWW_HOST + new DirLocation().WWW_DIR;
String newLocn = new ParseFromString().multiReplace(pq[0], newLang, url.setTitle(url.getLanguage().getTranslate(item.getTitle())));
//System.out.println(newLocn);
//response.setHeader("Location", newLocn);
response.sendRedirect(newLocn);
//RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/index.jsp");
//dispatcher.forward(request, response);
}
}
efektem tego jest illegal:
java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:126)
javax.servlet.http.HttpServletResponseWrapper.sendRedirect(HttpServletResponseWrapper.java:126)
eu.farmreturn.page.servlet.ChangeLanguage.processRequest(ChangeLanguage.java:66)
eu.farmreturn.page.servlet.ChangeLanguage.doGet(ChangeLanguage.java:87)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
jak tego się pozbyć? próbowałem różnych metod przekierowania (zakomentowana część w kodzie), ale zawsze jest coś nie tak... ehhh już nie wiem czego mam próbować...
pomocy....