2012-05-04 1 views
0

로그인 페이지에서 양식 (사용자 이름, 암호)을 사용자 이름, 암호로 사용하는 로그인 서블릿이 있습니다. 일단 인증되면 환영 페이지로 이동하려고합니다. 하지만 문제는 내 코드가 IE8에서는 잘 작동하지만 Firefox와 Chrome에서는 빈 페이지 만 표시된다는 것입니다. 보기 소스를 클릭하면 올바른 HTML이 모두 표시되지만 실제로 표시되는 것은 없습니다. 주소창에서 환영 페이지를 직접 요청하면 FF와 크롬 모두에서 올바르게 표시됩니다.서블릿에서 jsp로 요청을 포워딩하여 파이어 폭스에서 빈 페이지를 제공합니다.

아래 코드를 게시하면 필요에 따라 변경/모범 사례를 알려주십시오 ... 이것은 나에게 모두 새로운 것입니다.

로그인 서블릿

public class Login extends HttpServlet { 
     public static String jsessionid = null; 

     public void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws ServletException, IOException { 
     System.out.println("GET CALLED"); 
     doPost(req, resp); 
    } 

    public void doPost(HttpServletRequest req, HttpServletResponse resp) 
      throws IOException, ServletException { 
     System.out.println("POST CALLED"); 
     String username = req.getParameter("username"); 
     String password = req.getParameter("password"); 

     String jsessionid_full; 
     String endpoint = "https://sample-url"; 
     try { 
      // Authentication Code... 
        // Authentication Code... 

      // resp.sendRedirect(resp.encodeRedirectURL("welcome.jsp")); 

      String nextJSP = "welcome.jsp"; 
      RequestDispatcher dispatcher = getServletContext() 
        .getRequestDispatcher(nextJSP); 
      dispatcher.forward(req, resp); 

     } catch (Exception e) { 
      System.out.println(e); 
     } 

    } 
} 

위해 welcome.jsp 페이지는 ... 현재

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 
    <display-name>mobile CRM</display-name> 
    <servlet> 
    <servlet-name>Login</servlet-name> 
    <servlet-class>crmApp.Login</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>Login</servlet-name> 
    <url-pattern>/Login</url-pattern> 
    </servlet-mapping> 
    <servlet> 
    <servlet-name>AccountQuery</servlet-name> 
    <servlet-class>crmApp.AccountQuery</servlet-class> 
    </servlet> 
    <servlet-mapping> 
    <servlet-name>AccountQuery</servlet-name> 
    <url-pattern>/AccountQuery</url-pattern> 
    </servlet-mapping> 
    <welcome-file-list> 
    <welcome-file>login.jsp</welcome-file> 
    </welcome-file-list> 
</web-app> 

web.xml을은 그냥 정적 텍스트 내 인증 절차가 정상적으로 작동합니다. FF 및 크롬에 문제가있는 환영 페이지 표시.

는 또한 실행 후 주소 표시 줄에 URL을 /로그인

모든 응답 주시면 감사하겠습니다 즉 로그인 서블릿이다. 감사합니다.

+0

사용중인 브라우저에 대해 걱정할 필요가 없습니다. – Swapnil

답변

0

포워드가있는 다른 브라우저에서 webapp 내부에 있기 때문에 다른 동작이 나타나는 이유를 모르겠지만 포워딩 대신 사용자를 리디렉션하려고합니다. 그러면 검색 주소창의 URL도 변경됩니다.

여기에 일부 good info이 있습니다.

0

돌아 오는 http 헤더를 살펴보십시오. 예를 들어 Live http 헤더를 보여주는 좋은 ff 플러그인이 있습니다.

로그인 전달 요청에서 다시 얻은 헤더를 직접 시작 페이지 요청의 헤더와 비교해보십시오.

0

죄송합니다 ... 문제가 분명히 내 스타일 시트 중 하나에 있습니다. 여기에서 jQuery와 jQuerymobile을 사용합니다 ... 브라우저 문제!

관련 문제