Bom,
A documentação do TOMCAT ajuda demais com isso. Segue o link:
http://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/http/HttpSession.html
Mas, basicamente, vc não precisa “criar variáveis” na sessão. Basta apenas inserir o valor na sessão e um nome para esse atributo.
Falando a grosso modo, seria como criar uma variável do tipo String (na verdade, estaria mais voltada a um Object) e colocasse o valor nela.
Exemplo:
HttpSession sessao = request.getSession();
sessao.setAttribute("idusuario", bd.getIdUsuario(usuario));
sessao.setAttribute("nomeusuario", bd.getNomeUsuario(usuario));
Uma coisa importante é sempre usar o request.getSession(), para que possa pegar os valores corretos da sessão em aberto.
Para buscar os valores, basta fazer a chamada do nome do atributo e manipulá-lo a vontade. Lembrando que aqui, ele seria como se fosse um Object, ou seja, vc terá que fazer as suas conversões adequadas.
Exemplo:
HttpSession ses = request.getSession();
String usuario = ""; // É bom iniciar a variável ANTES de pegar o valor da sessão
usuario = (String)sessao.getAttribute("usuario") //Aqui pode aparecer erro de NULLPOINTEXCEPTION, se o valor do atributo da sessão não existir. Cuidado.
Se quiser “apagar” o atributo da sessão, ou você o sobrescreve, ou remove. Para remover, basta mandar remover o atributo:
sessao.removeAttribute("usuario");
E, para finalizar a sessão, basta mandar invalidar a sessão. Assim:
sessao.invalidate();
Com isso, acho que já consegue ter um pouco de noção para mexer com HTTPSession.