对上篇文章中ActionContext和ServletActionContext总结

1、ActionContext指action执行时的上下文,上下文中存放一些请求的参数,servlet的上下文、会话和本地化的一些信息,我们可以通过getContext()获取这些信息。ServletActionContext是继承ActionContext,ServletActionContext除能获取这些信息外,还可以获取web容器的相关信息。
2、ActionContext是与web容器无关,它可以通过getContext().getParameters()获取请求的所有参数;而ServletActionContext与web容器有关,它可以通过getRequest(),getResponse()等获取请求的信息。
3、他们都是线程安全的,用实例池解决线程安全性。这也是区别struts1的一个特点,struts1是单例模式,所有请求都只有一个action。
4、如果ActionContext能够实现我们的功能,那最好就不要使用ServletActionContext,让我们的Action尽量不要直接去访问JavaServlet的相关对象。在使用ActionContext时有一点要注意:不要在Action的构造函数里使用ActionContext.getContext(),因为这个时候ActionContext里的一些值也许没有设置,这时通过ActionContext取得的值也许是null。

你可能感兴趣的:(Web,servlet)