`

spring mvc4获取服务器java版本web容器等信息

 
阅读更多

今天在阅读springMVC源码的过程中,有了Aware的概念

其中有个接口叫做EnvironmentAware 环境通知。

可以获取到系统的环境信息,于是就研究了一下,得到的最终结果如下图:



 

具体获取步骤,代码如下:

创建类:SystemController 实现接口 EnvironmentAware

 

package org.moon.framework.controller;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.core.env.MutablePropertySources;
import org.springframework.core.env.PropertySource;
import org.springframework.core.env.PropertySources;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.context.support.StandardServletEnvironment;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;


/**
 * 获取系统环境信息
 */

@Controller
@RequestMapping(value = "/system")
public class SystemController implements EnvironmentAware {


    private Environment environment = null;

    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }

    private Properties properties = null;

    /**
     * 操作系统及服务器信息
     */
    private final String PROPERTIESKEY = "systemProperties";


    private String defaultPropertiesKey = "";

    public String getDefaultPropertiesKey() {
        return defaultPropertiesKey;
    }

    public void setDefaultPropertiesKey(String defaultPropertiesKey) {
        this.defaultPropertiesKey = defaultPropertiesKey;
    }


    private StandardServletEnvironment getStandardServletEnvironment(){

        StandardServletEnvironment standardServletEnvironment = (StandardServletEnvironment) environment;

        return standardServletEnvironment;
    }


    private MutablePropertySources getMutablePropertySources(){
        MutablePropertySources mutablePropertySources = getStandardServletEnvironment().getPropertySources();

        return mutablePropertySources;
    }

    private PropertySource getPropertySource(){
        String propertiesName = getDefaultPropertiesKey();
        if(StringUtils.isBlank(propertiesName)){
            throw new RuntimeException("please set default properties key....");
        }
        PropertySource systemProperties =  getMutablePropertySources().get(propertiesName);

        return systemProperties;
    }

    private Properties getProperties(){
        Properties properties = (Properties) getPropertySource().getSource();

        return properties;
    }

    private String getSystemConfigInfo(String key){
        properties = getProperties();
        String value = properties.get(key)+"";
        return  value;
    }


    /**
     * 将服务器及服务器系统,web容器,java环境等全部信息封装成map
     * @return
     */
    @RequestMapping("/computerConfig")
    @ResponseBody
    public Map<String,Object> getComputerConfig()  {
        Map<String,Object> map = new HashMap<String, Object>();
        setDefaultPropertiesKey(PROPERTIESKEY);
        Properties properties = getProperties();
        for (Object key : properties.keySet()) {
            map.put(key.toString(),properties.get(key));
        }
        return map;
    }





}

 我们来前端访问试试



 希望对大家有帮助吧!

  • 大小: 103.1 KB
  • 大小: 66.5 KB
分享到:
评论

相关推荐

    基于maven+spring+spring mvc+mybatis 框架web项目

    这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC和MyBatis,这四个组件共同构成了一个强大且灵活的Java Web开发环境。 **Maven**是Apache软件基金会开发的一款项目管理和集成工具。它通过...

    spring mvc restful service

    Spring MVC 是一个强大的Java框架,用于构建Web应用程序,特别是对于基于模型-视图-控制器(MVC)架构的应用。在本文中,我们将深入探讨如何利用Spring MVC创建RESTful服务,这些服务可以处理字符串、JSON和XML数据...

    Java EE企业级应用开发教程(Spring Spring MVC MyBatis)(黑马程序员编著)

    本书的核心在于深入浅出地介绍如何使用Java EE技术栈,特别是Spring、Spring MVC和MyBatis这三个关键框架,来构建高效、可维护的Web应用程序。 Java EE(Enterprise Edition)是Java平台的一个版本,主要用于开发和...

    Spring MVC所需jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...

    maven与spring MVC

    【标题】"maven与spring MVC"涉及到的是Java Web开发中的两个关键组件——Maven和Spring MVC,它们在构建和管理复杂项目时起着至关重要的作用。Maven是一个项目管理和综合工具,它通过提供一个标准化的构建过程和...

    Spring5.1.4核心jar包,包括mvc,webmvc

    Spring框架是Java开发中最常用的轻量级框架之一...以上是Spring 5.1.4和Spring MVC的核心知识点,它们在Java Web开发中起着至关重要的作用。通过这些组件和特性,开发者可以构建出高效、灵活且易于维护的Web应用程序。

    Java Web实战 - Spring MVC案例:设计一个简单的Web应用.pdf

    Spring 提供的 MockMVC 测试框架允许我们在不启动 Web 服务器和浏览器的情况下,对 Spring MVC 控制器进行单元测试。MockMVC 模拟 HTTP 请求并直接调用控制器,然后检查响应结果,这极大地简化了测试过程,并提高了...

    jetty 手动 加载spring mvc demo

    4. **配置Jetty**:在Java代码中,你需要创建一个Jetty的Server实例,并配置ServletContextHandler来加载Spring MVC的配置文件。例如,你可以使用`WebAppContext`来加载你的Web应用。 5. **启动Jetty**:最后,启动...

    Spring MVC框架的各种依赖包下载

    6. **JSP和Servlet API**:Spring MVC依赖于Servlet容器(如Tomcat、Jetty)来运行,因此需要servlet-api和jsp-api的jar包,通常由Web应用服务器提供,但有时也需要在项目中显式声明。 7. **Jackson或Gson**:用于...

    Java EE互联网轻量级框架整合开发 SSM框架(Spring MVC+Spring+MyBatis)和Redis实现.rar

    Java EE互联网轻量级框架整合开发,主要集中在SSM框架的使用上,即Spring MVC、Spring和MyBatis的集成,以及Redis缓存技术的引入。这个主题旨在提高Web应用的开发效率,优化性能,同时降低项目的复杂度。 首先,...

    JavaSpringMvc的jar包

    Java Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,用于构建可维护、可扩展的 MVC(Model-View-Controller)应用程序。Spring MVC 提供了强大的依赖注入(Dependency ...

    IDEA 搭建Spring MVC环境示例二

    Spring MVC是Spring框架的一个模块,它为构建Web应用程序提供了模型-视图-控制器(MVC)架构。Maven则是一个强大的项目管理和依赖管理工具,能够帮助我们简化项目的构建过程。 首先,确保你已经安装了IntelliJ IDEA...

    Spring MVC 第一个例子

    Spring MVC 是 Spring 框架的一个重要模块,它为构建基于Java的Web应用程序提供了一个强大的模型-视图-控制器(MVC)架构。Spring MVC 的设计允许开发者将业务逻辑、数据处理和用户界面分离,从而实现更好的可维护性...

    spring mvc

    Spring MVC 是 Spring 框架的一部分,主要用于构建基于 Java 的 Web 应用程序。它是一种模型-视图-控制器(Model-View-Controller,MVC)设计模式的实现,用于简化Web应用程序的开发过程。 **特点:** - **轻量级且...

    Eclipse+tomcat+maven 配置Spring mvc图文教程.zip

    在IT行业中,构建一个基于Java的Web应用常常涉及到多个组件的集成,如Eclipse作为IDE,Tomcat作为应用服务器,Maven作为项目管理和构建工具,以及Spring MVC作为Web层的框架。本教程将深入探讨如何将这些组件整合在...

    新SSH(spring、spring mvc、hibernate)框架结构的java web案例实践

    在IT行业中,SSH框架组合是Java Web开发中的经典选择,由Spring、Spring MVC和Hibernate三个主要组件构成。这个"新SSH"案例实践旨在提供一个全面的教程,帮助开发者理解和掌握这三个框架如何协同工作以构建高效、...

    自动配置和Spring MVC来创建一个RESTful Web服务.rar

    本压缩包文件“自动配置和Spring MVC来创建一个RESTful Web服务.rar”提供了一个详细指南,教你如何利用Spring Boot和Spring MVC创建RESTful Web服务。以下是关于这些知识点的详细解释: 1. **Spring Boot**: ...

    spring mvc+spring+hibernate+maven 企业级员工信息管理系统.zip

    《基于Spring MVC、Spring、Hibernate和Maven的企业级员工信息管理系统》 在现代软件开发领域,企业级应用的构建往往离不开高效、稳定的框架支持。本系统以“spring mvc+spring+hibernate+maven”为核心技术栈,...

    spring 整合spring mvc

    Spring框架是Java开发中广泛应用的一个开源框架,它主要负责提供依赖注入、面向切面编程以及容器管理等核心功能。Spring MVC则是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。本文将...

Global site tag (gtag.js) - Google Analytics