Modificar um pequeno Código para Java

Bom dia galera, estou com um probleminha, desculpa ser chato…

Bom, eu tenho um código em PHP e eu gostaria de passa-lo para Java… Só que infelizmente não estou conseguindo entender bem este código que está em PHP… é pequeno…

Segue abaixo:

if (!isset($_SESSION['chatHistory'])) {
	$_SESSION['chatHistory'] = array();	
}

if (!isset($_SESSION['openChatBoxes'])) {
	$_SESSION['openChatBoxes'] = array();	
}

function chatBoxSession($chatbox) {
	
	$items = '';
	
	if (isset($_SESSION['chatHistory'][$chatbox])) {
		$items = $_SESSION['chatHistory'][$chatbox];
	}

	return $items;
}

function startChatSession() {
	$items = '';
	if (!empty($_SESSION['openChatBoxes'])) {
		foreach ($_SESSION['openChatBoxes'] as $chatbox => $void) {
			$items .= chatBoxSession($chatbox);
		}
	}


	if ($items != '') {
		$items = substr($items, 0, -1);
	}

header('Content-type: application/json');
?>
{
		"username": "<?php echo $_SESSION['username'];?>",
		"items": [
			<?php echo $items;?>
        ]
}

<?php


	exit(0);
}

Por favor amigos, me ajudem =/ :smiley:

$_SESSION['chatHistory']  //provavelmente é uma variavel que veio atravez de requisição htp
!isset($_SESSION['chatHistory']) //procure o que a função isset retorna.
 $items = ''; //declara uma variavel.

pense na LÓGICA, não pense em transcrever. faça o mesmo do zero só que em java. aconcelho.

[quote=ssh] $_SESSION['chatHistory'] //provavelmente é uma variavel que veio atravez de requisição htp !isset($_SESSION['chatHistory']) //procure o que a função isset retorna. $items = ''; //declara uma variavel.

pense na LÓGICA, não pense em transcrever. faça o mesmo do zero só que em java. aconcelho.[/quote]

Estou tentando fazer aqui… rsrsrsrs estou começando a entender algumas coisas, mas ainda é complicado…

Já já eu posto o que fiz e peço ajuda… rsrs :wink:

$_SESSION é um array do servidor que representa a sessão do usuário.

Em java usa-se o HttpSession.

Na maior parte do código, está sendo verificado se o elemento do array está vazio (ou nulo, não lembro). Se não estiver, ele configura a variável com o conteúdo do array.

E leia esse site:

www.php.net

LEITURA OBRIGATÓRIA! :wink:

Fala galera, estou fazendo aqui desta forma e ainda não sei… estou preso nesta parte do código:

	if (session.getAttribute("openChatBoxes") != null) {
			
			for(session.getAttribute("openChatBoxes")){
					
				items += chatBoxSession(chatbox);
				
			}
			
		}

Código que eu fiz abaixo:


	public String chatBoxSession(Integer chatbox) {

		HttpServletRequest request = null;

		HttpSession session = request.getSession();

		String items = "";

		if (session.getAttribute("chatHistory") != null) {

			items = session.getAttribute("chatHistory").toString();

		}

		return items;

	}

	public void startChatSession(String username) {

		HttpServletRequest request = null;

		HttpServletResponse response = null;
		
		HttpSession session = request.getSession();

		String items = "";
		
		Integer chatbox = "";
		
		session.setAttribute("chatbox", chatbox);
		
		if (session.getAttribute("openChatBoxes") != null) {
			
			for(session.getAttribute("openChatBoxes")){
					
				items += chatBoxSession(chatbox);
				
			}
			
		}

		if(items != ""){
			
			items = items.substring(0,-1);
			
		}
		
		response.getWriter().print("username: " + username);
		response.getWriter().print("items: " + items);
		
	}

Minha JSP:

<%
	ChatDao cd = new ChatDao();

	if (session.getAttribute("chatHistory") != null) {

		Integer chatbox = null;

		cd.chatBoxSession(chatbox);

	}

	if (session.getAttribute("openChatBoxes") != null) {
		
		String username = (String) session.getAttribute("username");
		
		cd.startChatSession(username);

	}
%>

Por favor, me ajudem… Obrigado.

Olá amigo, seu código vai estourar umas 10 Exceptions de null pointer. Verifique sua lógica tb, no servlet vc tem uma HttpServletRequest e uma HttpServletResponse. No seu código vc colocou esses atributos no escopo do método e ainda atribuiu null. Reveja isso OK!

Fica a dica.

Estou com o mesmo problema… estou tentando recriar este codigo em java, mas não entendo muito de php. Gostaria da ajuda de vcs caros colegas.