精华内容
下载资源
问答
  • JAVA创建request ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest();

    JAVA获取HttpServlet上下文

    ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    HttpServletRequest request = attributes.getRequest();
    

    导入依赖

    	<dependency>
    		<groupId>javax.servlet</groupId>
    		<artifactId>javax.servlet-api</artifactId>
    	</dependency>
    	<dependency>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-web</artifactId>
    	</dependency>
    
    展开全文
  • java 获取上下文路径

    2018-03-28 19:08:43
    一、在java类中获取路径1.获取项目的目录,String filePath = LicValidate.class.getProtectionDomain().getCodeSource().getLocation().getFile();System.out.println(filePath);2.获取服务器的目录 //D:\apache-...

    一、在java类中获取路径

    1.获取项目的目录,

    String filePath = LicValidate.class.getProtectionDomain().getCodeSource().getLocation().getFile();

    System.out.println(filePath);


    2.获取服务器的目录

     //D:\apache-tomcat-7.0.82\webapps\ROOT\WEB-INF
                File directory = new File("");//设定为当前文件夹
    //          System.out.println(directory.getAbsolutePath());//D:\apache-tomcat-7.0.82\bin
                String path = directory.getAbsolutePath().replace("bin","webapps/ROOT/WEB-INF/license.lic");

    总结:两种获取方式,侧重点不一,一个是获取项目,一个是服务器。

    展开全文
  • 主要介绍了如何获得spring上下文的方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 一、获得都是当前运行文件在服务器的绝对路径在servlet里用:this.getServletContext().getRealPath(); 在struts用:this.getServlet().getServletContext().getRealPath(); 在Action里用:ServletActionContext....

    一、获得都是当前运行文件在服务器上的绝对路径
    在servlet里用:
    this.getServletContext().getRealPath();

    在struts用:
    this.getServlet().getServletContext().getRealPath();

    在Action里用:
    ServletActionContext.getRequest().getRealPath();

    以上三个获得都是当前运行文件在服务器上的绝对路径
    其实:
    request.getRealPath("url"); // 虚拟目录映射为实际目录
    request.getRealPath() 这个方法已经不推荐使用了,代替方法是:
    request.getSession().getServletContext().getRealPath();

    二、request获取各种路径总结
    request.getRealPath("url"); // 虚拟目录映射为实际目录
    request.getRealPath("./");    // 网页所在的目录
    request.getRealPath("../"); // 网页所在目录的上一层目录
    request.getContextPath();    // 应用的web目录的名称

    如http://localhost:7001/bookStore/
    /bookStore/ => [contextPath] (request.getContextPath())

    获取Web项目的全路径
    String strDirPath =request.getSession().getServletContext().getRealPath("/");

    以工程名为news为例: http://localhost:8080/news/main/list.jsp

    (1) 得到包含工程名的当前页面全路径request.getRequestURI()
    结果:/news/main/list.jsp

    (2) 得到工程名request.getContextPath()
    结果:/news

    (3) 得到当前页面所在目录下全名称request.getServletPath()
    结果:如果页面在jsp目录下 /main/list.jsp 

    (4) 得到IE地址栏地址:request.getRequestURL()
    结果:http://localhost:8080/news/main/list.jsp

    (5) 得到相对地址:
    request.getRequestURI()

    结果:/news/main/list.jsp  

    (6) 得到页面所在服务器的全路径
    application.getRealPath("页面.jsp")

    结果:D:\resin\webapps\news\main\list.jsp

    (7) 得到页面所在服务器的绝对路径:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent();
    结果:D:\resin\webapps\news

    三、在类中取得路径

    (1) 类的绝对路径:Class.class.getClass().getResource("/").getPath()
    结果:/D:/TEST/WebRoot/WEB-INF/classes/pack/

    例如:

    String path=this.getClass().getResource("/").getPath();//得到d:/tomcat/webapps/工程名WEB-INF/classes/路径  
           path=path.substring(1, path.indexOf("WEB-INF/classes"));//从路径字符串中取出工程路径

    (2) 得到工程的路径:System.getProperty("user.dir")

    结果:D:\TEST

    四、在Servlet中取得路径
    (1) 得到工程目录:request.getSession().getServletContext().getRealPath("") 参数可具体到包名。
    结果:E:\Tomcat\webapps\news

    import java.io.File;
    public class Test {
       public static void main(String[] args) throws Exception {
          System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));
          System.out.println(Test.class.getClassLoader().getResource(""));
          System.out.println(ClassLoader.getSystemResource(""));
          System.out.println(Test.class.getResource(""));
          System.out.println(Test.class.getResource("/")); //Class文件所在路径
          System.out.println(new File("/").getAbsolutePath());
          System.out.println(System.getProperty("user.dir"));
       }
    }

    五、系统路径说明: 

    System.getProperty("user.dir")

    如果是.bat或者.sh文件的话,那么该语句输出的时候.bat或者.sh所在的文件路径;

    如果是weblogic服务器且由类输出的话,该语句输出的路径是./startWebLogic.sh文件所在的路径

            String osName = System.getProperties().getProperty("os.name");  
            if(osName.equals("Linux")){  
                System.setProperty("CPATH",System.getProperty("user.dir")+"/cssconfig.properties");
            }else{  
                System.setProperty("CPATH",System.getProperty("user.dir")+"\\cssconfig.properties");
            }

    根据操作系统设定不同路径。

     

    转载于:https://www.cnblogs.com/shawWey/p/6897377.html

    展开全文
  • 本篇文章主要介绍了详解在SpringBoot应用中获取应用上下文方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 起因是睡觉的时候,我在想如果被面试问道:“你知道怎么可以获取上下文吗?”这个问题我感到很模糊,之前也写过获取上下文,但是记得好像有好几种方法,觉得有点混淆了,所以就想自己好好整理下。 网上搜集...
    起因是睡觉的时候,我在想如果被面试问道:“你知道怎么可以获取上下文吗?”这个问题我感到很模糊,之前也写过获取上下文,但是记得好像有好几种方法,觉得有点混淆了,所以就想自己好好整理下。

    网上搜集的context上下文的几种解释:

    Context上下文主要用来从上文传播对象到下文中,他是可以跨线程的。 就是说  class A中你把一个OBJ对象存放到了上下文容器中, 然后你以后的所有线程或你以下调用的所有类中都可以从上下文容器中取出 上面再class A中存放的OBJ对象。

    二:
    上下文即ServletContext,是一个全局的储存信息的空间,服务器启动,其就存在,服务器关闭,其才释放。
    所有用户共用一个ServletContext。所以,为了节省空间,提高效率,ServletContext中,要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。如,做一个购物类的网站,要从数据库中提取物品信息,如果用session保存这些物品信息,每个用户都访问一便数据库,效率就太低了;所以要用来Servlet上下文来保存,在服务器开始时,就访问数据库,将物品信息存入Servlet上下文中,这样,每个用户只用从上下文中读入物品信息就行了。
    三:
    A naming service associates names with objects. An association between a name and an object is called a binding, and a set of such bindings is called a context. A name in a context can be bound to another context that uses the same naming conventions; the bound context is called a subcontext. For example, in a filesystem, a directory (such as /temp) is a context that contains bindings between filenames and objects that the system can use to manipulate the files (often called file handles). If a directory contains a binding for another directory (e.g., /temp/javax), the subdirectory is a subcontext. 
    (http://blog.csdn.net/centurymagus/article/details/2025455)

    四:java中context上下文
    http://blog.csdn.net/xiaokui008/article/details/8454949
    .......

    我的理解就归结为"容器+环境".

    获取上下文:

    ServletContext 、ActionContext以及ServletActionContext上下文的介绍



    Spring上下文(ApplicationContext)

    方法一:ClassPathXmlApplicationContext --从classpath路径加载配置文件,创建Bean对象
    ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    ClassName clazz =(ClassName)ctx.getBean("beanName");

    方法二:FileSystemXmlApplicationContext  --从指定的目录中加载
    ApplicationContext ctx = new FileSystemXmlApplication Context("src/applicationContext.xml");
    ClassName clazz =(ClassName)ctx.getBean("beanName");

    方法三:Spring提供的工具类WebApplicationContextUtils获取ApplicationContext对象(通过ServletContext对象获得ApplicationContext对象,然后根据它获得需要的类实例)
    HttpSession session =request.getSession();
    ServletContext context = session.getServletContext();  //arg0.getSession().getServletContext();
    ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(context);
    ClassName clazz =(ClassName)ctx.getBean("beanName");

    上面两个工具方式的区别是,前者在获取失败时抛出异常,后者返回null。

    方法四:继承自抽象类ApplicationObjectSupport
    说明:抽象类ApplicationObjectSupport提供getApplicationContext()方法,可以方便的获取到ApplicationContext。
    Spring初始化时,会通过该抽象类的setApplicationContext(ApplicationContext context)方法将ApplicationContext 对象注入。

    例如:
    import org.springframework.context.support.ApplicationObjectSupport;

    public class ContextOne extends ApplicationObjectSupport
    {
        ......
    }
    ........
    ContextOne one = new ContextOne();
      one.getApplicationContext();


    方法五:继承自抽象类WebApplicationObjectSupport
    说明:类似上面方法,调用getWebApplicationContext()获取WebApplicationContext

    例如:
    import org.springframework.web.context.support.WebApplicationObjectSupport;
    public class ContextOne extends WebApplicationObjectSupport {
        .......
    }
    ........
    ContextOne one = new ContextOne();
      one.getApplicationContext();


    方法六:实现接口ApplicationContextAware
    当一个类实现了ApplicationContextAware接口后,这个类就可以获得Spring配置文件中的所引用到的bean对象。
    说明:实现该接口的setApplicationContext(ApplicationContext context)方法,并保存ApplicationContext 对象。
    Spring初始化时,会通过该方法将ApplicationContext对象注入。

    例如:
    package com.auth.util;
    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    /**
     * 类:Context.java
     * 作者: LYX
     * 时间:2015-11-3
     * 说明:通过接口ApplicationContextAware获得spring上下文
     */
    public class Context implements ApplicationContextAware {
     private static ApplicationContext ctx;
    //设置ApplicationContext对象
     public void setApplicationContext(ApplicationContext context)
       throws BeansException {
      // TODO Auto-generated method stub
       ctx=context;
     }
     //通过beanName获得实例
     public static Object getBean(String beanName)
     {
      return ctx.getBean(beanName);
     }
    }

    -----------------------------
    展开全文
  • Java获取HTTP请求的上下文绝对路径

    千次阅读 2018-11-09 09:05:31
    本文介绍使用Java获取一个请求的完整的 协议名+主机+端口号,如:http://127.0.0.1:14530。获取该地址后,可以设为全局变量(contextPath),在系统页面中作为路径前缀使用。 请参考以下代码片段: // 获取HTTP...
  • * @func 上下文环境工具类 * @author 皮锋 * @date 2016/12/26 */ public class ContextUtils { /** * @func SpringMvc下获取request * @author 皮锋 * @date 2016/12/26 * @return ...
  • Java上下文 Context的理解

    千次阅读 2020-11-03 11:53:18
    Java上下文 Context的理解 前言 通过servlet绑定数据使用 一、简易化理解 上下文其实是一个抽象的概念。我们常见的上下文有Servlet中的pageContext,访问JNDI时候用的Context。其实他们真正的作用就是承上启下。...
  • Java线程上下文-ThreadLocal的那些事

    千次阅读 2018-07-15 22:25:29
    但实际存储数据的为下面的Entry。 static class Entry extends WeakReference < ThreadLocal <?>> { /** The value associated with this ThreadLocal. */ Object value; Entry(ThreadLocal<?>...
  • java web上下文理解

    万次阅读 多人点赞 2018-03-01 17:34:55
    web上下文可以看成web应用的运行环境,一般用context名字来修饰,里面保存了web应用相关的一些设置和全局变量2.ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,其才释放。...
  • java中的上下文什么意思? 摘抄的:所谓上下文,它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息上下文中,于是在我们使用这个数据源的...
  • 主要给大家介绍了关于如何在Spring异步调用中传递上下文的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • 虽然并不是真正意义的“同一时间点”,而是多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会获得一定的时间片运行。 再后来发展到多线程技术,使得在一个程序...
  • java上下文

    2019-02-21 22:50:46
    1.context就是“容器”,放的就是应用程序的所有资源,要用...web上下文可以看成web应用的运行环境,一般用context名字来修饰,里面保存了web应用相关的一些设置和全局变量2.ServletContext,是一个全局的储存信息...
  • } } java.lang.Thread#init(java.lang.ThreadGroup, java.lang.Runnable, java.lang.String, long, java.security.AccessControlContext, boolean) if (inheritThreadLocals && parent.inheritableThreadLocals !...
  • java中什么是上下文

    千次阅读 2017-07-11 21:31:03
    它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息加载到上下文中,于是在我们使用这个数据源的时候,就需要先获得系统的上下文,然后再通过...
  • 本篇是整理《java多线程编程核心技术》和《java并发编程的艺术》中对于死锁和上下文切换 的学习总结!
  • package com.ricoh.rapp.ezcx.iwbservice.util; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; ...import org.springframework.context.Applicati...
  • java中的上下文

    2018-04-16 14:20:00
    java中的上下文一直迷惑着我,不了解它到底是什么东西。最近闲来无事查阅了一些资料,结合自己的一些实例简单理解如下: 所谓上下文,就是一个全局存储信息的空间(也就是一个作用域)。如ServletContext,服务启动...
  • 线程数量设置太大,可能带来资源的过度竞争,导致上下文切换,带来的额外的系统开销 上下文切换 1.在单处理器时期,操作系统就能处理多线程并发任务,处理器给每个线程分配CPU时间片,线程在CPU时间片内执行任务...
  • java中什么是上下文(servletContext)

    千次阅读 2018-07-19 09:38:00
    它是用来存储系统的一些初始化信息,例如在jboss中通过配置文件指定了数据源,那么在jboss启动的时候就把这个文件的相关信息加载到上下文中,于是在我们使用这个数据源的时候,就需要先获得系统的上下文,然后再通过...
  • 5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
  • 上下文切换的概念 CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。 在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。 所以任务从保存...
  • 第一种、参数 @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, HttpServletResponse resp){  } 第二种、注解 ...第三种、上下文获取 1、...
  • java 中的context上下文

    千次阅读 2018-09-06 09:43:28
    Context在Java中的出现是如此频繁,但其中文翻译“上下文”又是如此诡异拗口,因此导致很多人不是很了解Context的具体含义是指什么,所以很有必要来深究一下这词的含义。先来举几个JAVA中用到Context的例子(1)JNDI...
  • web.xml 配置: ... protected void doPost(HttpServletRequest request, HttpServletResponse response) ... System.out.println("====上下文中配置的1=========="+user); }

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 270,637
精华内容 108,254
关键字:

java获取上下文

java 订阅