web应用中 获取ServletContet方法

ServletContet的作用与功能这里就不用说了,大家可以去百度。尤其需要记住的一点是:ServletContet提供对应用程序中所有Servlet所共有的各种资源和功能的访问,以及重要共享数据的存储。

在应用中获取ServletContext的几个方法:

一:可以新建一个上下文监听类继承org.springframework.web.context.ContextLoaderListener。并重写

public WebApplicationContext initWebApplicationContext(ServletContext servletContext) 方法。

二:在一次请求中 通过request.getSession().getServletContext()获取。

三:对于jsp页面 直接通过 application对象引用该应用的servletContext对象


ServletContet提供的接口有:(见下图:注意左边实现servletcontext接口的第一个ApplicationContext类不是spring中的ApplicationContext,而是tomcat中的一个类),


这里重点说一下下面两个个方法:

getRequestDispatcher:获取应用中的请求的转发器。springMvc通过org.springframework.web.servlet.DispatcherServlet

来寻找请求对应的Handler.应用中可以通过获取RequestDispatcher 进行请求转发。代码如下:

RequestDispatcher dis = servletContext.getNamedDispatcher("springServlet");
dis.forward(request, response);


getContext(String uri):通过这个方法可以获取同一个servlet容器(例如tomcat)下面的所有应用的servletContext.当然,这需要配置被请求的项目的META-INF目录下新增一个context.xml文件内容为:

<Context reloadable="true" crossContext="true" />

然后项目中通过下面的代码获取 另外一个应用的context.

ServletContext app1Context = request.getSession().getServletContext();
ServletContext app2Context = app1Context.getContext("/app2");

servlet的几个log方法也很有用。程序中可以通过这几个方法输出日志到文件。







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值