2013-05-21 4 views
1

Java 웹 응용 프로그램에서 세션을 만들어야합니다.
Sesstion이 방법 getSession()을 사용하여 서블릿 계산을 수행하는 것으로 나타났습니다.
하지만 세션 매개 변수에 대한 질문이 있습니다. 예를 들어 나는 서버 로그인/패스로 보내 세션 애트리뷰트에 저장합니다. 승인. 다음 번에 나는 클라이언트에서 뭔가를하고 새로운 params를 서버에 보낸다. 내가 어디로 보낼거야? 다른 또는 동일하고 난이 같은 핸들 params에 if else 사용할거야?Java로 세션을 만드는 방법은 무엇입니까?

enter image description here 또 다른 질문 : 다른 클래스의 세션에 넣은 (로그인/패스) params를 사용하는 방법은 무엇입니까?

UPDATE

나는 약 sessions 읽어 보시기 바랍니다. 새로운 질문이 있습니다. Enother 클래스에서 세션 매개 변수를 사용하는 방법. 나는 로그인 후 서버에서 새로운 params를 보내고 서블릿에서 읽고 세션에서 로그인/패스를 가져 와서 새로운 매개 변수를 사용하여 다른 클래스에 보내려고합니다.

+0

새로운 질문이있는 경우 일반적으로 글을 게시하는 것이 좋습니다. 새 질문 :) 다른 사용자가 귀하의 질문과 답변을 쉽게 찾고 이해할 수있게 해줍니다. –

+0

@Cameron Skinner : 죄송합니다. 승인. 그러나 나는 그 문제가 하나의 트레드에 더 잘 결합 된 같은 문제라고 생각했다. 그러나 okey 나는 새로 만듭니다. –

답변

3

doGet 또는 doPost 메소드에서 요청을 처리하는 과정에서 세션을 가져 와서 변수를 가져오고 설정하는 방법이 있습니다.

//Obtain the session object, create a new session if doesn't exist 
HttpSession session = request.getSession(true); 

//set a string session attribute 
session.setAttribute("MySessionVariable", "MySessionAtrValue"); 

//get a string sessson attribute 
String strParam = session.getAttribute("MySessionVariable"); 


//get an integer sessioin attribute 
Integer param = (Integer) session.getAttribute("MySessionVariable"); 

//set an integer session attribute 
session.setAttribute("MySessionVariable", new Integer(param.intValue() + 1)); 
+0

웹 응용 프로그램의 첫 번째보기에 대한 사용자 액세스가있을 때 세션이 생성됩니다 ... –

+0

그래서 세션을 만든 후 다른 서블릿에 params를 다시 보내면 세션이 만들어지지 않습니까? –

+1

@LuiggiMendoza : 모든 JSP에'<% @ page session = "false"%>'가있는 경우는 그렇지 않습니다. – Ankit

0

Session은 각 요청과 관련됩니다. 이제 클라이언트가 세션에 참여하는지 여부에 따라 더 많은 정보를 얻으려면 getSession()의 세 가지 오버로드 된 메소드가 있습니다. documents을 통해 이동하십시오. 이제 세션이 요청과 연결된 경우 기존 세션은 세션을 설정하고 그렇지 않으면 새 세션을 만들지 않고 동일한 작업을 수행합니다.

if the server used only cookie-based sessions, and the client had disabled the use of cookies, then a session would be new on each request.

나는이 도움이되기를 바랍니다.

+0

* 세션은 각 요청과 연결되어 있습니다. * 완전히 거짓입니다. 세션은 단순 요청보다 오래 생방송입니다. 요청을 사용하여 클라이언트 세션에 액세스 할 수 있다는 사실은 프로그래밍 모델을 쉽게 해줍니다. –

+0

나는 너에게 동의하지 않는다. 서버가 쿠키 기반 세션을 사용하고 쿠키가 클라이언트 컴퓨터에서 활성화 된 경우 새 세션인지 이전 세션인지에 따라 다릅니다. 동일한 세션이 각각의 새 요청과 연결됩니다. – amicngh

+0

귀하가하신 말씀을 토대로 두 가지 요청이 동일한 세션을 공유 할 수 있습니다.세션이 간단한 요청 *보다 더 오래 살아 있기 때문에 완벽합니다. –

관련 문제