我在 localhost:8080 上运行了一个应用程序,它创建了一个名为 jsessionid 的cookie。现在,我需要为 localhost:8090 上运行的不同应用程序打开另一个选项卡,这些选项卡还会创建一个名为 jsessionid 的cookie。
我需要在第二个应用程序选项卡中访问第一个应用程序选项卡的cookie ..
我怎样才能访问这两个cookie ...许多尝试但没有运气......
答案 0 :(得分:0)
您可以编写一个在呈现页面之前运行的servlet过滤器(在atlassian-plugin.xml中)
<servlet-filter name="My Filter" i18n-name-key="home-page-redirect-filter.name"
key="home-page-redirect-filter" class="mypackage.CookieFilter"
location="before-dispatch" weight="100">
<description key="home-page-redirect-filter.description">Some description</description>
<url-pattern>WHEN_TO_RUN</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</servlet-filter>
然后你可以拦截cookie
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
Cookie[] myCookies=request.getCookies();
//do something with cookies
}
答案 1 :(得分:0)
看起来我误解了你的问题。 JSESSIONID是一个httponly cookie,你不能在javascript中使用document.cookie来获取它。 也许请查看Jsoup Cookies for HTTPS scraping和Sending POST request with username and password and save session cookie了解一些想法。