`

<bean id="meetAction" class="com.web.actions.MeetsAction"

阅读更多
<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
分享到:
评论

相关推荐

    NETCFSERUP

    &lt;value&gt;An InfoChanges object that performs actions on the API object.&lt;/value&gt; &lt;/member&gt; - &lt;member name="T:Symbol.API.InfoChanges"&gt; &lt;summary&gt;The InfoChanges class is used internally to help with ...

    Struts2 Spring2.5 Hibernate3.2 框架整合所有XML文件

    &lt;bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"&gt; &lt;property name="sessionFactory" ref="sessionFactory"/&gt; &lt;/bean&gt; ``` 这些配置为整个应用提供了数据库...

    Struts2配置详解

    &lt;bean type="com.opensymphony.xwork2.ActionProxyFactory" name="xwork" class="com.opensymphony.xwork2.DefaultActionProxyFactory"/&gt; &lt;bean type=...

    Sudoku-Unity-main(20019-2021)火影数独游戏(打包)

    9. **持续集成**:项目标签"Sudoku-Unity-mai"可能暗示了持续集成的过程,意味着开发者可能采用了版本控制系统(如Git)和持续集成服务(如GitHub Actions或Jenkins),以便于代码管理和团队协作。 综上所述,...

    struts.xml和applicationContext.xml、web.xml的配置

    &lt;action name="login" class="com.example.actions.LoginAction"&gt; &lt;result name="success"&gt;/jsp/success.jsp&lt;/result&gt; &lt;result name="error"&gt;/jsp/error.jsp&lt;/result&gt; &lt;/action&gt; ``` 这段配置表示,当用户请求名...

    登录页面源码

    login"&gt;&lt;div class="hand"&gt;&lt;/div&gt;&lt;div class="hand hand-r"&gt;&lt;/div&gt;&lt;div class="arms"&gt;&lt;div class="arm"&gt;&lt;/div&gt;&lt;div class="arm arm-r"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="pad"&gt;&lt;input type="hidden" name="_csrf" value...

    struts整合spring开发实例(三)

    &lt;bean id="loginAction" class="com.example.myapp.actions.MyLoginAction"&gt; &lt;property name="userService" ref="userService"/&gt; &lt;/bean&gt; &lt;bean id="userService" class=...

    ssh整合步骤

    &lt;bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"&gt; &lt;property name="sessionFactory" ref="sessionFactory" /&gt; &lt;/bean&gt; &lt;!-- 配置其他Bean --&gt; &lt;/...

    SSH框架整合

    &lt;action name="*_*" class="com.example.actions.*" method="{1}"&gt; &lt;result type="dispatcher"&gt;/{1}.jsp&lt;/result&gt; &lt;/action&gt; &lt;interceptors&gt; &lt;interceptor-stack name="myStack"&gt; &lt;!-- 添加Spring插件拦截器 -...

    webwork与spring集成

    &lt;bean id="myAction" class="com.ryandaigle.web.actions.MyAction" singleton="false"&gt; &lt;property name="DAO"&gt; &lt;ref bean="myDAO"/&gt; &lt;/property&gt; &lt;/bean&gt; ``` 这样,`myDAO` Bean就被注入到了`MyAction` Action...

    ssh(structs,spring,hibernate)框架中的上传下载

    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...

    3.2.4NC65单据字段参照时多选开发分享.docx

    &lt;bean class="nc.ui.pubapp.uif2app.actions.BodyPasteLineAction"&gt;&lt;/bean&gt; &lt;/list&gt; &lt;/property&gt; 通过以上方法,可以实现NC65单据字段参照时多选开发,满足业务需求。 此外,需要注意的是,在实现多选开发时,...

    Action使用说明

    &lt;action path="/dispatch" type="com.tarena.struts.actions.SystemAction" parameter="methodName" name="loginForm" scope="request" validate="true" input="/dispatch/login.jsp"&gt; &lt;forward name="login" path=...

    ODOO10菜单和界面

    &lt;p class="oe_view_nocontent_create"&gt;创建单据.&lt;/p&gt; &lt;/field&gt; &lt;/record&gt; &lt;menuitem action="odoo_action_amos_sale_views" id="menu_amos_sale_views" sequence="0"/&gt; &lt;/data&gt; &lt;/odoo&gt; ``` 从以上内容中,...

    三大框架整合说明。。。

    &lt;bean id="loginAction" class="com.example.actions.LoginAction"&gt; &lt;!-- 这里可以注入Action所需的依赖 --&gt; &lt;/bean&gt; ``` **Hibernate整合** Hibernate是一个对象关系映射(ORM)框架,它将Java对象与数据库表...

    SSH\\others\\struts2-spring-plugin-2.2.1.jar

    &lt;bean id="yourAction" class="com.yourcompany.yourproject.actions.YourAction"&gt; &lt;property name="someService" ref="someServiceBean"/&gt; &lt;/bean&gt; ``` 这里,`yourAction`是Action的bean ID,`YourAction`是...

    wilddog评论时显示文字弹幕效果代码.zip

    wilddog评论文字弹幕效果代码是一款基于jQuery制作的,利用野狗云实现弹幕的发送以及屏幕弹幕的消除。 &lt;title&gt;wilddog评论文字弹幕效果代码 &lt;...&lt;div id="actions" id="addWords" id="removeAll

    bootstrap jQuery点击打开浮动确认框代码.zip

    代码片段: ...&lt;h2&gt;Handling actions&lt;/h2&gt; &lt;h4&gt;One or several jquery click click events&lt;/h4&gt; &lt;div class="btn btn-success popconfirm test-jquery-click"&gt;测试 jQuery Click事件&lt;/div&gt;

    gef框架的自动布局的一个例子

    &lt;extension ... contributorClass="com.example.actions.DiagramActionBarContributor" name="Practice Editor" id="com.example.ui.PracticeEditor" extensions="gefpracticeal"/&gt; &lt;/extension&gt;

    我的笔记:Struts构架中action的跳转大全

    &lt;action path="/aFormOnlyAction" type="org.apache.struts.actions.ForwardAction"&gt; &lt;param name="input"&gt;/form.jsp&lt;/param&gt; &lt;param name="parameter"&gt;/result.jsp&lt;/param&gt; &lt;/action&gt; ``` 这里使用的是`org....

Global site tag (gtag.js) - Google Analytics