У меня есть веб-проект maven с именем
gitlab.configuration
, поэтому путь к проекту должен быть
<a href="http://localhost:8080/gitlab.configuration/" rel="nofollow noreferrer">http://localhost:8080/gitlab.configuration/</a>
. Имеется файл jsp, содержащий html-тег "a".когда она нажата, я буду перенаправлен на предварительно определенный URL обратного вызова.
<a href="http://localhost:8080/gitlaboslcadaptor/oauth/callback" rel="nofollow noreferrer">http://localhost:8080/gitlaboslcadaptor/oauth/callback</a>
, но вместо вышеуказанного URL правильный URL должен быть
<a href="http://localhost:8080/gitlab.configuration/gitlaboslcadaptor/oauth/callback" rel="nofollow noreferrer">http://localhost:8080/gitlab.configuration/gitlaboslcadaptor/oauth/callback</a>
.
. Мой вопрос: почему он не устанавливает этот contextpath?
здесь ятакже приложил некоторые изображения.
, пожалуйста, посмотрите на изображения, что я говорю, если вы не очистите.
entryPointForOauth2caller.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Oauth2caller</title>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<div class="container d-flex h-100">
<div class="row align-self-center w-100">
<div class="col-6 mx-auto">
<div class="jumbotron text-center">
<!-- <form action="https://gitlab.com/oauth/authorize?client_id=153c017c0f33d32abfb8b950983dcfce0cbe7ba49751033c0626c4f00f51ac72&redirect_uri=http://localhost:8080/gitlaboslcadaptor/oauth2/callback&response_type=code&state=941891abc&scope=api+read_user+read_registry+sudo+openid+profile+email" method="get">
<button class="btn btn-primary" type="submit">MakeAuthorize</button>
</form> -->
<a href="https://gitlab.com/oauth/authorize?client_id=153c017c0f33d32abfb8b950983dcfce0cbe7ba49751033c0626c4f00f51ac72&response_type=code&redirect_uri=http://localhost:8080/gitlaboslcadaptor/oauth2/callback&state=941891abc&scope=api+read_user+read_registry+sudo+openid+profile+email">Authorize</a>
</div>
</div>
</div>
</div>
</body>
</html>
Oauth2ProviderServlet.java (класс сервлета)
package com.persistent.unite.oslc4j.gitlab.security.oauth2;
import java.io.IOException;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Oauth2ProviderServlet
*/
@WebServlet("/gitlaboslcadaptor/oauth2/callback/*")
public class Oauth2ProviderServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Oauth2ProviderServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
// TODO Auto-generated method stub
System.out.println("init mehtod in provider");
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String code = request.getParameter("code");
String state = request.getParameter("state");
System.out.println("call back url's code for access token: " + code);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("dopost mehtod called.");
doGet(request, response);
}
}
если вызывается URL обратного вызова, то мой метод doget сервлета по крайней мере должен что-то напечатать.но, кажется, мой serlvet не будет звонить вообще.
здесь я приложил изображения, которые я получаю.
после нажатияСсылка "авторизовать" после вывода я получаю.