<bean id="meetAction" class="com.web.actions.MeetsAction"
scope="prototype">
<property name="meetsService" ref="meetsService" />
</bean>
<!--
scope="prototype"没写的问题,项目中对一个表的增删该操作是用一个action,这个action有add,update,delete,save这些方法,
添加和修改是共用一个页面,当页面得到id时代表进行的修改操作,反之是添加操作。因为在配置spring的bean是忘了写scope="prototype"
所以每次添加时都显示最后一次访问过的记录,scope="prototype" 会在该类型的对象被请求
时创建一个新的action对象。如果没有配置scope=prototype则添加的时候不会新建一个action,他任然会保留上次访问的过记录的信息
webwork的Action不是线程安全的,要求在多线程环境下必须是一个线程对应一个独立的实例,不能使用singleton。所以,我们在Spring配置Webwork Action Bean时,需要加上属性scope=”prototype”或singleton=”false”。
singleton模式指的是对某个对象的完全共享,包括代码空间和数据空间,说白了,如果一个类是singleton的,假如这个类有成员变量,那么这个成员变量的值是各个线程共享的(有点类似于static的样子了),当线程A往给变量赋了一个值以后,线程B就能读出这个值。因此,对于前台Action,肯定不能使用singleton的模式,必须是一个线程请求对应一个独立的实例。推而广之,只要是带数据成员变量的类,为了防止多个线程混用数据,就不能使用singleton。对于我们用到的Service、Dao,之所以用了singleton,就是因为他们没有用到数据成员变量,如果谁的Service需要数据成员变量,请设置singleton=false。
http://youaretheboy.iteye.com/blog/587981
分享到:
相关推荐
<value>An InfoChanges object that performs actions on the API object.</value> </member> - <member name="T:Symbol.API.InfoChanges"> <summary>The InfoChanges class is used internally to help with ...
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> ``` 这些配置为整个应用提供了数据库...
<bean type="com.opensymphony.xwork2.ActionProxyFactory" name="xwork" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/> <bean type=...
9. **持续集成**:项目标签"Sudoku-Unity-mai"可能暗示了持续集成的过程,意味着开发者可能采用了版本控制系统(如Git)和持续集成服务(如GitHub Actions或Jenkins),以便于代码管理和团队协作。 综上所述,...
<action name="login" class="com.example.actions.LoginAction"> <result name="success">/jsp/success.jsp</result> <result name="error">/jsp/error.jsp</result> </action> ``` 这段配置表示,当用户请求名...
login"><div class="hand"></div><div class="hand hand-r"></div><div class="arms"><div class="arm"></div><div class="arm arm-r"></div></div></div><div class="pad"><input type="hidden" name="_csrf" value...
<bean id="loginAction" class="com.example.myapp.actions.MyLoginAction"> <property name="userService" ref="userService"/> </bean> <bean id="userService" class=...
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <!-- 配置其他Bean --> </...
<action name="*_*" class="com.example.actions.*" method="{1}"> <result type="dispatcher">/{1}.jsp</result> </action> <interceptors> <interceptor-stack name="myStack"> <!-- 添加Spring插件拦截器 -...
<bean id="myAction" class="com.ryandaigle.web.actions.MyAction" singleton="false"> <property name="DAO"> <ref bean="myDAO"/> </property> </bean> ``` 这样,`myDAO` Bean就被注入到了`MyAction` Action...
3. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" 4. destroy-method="close"> 5. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> 6. <property name...
<bean class="nc.ui.pubapp.uif2app.actions.BodyPasteLineAction"></bean> </list> </property> 通过以上方法,可以实现NC65单据字段参照时多选开发,满足业务需求。 此外,需要注意的是,在实现多选开发时,...
<action path="/dispatch" type="com.tarena.struts.actions.SystemAction" parameter="methodName" name="loginForm" scope="request" validate="true" input="/dispatch/login.jsp"> <forward name="login" path=...
<p class="oe_view_nocontent_create">创建单据.</p> </field> </record> <menuitem action="odoo_action_amos_sale_views" id="menu_amos_sale_views" sequence="0"/> </data> </odoo> ``` 从以上内容中,...
<bean id="loginAction" class="com.example.actions.LoginAction"> <!-- 这里可以注入Action所需的依赖 --> </bean> ``` **Hibernate整合** Hibernate是一个对象关系映射(ORM)框架,它将Java对象与数据库表...
<bean id="yourAction" class="com.yourcompany.yourproject.actions.YourAction"> <property name="someService" ref="someServiceBean"/> </bean> ``` 这里,`yourAction`是Action的bean ID,`YourAction`是...
wilddog评论文字弹幕效果代码是一款基于jQuery制作的,利用野狗云实现弹幕的发送以及屏幕弹幕的消除。 <title>wilddog评论文字弹幕效果代码 <...<div id="actions" id="addWords" id="removeAll
代码片段: ...<h2>Handling actions</h2> <h4>One or several jquery click click events</h4> <div class="btn btn-success popconfirm test-jquery-click">测试 jQuery Click事件</div>
<extension ... contributorClass="com.example.actions.DiagramActionBarContributor" name="Practice Editor" id="com.example.ui.PracticeEditor" extensions="gefpracticeal"/> </extension>
<action path="/aFormOnlyAction" type="org.apache.struts.actions.ForwardAction"> <param name="input">/form.jsp</param> <param name="parameter">/result.jsp</param> </action> ``` 这里使用的是`org....