js中获取后台properties文件中的值

js中获取application.properties文件中的值

此示例是一个maven工程 , spring boot框架

想着用JQuery.i18n.properties插件 , 读取src/main/resource下的properties文件 , 但是没有成功 , 不知道是我写的不对 , 还是就不能被读取 , 也请看到此文的知道答案的告知下

此方案不行后 , 改变策略 , 在后台读取后 , 返回给前台 .

即 发送一个ajax请求 , 后台读取properties文件后 , 返回一个Properties对象 , ajax以json格式接收

工程结构

index.js

$.ajax({
	url:"/getProperties",
	type:"GET",
	dataType:"json",
	success:function(data){
		alert(data["spring.datasource.driver-class-name"])
	}
})

PropertiesUtil.java

/**
 * 
 */
package com.cry.shop.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 读取properties的工具类
 * @author CRY
 *
 */
public class PropertiesUtil {
    /**
     * 读取properties
     *  
     * @param name 需要读取的文件路径
     * @return Properties
     */
    public static Properties getReadAbleProperties(String name) {

        InputStream ins = PropertiesUtil.class.getResourceAsStream(name);

        // 生成properties对象
        Properties p = new Properties();

        try {
            p.load(ins);
            ins.close();
        }
        catch (IOException e) {
            e.printStackTrace();
        }

        return p;

    }

}

PropertiesController.java

package com.cry.shop.controller.front;

import java.util.Properties;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.cry.shop.utils.PropertiesUtil;

@Controller
public class PropertiesController {
    @GetMapping("/getProperties")
    @ResponseBody
    public Properties getProperties() {
        Properties prop = PropertiesUtil.getReadAbleProperties("/application.properties");
        return prop;
    }
}

ApplicationController.java

package com.cry.shop.controller.front;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;

@EnableAutoConfiguration
@ComponentScan(value = { "com.cry.shop.controller.*", "com.cry.shop.service.impl" })
@MapperScan(value = "com.cry.shop.mapper")
public class ApplicationController {
	public static void main(String[] args) {
		SpringApplication.run(ApplicationController.class, args);
	}
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在 Vue 获取 Spring Boot 后台的 session,需要在后台返回的响应头设置 session 的信息,然后在 Vue 可以通过 axios 拦截器获取到响应头的 session 信息。 在 Spring Boot ,可以使用 Spring Session 来处理 session,具体操作如下: 1. 引入 Spring Session 的依赖 在 pom.xml 文件添加以下依赖: ```xml <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-core</artifactId> </dependency> ``` 2. 配置 Redis Spring Session 默认使用 Redis 存储 session,需要在 application.properties 文件配置 Redis: ```properties spring.redis.host=localhost spring.redis.port=6379 ``` 3. 配置 Spring Session 在 Spring Boot 启动类上添加 @EnableRedisHttpSession 注解,开启 Spring Session: ```java @SpringBootApplication @EnableRedisHttpSession public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` 4. 设置 session 在需要设置 session 的地方,可以使用 HttpServletRequest 的 getSession() 方法来获取 session 对象,然后设置相应的 session 属性: ```java @Controller public class TestController { @GetMapping("/setSession") @ResponseBody public String setSession(HttpServletRequest request) { HttpSession session = request.getSession(); session.setAttribute("username", "test"); return "session set success"; } } ``` 在 Vue 代码,可以使用 axios 的拦截器来获取响应头的 session 信息,具体代码如下: ```javascript import axios from 'axios'; axios.interceptors.response.use( response => { const session = response.headers['session']; if (session) { // 将 session 存储到本地 localStorage.setItem('session', session); } return response; }, error => { return Promise.reject(error); } ); ``` 在需要使用 session 的地方,可以通过 localStorage.getItem('session') 来获取存储在本地的 session 信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值