2011-07-03 34 views
0

我是OpenID開發新手。我從互聯網上下載了openid4java示例應用程序,並試圖在mine中實現相同的功能。現在我已經編寫了代碼以打開id結束在discover.its之後直到發現。但是在嘗試點擊終點URI後,我得到了404錯誤,因爲它附加了我的項目URL路徑。 例如:開放式ID端點轉發不起作用

/Openid/http:/www.myopenid.com/server.(其中Openid是我的項目名稱)。

這是我的servlet:

package com.openid.registration; 

import java.io.IOException; 

import javax.servlet.RequestDispatcher; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 

import org.openid4java.discovery.DiscoveryInformation; 
import org.openid4java.message.AuthRequest; 

public class OpenIdRegistrationServlet extends HttpServlet 
{ 
private static final long serialVersionUID = 1L; 
private String returnToUrl; 
RequestDispatcher rd = null; 

protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
throws ServletException, IOException 
{ 
    HttpSession session=request.getSession(false); 
    String OpenID=request.getParameter("openid"); 
    System.out.println("Open ID entered by the user"+OpenID); 
    // Delegate to Open ID code 
    DiscoveryInformation discoveryInformation = RegistrationService.performDiscoveryOnUserSuppliedIdentifier(OpenID); 
    // Store the disovery results in session. 
    System.out.println("OPEnd Point"+discoveryInformation.getOPEndpoint()); 
    session.setAttribute("discoveryInformation", discoveryInformation); 
    // Create the AuthRequest 
    returnToUrl=RegistrationService.getReturnToUrl(); 
    AuthRequest authRequest = RegistrationService.createOpenIdAuthRequest(discoveryInformation, returnToUrl); 
    rd = request.getRequestDispatcher(authRequest.getDestinationUrl(true)); 
    System.out.println("Destination URL:"+authRequest.getDestinationUrl(true)); 
    rd.forward(request, response); 

} 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    processRequest(request,response); 
    // TODO Auto-generated method stub 
} 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    processRequest(request,response); 
    // TODO Auto-generated method stub 
} 

}

我已經部署了我的Tomcat應用程序5.Is有什麼辦法來從URL中刪除我的項目名稱或做我需要從Apache的重定向網絡服務器 ?任何幫助表示讚賞

回答

0

它的我的錯誤。我已經向sendRedirect(authRequest.getDestinationUrl(true))轉發(請求,響應)。它開始工作正常。