2013-10-30 21 views
7

Vì một số lý do, chẳng hạn như: ;jsessionid=SESSION_HERE được thêm vào url khi tôi truy cập ứng dụng của mình được triển khai tới máy chủ GAE.jsessionID được nối vào url khi chạy GAE devserver

Điều này gây rối vì một số url không thể phân tích cú pháp dưới dạng tham số GET ở tất cả (đôi khi kết thúc bằng url như: http://localhost:8080/someurl;jsessionid=0000).

webapp configuraion của tôi là tầm thường và tôi sử dụng maven và appengine-maven-plugin để chạy devserver như thế này:

mvn appengine:devserver 

lý do của việc này là gì và làm thế nào điều này có thể được gỡ bỏ?

Trả lời

12

Add:

<context-param> 
    <param-name>org.mortbay.jetty.servlet.SessionURL</param-name> 
    <param-value>none</param-value> 
</context-param> 

... để web.xml của bạn. Đọc thêm về điều này trong jetty session documentation.

Lưu ý: GAE đang chạy trên Jetty 6.1. Trong bất cứ ai trải qua cùng một vấn đề với một phiên bản Jetty mới hơn, các tham số cấu hình được đặt tên khác nhau, xem Jetty 9 session management:

  • org.eclipse.jetty.servlet.SessionIdPathParameterName

  • jsessionid

  • phiên URL tên tham số. Mặc định là jsessionid, nhưng có thể được đặt cho một ứng dụng web cụ thể với thông số ngữ cảnh này. Đặt thành "không" để tắt viết lại URL.

+0

giải quyết câu hỏi của tôi! cảm ơn! – OhadR

Các vấn đề liên quan