Eu pesquisei mas não encontrei nada do tipo…
Tenho um método que inclui registro no BD usando JavaBeans porém quando incluo o usuário através do - HttpSession com HttpServletRequest ele trás Null.
Pergunta de Novato:
Como faço para usar no JavaBeans trazendo o ‘usuário’ que está logado e na sessão que fiz direto no JSP?
Pelo que entendi o HttpSession e o Request só servem para usar no Servlet?
Estou usando Eclipse+TonCat+BD-Oracle
Cara, nao entendi muito bem o que vc quer perguntar…
este é um problema clássico.
Muita gente utiliza threadLocal para resolvê-lo, por exemplo o FacesContext do JSF.
Pesquise sobre ThreadLocal.
Olá Tecnoage…
Eu criei a rotina para logar verificando os dados do usuário na tabela do BD e gravando na sessão tudo pela JSP…
Então eu vou fazer uma inclusão em uma tabela usando uma classe q é chamada pelo:
<jsp:useBean id"Turno" class="cadastro.Turno"/>
<jsp:setProperty name="Turno" property="*" />
<body>
<jsp:getProperty name="Turno" property="incluir"/>
</body>
Então no meu método para incluir no BD eu declarei HttpSession e HttpServletRequest para pegar o nome do usuário e gravar no BD
Mas eu estou usando o Bean e não o Servlet então ele retorna Null e não grava no BD
Vou colocar parte do código abaixo e desde já agradeço TecnoAge
public String getIncluir() {
String s = "";
try {
Connection conexao = DriverManager.getConnection("jdbc:oracle:thin:sugartst/sugartst@sugar:1521:sugar");
HttpServletRequest request = null;//Está certo como estou declarando???
HttpSession session = request.getSession();//Esta certo como estou declarando??
PreparedStatement sql2 = conexao.prepareStatement("Insert into "
+ "leo_una_turno(leo_dtturno, leo_hrturno, leo_fechado, leo_user, leo_dtreal, leo_codigo) "
+ "values(?,?,?,?,SYSDATE,LEO_UNA_TURNO_S.NEXTVAL)");
sql2.setString(1,leo_dtturno);
sql2.setString(2,leo_hrturno);
sql2.setString(3,"N");
sql2.setString(4,(String)session.getAttribute("leo_user_session"));
sql2.executeUpdate();
s = " Turno e Período incluído com Sucesso.";
}
conexao.close();
Marcelo agora complicou mais ainda.
Tá dificil usar somente uma classe para Incluir, alterar e excluir com duas tabelas no BD.
Imagine usar ThreadLocal mas um dia chego ao nível de vocês…rrss
Será que terei q mudar toda a interface(incluir,alterar e excluir) de Bean para Servlet?
Só queria ler uma sessão e grava-la no BD e retornar se gravou ou não com o Bean…