zoukankan      html  css  js  c++  java
  • j2ee 获取上下文环境

    j2ee 获取上下文环境

    问题:1.不访问服务,如何获取上下文环境?

    解答:1.通过在web里面配置servlet来解决。

    1.1 web.xml

    1     <servlet>
    2         <servlet-name>GetContext</servlet-name>
    3         <servlet-class>com.ge.context.GetContext</servlet-class>
    4         <load-on-startup>1</load-on-startup>
    5     </servlet>

    1.2GetContext.java

     1 package com.ge.context;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.http.HttpServlet;
     7 import javax.servlet.http.HttpServletRequest;
     8 import javax.servlet.http.HttpServletResponse;
     9 
    10 import org.springframework.web.context.WebApplicationContext;
    11 import org.springframework.web.context.support.WebApplicationContextUtils;
    12 
    13 public class GetContext extends HttpServlet {
    14     private static final long serialVersionUID = 1L;
    15 
    16     public GetContext() {
    17         super();
    18     }
    19 
    20     public void init() {
    21         WebApplicationContext context = WebApplicationContextUtils
    22                 .getWebApplicationContext(this.getServletContext());
    23         ContextHolder.getInstance().setApplicationContext(context);
    24         ContextHolder.getInstance().setServletContext(this.getServletContext());
    25     };
    26 
    27     protected void doGet(HttpServletRequest request,
    28             HttpServletResponse response) throws ServletException, IOException {
    29         init();
    30     }
    31 
    32     protected void doPost(HttpServletRequest request,
    33             HttpServletResponse response) throws ServletException, IOException {
    34         init();
    35     }
    36 }

    1.3ContextHolder.java

     1 package com.ge.context;
     2 
     3 import javax.servlet.ServletContext;
     4 
     5 import org.springframework.context.ApplicationContext;
     6 
     7 public class ContextHolder {
     8     private final static ContextHolder instance = new ContextHolder();
     9     private ApplicationContext ac;
    10     // added by cobble.ge 20130415
    11     private ServletContext servletContext;
    12 
    13     private ContextHolder() {
    14     }
    15 
    16     public static ContextHolder getInstance() {
    17         return instance;
    18     }
    19 
    20     public synchronized void setApplicationContext(ApplicationContext ac) {
    21         this.ac = ac;
    22     }
    23 
    24     public ApplicationContext getApplicationContext() {
    25         return ac;
    26     }
    27 
    28     public ServletContext getServletContext() {
    29         return servletContext;
    30     }
    31 
    32     public synchronized void setServletContext(ServletContext servletContext) {
    33         this.servletContext = servletContext;
    34     }
    35 }

    ------------

    @cobble HF.AH.CHN 2013-04-18

    资料1:互联网,忘了从哪位仁兄的文章看的了。

  • 相关阅读:
    HDOJ 5414 CRB and String 模拟
    Python标准库:内置函数all(iterable)
    Can not find a java.io.InputStream with the name [downloadFile] in the invocation stack.
    关于TabLayout+ViewPager组合实现多页面滑动
    互联网产品经理应该具备的技能(需求篇)
    【Android】利用自己定义View的重绘实现拖动移动,获取组件的尺寸
    mybatis自己主动生成mapper,dao,映射文件
    Java解析注解
    如日中天的Uber到底是用什么开发语言做到的?
    [Swift]LeetCode1002. 查找常用字符 | Find Common Characters
  • 原文地址:https://www.cnblogs.com/cobble19/p/3029288.html
Copyright © 2011-2022 走看看