В процессе разработки приложений, если есть несколько приложений, они обычно будут интегрированы через портал портала. Этот портал является входом ко всем приложениям. После того, как пользователь въезжает на портал и входит в другую систему, ему или ей нужен аналогичный отдельный вход (SSO). При входе в каждую подсистему ему или ей не нужно снова войти в систему. Конечно, вы можете реализовать аналогичные функции с помощью профессионального программного обеспечения для отдельного входа в систему, или вы можете писать токены базы данных самостоятельно и т. Д. Фактически, есть еще один относительно простой метод, который заключается в том, чтобы инкапсулировать сообщения пользователя, зарегистрированные в портале, записать его в заголовок HTTP, а затем перенаправить запрос на каждую подсисистему, и каждый подсистема получает http hader stogrization, но в соответствии с Verigerifict orshiping of a.
Суммируют несколько методов работы с заголовком HTTP:
Используйте httpservletrequest
Импорт javax.servlet.http.httpservletrequest; // ... частный запрос httpservletrequest; // Получить заголовки запросов частная карта <string, string> getheadersinfo () {map <string, string> map = new hashmap <string, string> (); Enumeration headernames = request.getheadernames (); while (gheverernames.hasmoreElements ()) {string key = (string) headernames.nextelement (); String value = request.getheader (key); map.put (ключ, значение); } return Map; }Типичный пример заключается в следующем:
«Заголовки»: {«Хост»: «yihaomen.com», «Принятие»: «Gzip, Deflate», «X-Forwarded-For»: «66.249.xx», «X-Forwarded-Proto»: «http», «пользователь-агент»: «Mozilla/5.0 (Compatative»; +http: //www.google.com/bot.html) "," x-request-start ":" 1389158003923 "," Принять ":"*/*"," соединение ":" Close "," x-Forwarded-Port ":" 80 "," From)Получите пользовательский агент
Импорт javax.servlet.http.httpservletrequest; // ... частный запрос httpservletrequest; private String getUseragent () {return request.getheader ("пользователь-агент"); }Типичный пример заключается в следующем:
Mozilla/5.0 (совместимый; Googlebot/2.1; +http: //www.google.com/bot.html)
Пример использования Spring MVC для получения заголовка httprequest
Import java.util.enumeration; import java.util.hashmap; import java.util.map; import javax.servlet.http.httpservletrequest; import org.springframework.beans.factory.annotation.autowired; org.springframework.web.bind.annotation.pathvariable; импорт org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.requestmethod; import org.springframework.web.servlet.modelandView;@Controller@requestMapping ("/site") public class sitecontroller {@autowired private httpservlectrequest; @Requestmapping (value = "/; input: modelview.addobject ("пользовательский агент", getUseragent ()); modelview.addobject («заголовки», getheadersinfo ()); return ModelView; } // Получить пользовательский агент Private String getUseragent () {return request.getheader ("user-agent"); } // Получить заголовки запросов частная карта <string, string> getheadersinfo () {map <string, string> map = new hashmap <string, string> (); Enumeration headernames = request.getheadernames (); while (gheverernames.hasmoreElements ()) {string key = (string) headernames.nextelement (); String value = request.getheader (key); map.put (ключ, значение); } return Map; }}Некоторые люди могут сказать, что заголовок HTTP можно моделировать, поэтому вы можете построить систему, чтобы обмануть их. Да, это правда. Таким образом, при использовании HTTP -заголовка, чтобы пройти его, стоит того, вы должны помнить, что все запросы должны обрабатываться через портал и перенаправить в каждую подсистему, и эта проблема не возникнет. Потому что портал сначала перехватывает все запросы, инициированные пользователем. Если это построенный пользователь, в сеансе портала нет записи, и он все равно будет прыгать на страницу входа в систему. Если он записан в протальной сессии, и в заголовке HTTP также есть записи, то он является законным пользователем в подсистеме, а затем вы можете обрабатывать бизнес -логику в соответствии с некоторыми требованиями.
JSP/Java получает пример HTTP Header Information (запрос) пример
<%// header.jspout.println ("Protocol:" + request.getProtocol () + "<br>"); out.println ("схема:" + request.getscheme () + "<br>"); out.println ("name:" + request.getservername () + "<br>"); request.getServerport () + "<br>"); out.println ("Протокол:" + request.getProtocol () + "<br>"); out.println ("Информация о сервере:" + getservletConfig (). geterVletContext (). getServerinfo () + "<br>"); request.getRemoteAddr () + "<br>"); out.println ("удаленный хост:" + request.getRemotehost () + "<br>"); out.println ("Кодирование символов:" + request.getcharacterencoding () + "<br>"); "<br>"); out.println ("Тип контента:" + request.getContentType () + "<br>"); out.println ("auth type:" + request.getauthtype () + "<br>"); out.println ("http method:" + request.getmethod () + "<br>"); request.getPathinfo () + "<br>"); out.println ("path Trans:" + request.getPathTransLated () + "<br>"); out.println ("Query String:" + request.getQuerystring () + "<br>"); "<br>"); out.println ("идентификатор сеанса:" + request.getRequestSessionId () + "<br>"); out.println ("url url:" + request.getRequesturl () + "<br>"); out.println ("запрос uri:" + request.getRequesturi () + "<brlem. request.getServletPath () + "<br>"); out.println ("Создан:" + session.getCreationTime () + "<br>"); out.println ("LastAcced:" + session.getLastAccedtime () + "<br>"); "<br>"); out.println ("Accept:" + request.getheader ("Accept") + "<br>"); out.println ("host:" + request.getheader ("host") + "<br>"); out.println ("Реферат:" + request.getheader ("Реферал") + "<br>"); request.getheader ("accept-language") + "<br>"); out.println ("accept-encoding:" + request.getheader ("accept-encoding") + "<br>"); out.println ("user-agent:" + request.getheader ("user-agent") + "<br>"); request.getheader ("connection") + "<br>"); out.println ("cookie:" + request.getheader ("cookie") + "<br>");%>Примечания о request.getheader («Реферат»)
request.getheader («Реферат») получает адрес посетителя. Только при доступе к текущей странице по ссылке вы можете получить адрес предыдущей страницы; В противном случае значение request.getheader («Реферат») является нулевым, а текущая страница открывается через Window.Open или непосредственно введите адрес также является нулевым.
Выше приведено полное содержание нескольких методов (обязательно прочитать) для получения заголовка Httprequest от Java, принесенного вам редактором. Я надеюсь, что это будет полезно для вас и поддержать wulin.com больше ~