struts相关知识

1、Struts的核心组件是ActionServlet,像其它所有Servlet一样,它是生存在容器中的,比如Tomcat、WebLogic等,当容器启动的时候,它会读取web.xml文件(部署描述符),告诉容器它会装入哪些Servlet;

2、所有从表单提交到后台的数据均为字符串类型;

3、需牢记原则:不要在Action中进行业务逻辑的处理,业务逻辑应交给专门的Model层去做;

4、在Action映射配置中,Scope属性可以取值为:request或session;

Scope属性表示:Struts框架在将ActionForm对象(与目标Action匹配的ActionForm)传送到Action之前,会将ActionForm对象保存到的位置。

5、J2EE是一个多线程的环境,服务器针对每个请求启动一个线程来处理,所以有可能会有多个线程同时访问一个Servlet实例的情况。在Struts里面也是一样的,有可能会有多个线程同时访问一个Action实例的情况,这时就会出现线程安全的问题,所以要保证Action类中的方法具有“可重入性”,即不可以在Action的方法里改变实例变量的值。

在设计Action类时应该注意:

1、不要使用实例或静态变量存储特定请求的状态信息,因为它们会在同一个操作中共享跨越请求的全局资源,引发线程安全问题

2、如果并行访问资源需要保护,访问就要进行同步(例如:synchronized关键字的使用)

3、使用常量是线程安全的,因为只存在读操作

4、对构造器的访问(new 操作)是线程安全的,因为每次都创建一个实例,不会访问共享资源

5、局部变量也是线程安全的。因为没执行一个方法,都会在独立的空间创建局部变量,它不是共享资源。局部变量包括方法的参数变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值