ServletContext s = ServletActionContextgetServletContext();
首先要导入相应的Struts jar包
获取ServletActionContext,然后获取ServletContext
获取Servlet对象其实很简单,输入Java代码就可以了: //模拟>
ServletActionContext是类对象,直接访问,可以通过ServletActionContext获取:
<1>取得>
ServletContext顾名思义是Servlet上下文对象,ServletContext对象有且只有一个该对象,这个其实就是单例模式;ServletContext对象相当于是Servlet容器的总司令部,里面包含了很多关于Servlet容器的信息,我们可以可以通过该对象来获取Servlet或与Servlet与之相关的一些信息。大致就是这样。。
如果你要在servlet的init方法中传递值给session,然后在cookie有效范围内使用session中保存的值,可以采用的方法是:首先把attribute放入到servletcontext中,然后在servlet的service或者doXXX方法中再把这些attribute放入到session中。在init方法中不能直接访问session。
步骤如下:
1、在init方法中调用servletconfig的getServletContext()方法,获得ServletContext对象。
2、调用ServletContext对象的setattribute方法放入值
3、在service或者doXXX方法中调用servlet的getServletContext方法,获得ServletContext对象
4、从ServletContext对象中查询需要的值,然后值放入到session中
这个场景通常是用于把webxml文件中配置的参数放入到seesion中。
在web项目中,如果需要在后台java代码中获取web上下文对象(以及session、request、response等对象),可以使用ActionContext类:
ActionContext context=ActionContextgetContext(); --得到Action执行的上下文
在获取了context后,还可以继续获取session等对象:
Map request=(Map)contextget("request");--得到>
WEB容器在启动时,它会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。
ServletConfig对象中维护了ServletContext对象的引用,开发人员在编写servlet时,可以通过ServletConfiggetServletContext方法获得ServletContext对象。
由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。
以上就是关于struts2 怎么获取 ServletContext全部的内容,包括:struts2 怎么获取 ServletContext、在JAVA中如何获取Servlet对象、java 怎么获取servletactioncontext等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)