JAVA中ResourceBundle使用详解(一)

article/2025/9/22 21:14:31

最近在看HttpServlet源码时候,碰到ResourceBundle的使用,就此记录一下。

一、ResourceBundle是啥

在package java.util;下

这个类主要用来解决国际化和本地化问题。国际化和本地化是啥,另一篇文章有写,这里直接上用法。

这个类获取的属性也是来自于properties属性文件,获取properties属性有两个方式,一是通过Properties;二是通过ResourceBundle方式。ResourceBundle与Properties的区别在于ResourceBundle通常是用于国际化的属性配置文件读取,Properties则是一般的属性配置文件读取。

Properties与ResourceBundle两个类都可以读取属性文件中以key/value形式存储的键值对,但是ResourceBundle读取属性文件时操作相对简单

Properties类继承Hashtable,将键值对存储在集合中。基于输入流从属性文件中读取键值对,load()方法调用完毕,就与输入流脱离关系,不会自动关闭输入流,需要手动关闭。Properties这个本文不作展开。

而ResourceBundle该类是基于类读取属性文件:他是将属性文件当作类,意味着属性文件必须放在包中,使用属性文件的全限定性类名而非路径指代属性文件,简单的说,就是将文件放在包中,通过使用类的全限定方式来指定,而不是通过指定路径的方式。如下:

