經過HTML SCRIPT標籤跨域寫cookie:javascript
因爲html的script標籤的src屬性,能夠支持訪問任何域的資源,經過script發起一個get類型的網絡請求,獲取資源。html
A系統里加入:java
<script type="text/javascript" src="http://www.b.com/set_cookie?cname=token&cval=test123"></script>
經過src在www.a.com域中訪問b域的set_cookie方法,調用b的controller方法將cookie寫入到b域中。跨域
@Controller @RequestMapping("/set_cookie") public class SetCookieController { private final static int cookieMaxAge = 60 * 60 * 24 * 7 * 2; /** * 其它域經過頁面script標籤引用此controller,script標籤發起的請求是get類型 */ @RequestMapping protected void index(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 將要寫入的cookie項,調用者經過參數傳遞 String cookieName = request.getParameter("cname"); String cookieVal = request.getParameter("cval"); // 生成cookie Cookie cookie = new Cookie(cookieName, cookieVal); //存兩週(秒爲單位) cookie.setMaxAge(cookieMaxAge); //cookie有效路徑是網站根目錄 cookie.setPath("/"); //向客戶端寫入 response.addCookie(cookie); } }
這樣在b中就能訪問到a設置的cookie。瀏覽器