我一天大部分时间都在寻找和辛苦工作,试图找到一些有用的东西。情况如下:
形势
我正在为我们在工作中的一个工具进行审计跟踪,这个工具用于编辑信息(比如网站上的文本)。现在一切都很好,但有一个小问题:现在我将用户数据(用户名、密码、ipAddress)存储在@context-info (MSSQL)中。每当一个用户每次登录时,这都可以正常工作,但这种情况很少发生。
示例:
解决方案
会话作用域bean,它存储本地会话数据,然后通过Interceptor将每个数据库查询的参数传递给上下文信息。
到目前为止我做了什么
我目前正在遵循以下指南:春豆粉,用于获取会话范围内的bean。我在support-servlet.xml中定义了以下内容(这是我们定义bean的地方):
<!-- Session Beans -->
<bean id="helloWorld" class="com.lcmg.ticket.support.service.HelloWorld" scope="session">
</bean>.java文件是从本教程中提取的,并且一直工作到一定程度。例如:
ApplicationContext context = new ClassPathXmlApplicationContext("support-servlet.xml");给了我一些问题,直到我将参数更改为
("classpath*:support-servlet.xml")然后就发生了..。
问题所在
问题就在这里:
HelloWorld hwA = (HelloWorld)context.getBean("helloWorld");如果我调试并跨过这一行,当我登录到该工具时,就会得到一个名为“helloWorld”的异常。我已经谷歌,修补,和摆弄,现在在一天结束时,我仍然没有解决办法。
所以问题是:我如何使这个session-bean工作?
我希望我已经提供了足够的信息,但不要犹豫,如果你需要更多的信息。
发布于 2015-05-29 09:32:23
于是我又四处兜圈子,做了这件事:
bean的定义被移到了另一个.xml (我们显然使用了.xml与其他scope="session“bean,现在看起来是这样的(我还更改了实现的名称等等):
<bean id="auditUser" class="com.lcmg.ticket.support.service.model.AuditUser" scope="session">
</bean>我抛出了整个applicationContext上下文.位,然后将bean映射到类bean,如下所示:
<bean name="/historyList" class="com.lcmg.ticket.support.web.controller.HistoryListController">
/*Other-for-this-example-useless properties*/
<property name="auditUser" ref="auditUser"/>
</bean>然后,我可以在代码中创建一个变量auditUser,创建一个setter,然后执行以下操作:
auditUser.setSessionUser(sessionUser);
auditUser.setPassword(command.getPassword());现在起作用了。不再有错误,每当我从auditUser调用什么东西时,整个会话都是一样的。
https://stackoverflow.com/questions/30485069
复制相似问题