/*** 基于类读取属性文件:该方法将属性文件当作类来处理,属性文件放在包中,使用属性文件的全限定性而非路径来指代文件*/@Testpublic void demo() {ResourceBundle bundle = ResourceBundle.getBundle("com.four.properties.demo");//这里就可以直接获取该配置文件的属性了System.out.println("driver=" + bundle.getString("jdbc.driver"));System.out.println("url=" + bundle.getString("jdbc.url"));System.out.println("username=" + bundle.getString("jdbc.username"));System.out.println("password=" + bundle.getString("jdbc.password"));System.out.println("-----------------------------");System.out.println("遍历属性文件");Enumeration<String> keys = bundle.getKeys();while (keys.hasMoreElements()) {String key = keys.nextElement();System.out.println(key + "=" + bundle.getString(key));}}

再说的简单点,就是通过key来获取properties属性配置文件的value,完了,就这样,没啥了

二、HttpServlet中的使用

HttpServlet里使用的是

private static ResourceBundle lStrings = ResourceBundle.getBundle("javax.servlet.http.LocalStrings");

这里取得是本地的设置,这个设置来源于这个文件,注意看,他是放在包中的,也是通过类的全限定路径指定文件javax.servlet.http.LocalStrings。
在这里插入图片描述
LocalStrings属性配置文件的配置

err.cookie_name_is_token=Cookie name \"{0}\" is a reserved token
err.cookie_name_blank=Cookie name must not be null or empty
err.io.nullArray=Null passed for byte array in write method
err.io.indexOutOfBounds=Invalid offset [{0}] and / or length [{1}] specified for array of size [{2}]
err.io.short_read=Short Read
err.ise.getWriter=Illegal to call getWriter() after getOutputStream() has been called
err.ise.getOutputStream=Illegal to call getOutputStream() after getWriter() has been calledhttp.method_not_implemented=Method {0} is not defined in RFC 2068 and is not supported by the Servlet API http.method_get_not_supported=HTTP method GET is not supported by this URL
http.method_post_not_supported=HTTP method POST is not supported by this URL
http.method_put_not_supported=HTTP method PUT is not supported by this URL
http.method_delete_not_supported=Http method DELETE is not supported by this URL

在这里插入图片描述
这是他的doget处理方法,通过获取http.method_get_not_supported获取valueHTTP method GET is not supported by this URL,所以当你servlet继承这个类的时候,doget用父类的处理方式,就会出现这个错误,就是从这里拿到的
在这里插入图片描述


http://chatgpt.dhexx.cn/article/6UbP1oTp.shtml

相关文章

JAVA中ResourceBundle使用详解

JAVA中ResourceBundle使用详解 这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念&#xff0c;两者都是一起出现的。可以说&#xff0c;国际化的目的就是为了实现本地化。比如对于“取消”&#xff0c;中文中我们使用“取消”来表示&#xff0c;而英文中我…

突发!PHP服务器被攻击,恶意代码合入git仓库

本文转载自 新智元 PHP的git服务器被攻击了&#xff0c;合入了两个恶意commit&#xff0c;nikic发信称将迁移仓库到GitHub上。代码中竟然包括「Zerodium」&#xff0c;莫非背后有什么交易&#xff1f; PHP的一名贡献者Nikita Popov (网名nikic)公开发信称&#xff0c;php的gi…

搭建自己个人服务器

很高兴能够跟大家分享我写的这篇文章&#xff01; 搭建自己的个人服务器主要分为三步&#xff0c;分别为1、通过腾讯云或者阿里云、华为云等购买云服务器&#xff0c;2、申请域名并解析&#xff0c;3、开发自己程序或者前后端之类的部署在服务器 1、通过腾讯云或者阿里云、华…

PHP - 如何下载服务器上的文件

1.应用场景 需要将服务器上的文件&#xff0c;下载到客户端&#xff08;浏览器&#xff09; 补充场景&#xff1a; PHP如何下载远程服务器上的文件到本地服务器 2.学习/实践 1. 文档 请教PHP如何下载远程服务器上的文件到本地服务器上-php教程-PHP中文网 2. 整理输出 方式有…

PHP获取当前服务器版本,Ip等详细信息

新做的一个项目后台几乎完了&#xff0c;简单加了一个获取服务器详情的页面,记录一下&#xff0c;留着备用&#xff01; 服务器IP地址 $_SERVER[SERVER_ADDR]服务器域名 $_SERVER[SERVER_NAME] 服务器端口 $_SERVER[SERVER_PORT]服务器版本 php_uname(s).php_unam…

微信小程序之PHP服务器搭建

在去年的时候&#xff0c;参加过学校的一个创业活动&#xff0c;在团队决定做一个关于图书的微信小程序以后&#xff0c;我负责做微信小程序的后台程序&#xff0c;因为初次接触&#xff0c;决定选用较为简单的PHP作为后台语言&#xff0c;实现了微信小程序的一些基本功能&…

【树莓派】搭建LAMP(Linux Apache Mysql PHP)服务器

基于树莓派搭建LAMP&#xff08;Linux Apache Mysql PHP&#xff09;服务器 配置树莓派 树莓派 连接WIFI 配置SSH 连接SSH 修改密码并解锁root用户 固定IP 调整服务器性能 Apache Mysql PHP 内网穿透 本文主要介绍了树莓派购买后的配置方法&#xff0c;并在树莓派上搭建LAMP&am…

PHP分布式部署代码同步Git实现

PHP 分布式部署后 代码自动同步实现 项目架构如下: 需要更新代码时我们只需要把代码传到主服务器后通过定时任务主服务器自动push 代码到Git服务端,之后其他从服务器则自动从Git云端拉取最新的代码即可 需要用到 expect 软件 安装expect yum install expect定时push shell…

大部分PHP程序员,都搞不懂如何安全代码部署

总结 1.创建一个普通用户账户 2.先设置所有文件夹为只读不可写 sudo chmod -R a-w /path/to/directory3.再把php执行的用户组加上 sudo chown -R username:groupname /path/to/php/files4.再把可执行的文件加入 sudo chmod -R 755 /path/to/php/files关于权限 理清PHP在Lin…

PHP项目部署到云服务器(CentOS+HTTP+PHP+MYSQL)

如何将写好的项目部署到云服务器&#xff0c;让外界可以通过互联网访问项目网站。以下使用的是腾讯云服务器操作&#xff0c;系统环境为CentOS7.9。 一、购买云服务器 打开腾讯云官网&#xff0c;注册好自己的平台账号。如果是新人的话去新人专区购买服务器&#xff0c;性价比…

phpstudy搭建nginx+php服务器显示php网页

下载了phpstudy-all.bin一键安装包&#xff0c;管理员执行./phpstudy-all.bin安装完成后&#xff0c;在火狐浏览器上输入:localhost 测试服务器是否从成功。 遇到的问题&#xff1a; 默认打开的web页面是/usr/share/nginx/www/index.html页面&#xff0c;如下 初次尝试解决&a…

php如何启动内置web服务器

前言&#xff1a; PHP从5.4开始&#xff0c;就提供了一个内置的web服务器。 当然这个主要是用来做本地的开发用的。 不能用于线上环境。 现在我就介绍一下这个工具如何使用。 前提&#xff1a; php已经加入到本地电脑的环境变量中 命令中输入&#xff1a; cd 项目目录 php -S…

公司官网建站笔记(二):在云服务器部署PHP服务(公网访问首页)

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/124659175 各位读者&#xff0c;知识无穷而人力有穷&#xff0c;要么改需求&#xff0c;要么找专业人士&#xff0c;要么自己研究 红胖子(红模仿)的博…

阿里云ECS服务器Linux环境下配置php服务器(三)--项目部署篇

在前两篇里&#xff0c;我们分别介绍了如何购买阿里云服务器&#xff0c;安装基本软件和配置&#xff08;请看阿里云ECS服务器Linux环境下配置php服务器(一)&#xff0d;&#xff0d;基础配置篇&#xff09; 以及如何安装使用phpMyAdmin&#xff08;请看阿里云ECS服务器Linux环…

阿里云ECS服务器Linux环境下配置php服务器(二)--phpMyAdmin篇

上一篇讲了php服务器的基本配置&#xff0c;我们安装了apache&#xff0c;php&#xff0c;还有mysql&#xff0c;最后还跑通了一个非常简单的php页面&#xff0c;有兴趣的朋友可以看我的这篇博客&#xff1a; 阿里云ECS服务器Linux环境下配置php服务器(一) 这一次我们来继续说…

微信小程序wx.uploadFile(上传文件)PHP服务器获取formData的数据

例如下面的代码是微信小程序上传图片的伪代码 wx.chooseImage({success: function(res) {var tempFilePaths res.tempFilePathswx.uploadFile({url: https://example.weixin.qq.com/upload, //仅为示例&#xff0c;非真实的接口地址filePath: tempFilePaths[0],name: file,fo…

树莓派4B搭建轻量级Web服务器 (Nginx,sqlite,php)

树莓派硬件的配置&#xff0c;包括外置硬盘的挂载和设置&#xff0c;系统的烧录和设置就略了&#xff0c;详情见第一篇文章。 一&#xff1a;更新源安装Nginx服务器 sudo apt-get updatesudo apt-get install nginx二&#xff1a; 启动Nginx服务器 //启动服务器的两种方式sudo…

一、用XAMPP搭建本地PHP服务器,运行php文件

一、XAMPP下载安装 点击下载&#xff0c;下载完成之后执行安装文件安装&#xff0c;一路next&#xff0c;完成。运行界面如下&#xff1a; 二、启动 这里&#xff0c;我是把XAMPP安装在了D:\XAMPP文件夹下。 点击第一行Apache后面的Start是启动XAMPP本地虚拟机(默认端口8080)…

Android手机利用KSWEB+端口转发搭建PHP服务器

Android手机利用KSWEB端口转发搭建PHP服务器 转载来自&#xff1a;https://golthr.gitee.io/articles/202002281619/ KSWEB是一款基于Android的开源服务器&#xff0c;可通过Lighttpd/Nginx/ApachePHPMySql在Android手机上搭建起自己的私人PHP WEB服务器。软件提供了上述功能…

PHP搭建服务器

1. 认识互联网 思考&#xff1a;平常我们上网的时候是怎么实现的&#xff1f; 引入&#xff1a;上网其实打开浏览器&#xff0c;然后输入一个URL&#xff0c;最后就看到了网站打开的效果。 1.1. 普通用户访问网站【了解】 定义&#xff1a;URL&#xff1a;Uniformed Resource L…