![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 59
May的博客
这个作者很懒,什么都没留下…
展开
-
SpringBoot项目打成jar包后,无法读取resources下的文件
最近在使用aspose将word转PDF并进行签章打印,读取凭证文件时遇到一个问题,凭证文件放在resources目录下,Windows下可正常读取,但是打成jar包部署到Linux服务器上却取不到文件。由此问题引出以下思考:在本地项目读取文件时this.getClass().getClassLoader().getResource("").getPath()+fileNamethis.getClass().getResource("/filename").getPath()都是可以成功的;但是j原创 2021-04-14 15:46:05 · 2547 阅读 · 0 评论 -
网上商城留言板的实现——用户添加留言
/** *刘梦冰发表于2015-4-26凌晨 */用户添加留言功能描述:用户在前台hostbook.jsp页面的表单中输入留言信息,点击提交按钮,将留言信息提交给表单form的action属性所对应的servlet(AddMessageServlet,其URL-pattern为addMessage.do);在AddMessageServlet中获取表单中用户输入的留言信息,获得到留言信息之后调用原创 2015-04-26 00:52:42 · 5615 阅读 · 0 评论 -
eclipse 快捷键大全
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上转载 2015-04-27 13:24:25 · 584 阅读 · 0 评论 -
User-Agent
一、什么是User-AgentUser-Agent是Http协议中的一部分,属于头域的组成部分,User Agent也简称UA。用较为普通的一点来说,是一种向访问网站提供你所使用的浏览器类型、操作系统及版本、CPU 类型、浏览器渲染引擎、浏览器语言、浏览器插件等信息的标识。UA字符串在每次浏览器 HTTP 请求时发送到服务器!浏览器UA 字串的标准格式为: 浏览器标识 (操作系统标识; 加密等级标识原创 2015-04-23 23:08:26 · 1205 阅读 · 0 评论 -
TCP/IP、Http、Socket的区别
网络由下往上分为 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 通过初步的了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层, 三者从本质上来说没有可比性, socket则是对TCP/IP协议的封装和应用(程序员层面上)。 也可以说,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输, 而HTTP是应用层协议,主要解决如何包装数据转载 2015-05-29 00:00:59 · 517 阅读 · 0 评论 -
判断一个字符串是否为数字
char[] ch=str.toCharArray();for(int i=0;i < ch.length;i++) { if(Character.isDigit(ch[i])) { System.out.println("该字符串是数字"); }}原创 2015-11-01 21:25:13 · 548 阅读 · 0 评论 -
socket编程总结
一,网络编程中两个主要的问题一个是怎样准确的定位网络上一台或多台主机,还有一个就是找到主机后怎样可靠高效的进行传输数据。在TCP/IP协议中IP层主要负责网络主机的定位,传输数据的路由,由IP地址能够唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的传输数据机制,这是网络编程的主要对象,一般不须要关原创 2015-05-28 23:54:12 · 870 阅读 · 0 评论 -
I/O流(三)—对象的序列化和反序列化
一、序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 2) 在网络上传送对象的字节序列。 在很多应用中,需要对某些对象进行原创 2015-05-26 19:20:02 · 1490 阅读 · 0 评论 -
网上商城—管理员修改商品
管理员修改商品(图书、服装、电器、零食)先上本人的项目相应图片: (与网上商城—管理员增加商品http://blog.csdn.net/lmb55/article/details/45288321 类似)功能描述:当以管理员的身份登录时,页面跳转到相应的管理商铺(shopkeeper.jsp)的页面(有关管理员和普通用户身份的验证请参看本人的原创 2015-04-26 21:55:36 · 3278 阅读 · 0 评论 -
网上商城留言板的实现——留言展示到留言板
/** *刘梦冰发表于2015-4-26凌晨 */留言展示到留言板功能描述:当用户访问留言板(guestbook.jsp)时,会调用GetMessageServlet.java,该servlet内调用数据库操作(MessageDaoImpl.java中的selectMessage()方法查询所有留言)并进行页面跳转(跳转到guestbook.jsp),展示留言信息(将查回的留言信息交由req原创 2015-04-26 02:07:34 · 4174 阅读 · 0 评论 -
两类传输协议:TCP&UDP总结
两类传输协议:TCP;UDPTCP是Tranfer Control Protocol的 简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建 立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接原创 2015-05-28 23:42:34 · 1161 阅读 · 0 评论 -
I/O流(四)—java如何添加到文件尾
如何添加到文件尾:* 默认的情况是,新内容覆盖旧内容。* 添加到尾的两种方式* 构造成器中指示定参数* 使用随机文件* 把第二个参数设为true* new FileOutputStream(“a.txt”,true)* 这样的弱点是:不能在旧的内容上修改,只能添加随机读写* 随机的含义* 可以跳到任意位置读写* 跳的单位是:字节原创 2015-05-26 20:14:39 · 2144 阅读 · 0 评论 -
网上商城首页实现总结(一)
实现一: 大前提:商城只卖四种商品(book,clothes,electric,snack),要在首页上分四行分别显示这四种商品; 先上一个效果图: 实现类: Product.java BooksDaoImpl.java(接口BooksDao.java) ClothesDaoImpl.java(接口ClothesD原创 2015-04-25 17:53:30 · 1652 阅读 · 0 评论 -
BigDecimal.setScale 处理java小数点
BigDecimal.setScale()方法用于格式化小数点:setScale(1)表示保留一位小数,默认用四舍五入的方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 setScale(1,BigDecimal.ROUND_HALF_原创 2015-12-10 19:11:50 · 10684 阅读 · 0 评论 -
网上商城—管理员增加商品
/** *刘梦冰发表于2015-4-26 */管理员增加商品(图书、服装、电器、零食)先上本人的项目相应图片: 功能描述:当以管理员的身份登录时,页面跳转到相应的管理商铺(shopkeeper.jsp)的页面(有关管理员和普通用户身份的验证请参看本人的其他博客),点击“增加图书、增加服装、增加电器、增加零食”都会跳转到填写要增加的商品信息的addproduct.jsp页面,在该页面的for原创 2015-04-26 14:49:21 · 7473 阅读 · 1 评论 -
网上商城—管理员删除商品
管理员删除商品(图书、服装、电器、零食)【要删除商品时只需要给出相应商品的ID(主键)即可】先上本人的项目相应图片: 功能描述: 当以管理员的身份登录时,页面跳转到相应的管理商铺(shopkeeper.jsp)的页面(有关管理员和普通用户身份的验证请参看本人的其他博客),点击“删除图书、删除服装、删除电器、删除零食”都会跳转到填写要增加的原创 2015-04-26 21:36:28 · 4531 阅读 · 0 评论 -
java开发微信二维码
主要用到了com.swetake.util.Qrcode这个类。API链接如下: http://www.swetake.com/qrcode/java/docs/index.html以本人博客首页为例:代码如下:(生成一个固定内容的二维码以图片形式输出到文件中) CreateTwoBarImage.java(一个普通的java类)pack原创 2015-05-27 00:38:46 · 5863 阅读 · 0 评论 -
java判断两个日期是否为同一天
把二个时间的的年月日分别对比,完全相等就是同一天,代码下:private static boolean isSameDate(Date date1, Date date2) { Calendar cal1 = Calendar.getInstance(); cal1.setTime(date1); Calendar cal2 = Calendar.getIn原创 2015-12-10 18:55:40 · 23678 阅读 · 4 评论 -
java跳出指定循环
java跳出指定循环:方法一:在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环;for(int i = 0;i < 10; i ++) { flag: for(int j = 0;j < 10; j ++) { for(int k = 0;k < 10; k ++) { System.ou原创 2015-12-11 19:00:32 · 1398 阅读 · 0 评论 -
break、continue和return在程序中的作用
1、return 语句的作用 (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行 (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致 (3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。2、break语句的作用 (转载 2015-12-15 22:08:26 · 1554 阅读 · 0 评论 -
java操作当前日期的年月日
java获取当前日期的年月日:Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date());System.out.println("年: " + calendar.get(Calendar.YEAR)); System.out.println("月: " + (calendar.get(Calendar.M原创 2015-12-10 19:55:52 · 4891 阅读 · 0 评论 -
I/O流(一)
流:字节序列(顺序) (输入流和输出流都是抽象类,不能被实例化;输入和输出是相对于程序来说的;)输入流InputStream:(键盘、文件、网络 )System.in.read();可以按照读取控制台输入的数据 等价于 Scanner s=new Scanner(System.in);/**举例如下int s=System.in.read(原创 2015-05-26 01:18:24 · 805 阅读 · 0 评论 -
Properties类详细解析
java.util类 Propertiesjava.lang.Object java.util.Dictionary<K,V> java.util.Hashtable<Object,Object> java.util.Properties所有已实现的接口: Serializable, Cloneable, Map<Object,Object>直接已知子类: P原创 2016-02-29 23:07:30 · 13116 阅读 · 6 评论 -
深复制VS浅复制(MemberwiseClone方法介绍)
MemberwiseClone方法,属于命名空间System,存在于程序集 mscorlib.dll中。返回值是System.Object。其含义是:创建一个当前object对象的浅表副本。MSDN中的官方解释是:MemberwiseClone 方法创建一个浅表副本,方法是创建一个新对象,然后将当前对象的非静态字段复制到该新对象。如果字段是值类型的,则对该字段执行逐位复制。如果字段是引用类型,则复制转载 2016-03-18 22:35:11 · 2707 阅读 · 0 评论 -
I/O流(二)
常用I/O类的层次1、InputStream 1.1、FileInputStream 字节流 1.2、FilterInputStream 1.2.1、BufferedInputStream 1.2.2、DataInputStream 读取基础数据类型 平台无关2、OutputSt原创 2015-05-26 01:30:14 · 651 阅读 · 0 评论 -
POJO模式
下面是摘自Martin Fowler个人网站的一句话:“We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. S原创 2015-06-03 17:45:15 · 2282 阅读 · 1 评论 -
java实现图片验证码
这段时间一直在忙着搞课设,没顾得上写,今天终于找到了一点时间,赶快开写啦~ImageServlet.java(image.do):用于生成验证码图片package com.ymw.web.servlet;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java原创 2015-06-01 01:27:26 · 2643 阅读 · 0 评论 -
servlet实现用户登录
最近在做课程设计,之前有人问我用户登录的实现,刚又有同学问到,于是我决定还把这个问题的实现写一下吧,免得要一遍一遍的去讲……原谅我的懒惰=_============================================实现原理:前提:用户表中只有三个字段:id、username、password;用户输入用户名、密码和验证码,然后点击登陆,会原创 2015-06-01 01:23:28 · 13809 阅读 · 2 评论 -
详解Java反射机制
一、什么是JAVA的反射机制Java反射是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的类的内部信息,包括其方法(诸如public, static 等)、父类(例如Object)、实现接口(例如Cloneable),也包括属性和方法的所有信息,并可于运行时改变属性值或调用方法。Jav原创 2015-06-14 16:06:08 · 755 阅读 · 2 评论 -
二维码的生成细节和原理
这两天对二维码的原理很好奇,于是去查了一些资料,总结在这里:转载 2015-05-27 10:34:30 · 980 阅读 · 0 评论 -
DocumentHelper和SAXReader解析XML字符串
最近在看湖北中烟OA门户的项目,中烟门户里面解析XML文档使用的是DocumentHelper,之前做的智能导航项目里面解析XML使用的是SAXReader,很好奇它们有什么区别,于是就查资料将两者的用法简单总结了一下。SAXReader用法示例package com.eway.signature.action;import java.io.FileInputStream;import java.原创 2016-03-08 19:59:58 · 14271 阅读 · 2 评论 -
详解事件和委托
委托委托实质上是一个类,是对方法/函数的封装,是一种引用方法的类型,可以当作给方法的特定特征指定一个名称。委托内部有三个重要成员:目标,方法,前一个委托。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托对象使用关键字delegate来声明。普通代码里这样调用方法: aBird.Fly();封装到委托里,aBird 就是目标,Fly 就是方法。委托可以组成链,“前一个委托”用于支持这种链式原创 2016-03-27 21:06:36 · 974 阅读 · 0 评论 -
应用服务器性能优化总结
别人推荐看的《大型网站技术架构》买回来有一年多了,一直没看,看着落满灰尘的书,真的是于心不忍。趁着这个周末没事,赶快来研究一下,顺便做个笔记。应用服务器就是处理网站业务的服务器,网站的业务代码都部署在这里,是网站开发最复杂,变化最多的地方,优化手段主要有缓存、集群、异步等。一、分布式缓存在整个网站应用中,缓存几乎无处不在,既存在于浏览器也存在于应用服务器和数据库服务器;既可以对数据缓存,也可以对文件原创 2016-04-10 21:59:29 · 11290 阅读 · 0 评论 -
集合对象的声明和初始化
需要实现的功能是从数据库中查数据封装为一个list集合,然后返回给前台将数据显示在表格中。后台在定义list集合时无意中发现两种不同的写法会有不同 的结果出现,之前没太注意这两种写法的区别,发现错误之 后我查了一些资料,在这里总结一下:1、List list = new ArrayList();//返回[] 2、List list;//返回null获取到的list均为空,在返回给前台时第一种写法会原创 2016-07-18 16:44:05 · 3439 阅读 · 2 评论 -
内部类总结
在Java中,可以将一个类定义在另一个 类里面或者一个方法里面,这样的类称 为内部类。广泛意义上的内部类一般来 说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。内部类的共性:1、内部类仍然是一个独立的类,在编 译之后内部类会被编译成独立的.class 文件,但是前面冠以外部类的类名和$ 符号; 2、内部类不能用普通的方式访问。内 部类是外部类的一个成员,因此内部类 可以自由地访问外部原创 2016-07-20 11:48:24 · 1181 阅读 · 4 评论 -
具备白名单、黑名单的Filter基类扩展
问题引入:比如定义了一个mapping, <servlet-mapping> <servlet-name>html_dispatcher</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> 就是说所有的.html请求都会由html_dispatcher来处理,但现在的问题是: 我希望转载 2016-02-06 00:15:33 · 4248 阅读 · 0 评论 -
InetAddress.getLocalHost()详解及异常处理
//return the raw IP address in a string formatInetAddress.getLocalHost().getHostAddress();//return the raw IP address of this objectInetAddress.getLocalHost().getAddress();本机的一个运行结果:192.168.1.104[B@原创 2016-04-27 21:39:11 · 26211 阅读 · 4 评论 -
Class.getResource()、ClassLoader.getResource()和this.class.getClassLoader()解析
一、this.class.getClassLoader();二、Class.getResource();三、ClassLoader.getResource();原创 2016-03-16 21:35:26 · 13303 阅读 · 0 评论 -
java获取某日期之前/之后一天的日期(实现代码)
String today="2015-11-26";//new Date()SimpleDateFormat sdf = new SimpleDateFrmat("yyyy-DD-mm");Calendar calendar = Calendar.getInstance();//获取日历实例 calendar.setTime(sdf.parse(today)); calendar.add(Ca原创 2015-11-26 20:20:20 · 7595 阅读 · 1 评论 -
获取指定某一天的00:00—23:59
String nowDate = ApDateTime.getNowDateTime("yyyyMMdd");String yesterdayStr = ApDateTime.getDateDiff_ForDay("yyyy-MM-dd", nowDate, -1); //strDate 开始日期(格式为yyyyMMDD)SimpleDateFormat sdf = new SimpleDat原创 2015-11-01 22:40:24 · 4174 阅读 · 0 评论