Oracle:如何查看 Java EE6 应用程序 运行 的查询?

Oracle: how do I see what query was ran by a Java EE6 application?

我正在使用 Oracle 11g 为 Jboss EAP 6.3 构建一个小应用程序。

我按照 this tutorial 的指示实施了基于表单的登录,但它不起作用。 无论输入如何,它总是失败。 我创建了两个用户:

SQL> SELECT * FROM USERS;

        ID USERNAME             PASSWORD
---------- -------------------- --------------------
         1 admin                admin
         2 guest                guest

jboss 控制台(或部署时的 Maven 控制台)没有错误。 但是估算两者都失败了。 "Invalid login or password" 每次。 我想知道输入凭据时到底发生了什么。数据库是否甚至从应用程序获得任何查询?

理想情况下,我希望看到 db 上的查询历史记录。

在服务器启动时发现此错误:

JBAS014777:   Services which failed to start:      service jboss.server.controll
er.management.security_realm.employee-rooster.properties_authentication: org.jbo
ss.msc.service.StartException in service jboss.server.controller.management.secu
rity_realm.employee-rooster.properties_authentication: JBAS015228: Unable to loa
d properties

如果您严格按照该教程进行操作,那么您将需要在数据库中存储散列密码,而不是上面 select 语句中显示的纯文本。

引用教程:

echo -n "admin" | openssl dgst -sha256 -binary | openssl base64
echo -n "guest" | openssl dgst -sha256 -binary | openssl base64

并用结果更新数据库中的密码列。

将以下内容添加到您正在使用的独立 XML 文件中的日志记录配置中:

   <logger category="org.jboss.security">  
     <level name="TRACE" />  
   </logger>  
   <logger category="org.jboss.web.tomcat.security">  
     <level name="TRACE" />  
   </logger>  
   <logger category="org.apache.catalina">  
     <level name="TRACE" />  
   </logger>