J2EE学习系列
文章平均质量分 75
鬼脚飞
个人博客:https://www.xiaoerpro.com
展开
-
关于Map集合的迭代输出问题
写一个map集合,让它迭代输出;下面接介绍两种方式的迭代输出: Map map = new HashMap(); map.put("1", "tom"); map.put("2", "rose"); map.put("3", "jack"); map.put("4", "alex"); //第一种迭代输出的方式; Set k原创 2014-05-16 11:20:30 · 956 阅读 · 0 评论 -
Java学习之反射机制
前段时间在做项目的时候,由于是用的纯Servlet基础框架进行开发的,没有用到那些集成的框架,后来在后台处理表单中的数据的时候,感觉有很多东西都是重复的,比较繁琐,例如获取到前台页面表单中的值之后,要在后台实例化一个对象并且调用定义的setter方法来给对象赋值,由于表单中的数据比较多,然后这个调用setter方法的代码就显得有些重复臃肿,后来网上查资料才了解到可以通过java中的反射机制简化这一操原创 2015-02-13 14:26:57 · 2278 阅读 · 2 评论 -
JAVA中创建字符串的两种方式的区别
JAVA中创建字符串的两种方式的区别,通常在Java中创建一个字符串会有两种方式,通过双引号直接赋值和通过构造器来创建。建议在平时的应用中,应尽量使用String x = "abcd"这种方式来创建字符串,而不是String x = new String("abcd"); 因为用new构造器的方式肯定会开辟一个新的heap堆空间,而双引号的方式则是采用了String interning(字符串驻留)方式进行了优化,效率会比构造器的方式高。翻译 2014-12-17 18:52:48 · 7545 阅读 · 1 评论 -
初识JSP之Cookie机制
我们在进行web应用程序开发的时候,使用的是HTTP协议来传输数据,但是这个Http协议有个先天性的不足,也就是无状态,它无法对用户的状态进行保存管理。所谓的无状态就是是指,当浏览器发送请求给服务器的时候,服务器响应客户端请求,但是当同一个浏览器再次发送请求给服务器的时候,服务器并不知道它就是刚才的那个浏览器。简单地说,就是服务器不会去记得你。所以称作无状态协议。 由于HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接。这就意味着服务器无法从连接上原创 2014-11-29 17:47:12 · 1882 阅读 · 0 评论 -
Java数组实现自定义栈
栈是一种“先进后出(FILO)”的数据结构,最后压入的数据项总是位于栈顶的位置,下面是维基百科中对栈的定义:堆栈(英语:stack),也可直接称栈。台湾作堆叠,在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆叠顶端指标,英语:top)进行加入资料(英语:push)和输出资料(英语:pop)的运算。另外堆叠也可以用一维阵列或连结串行的原创 2015-01-12 17:25:19 · 2163 阅读 · 0 评论 -
使用Cookie实现商品的浏览记录功能
像很多购物网站、淘宝,京东等购物网站,细心的朋友都会发现页面的一侧都会有那种浏览过的商品历史记录信息,之前也只是听说这个是使用cookie机制实现的,但是具体怎么实现的还不是很清楚,通过这两天的学习,终于也大致清楚这其中的奥秘,好了,废话不多说了,这两天练习了一个小例子,分享出来,大家共同学习。。。。同时也是自己的一种成长!主要的实现思路就是通过每次点击商品查看信息的时候,传递一个商品编号,然后保存在cookie中,然后从cookie中取出来,去数据库执行相关的查询操作,之后再到页面上进行显示就ok了。。。原创 2014-12-18 21:36:44 · 7162 阅读 · 0 评论 -
JAVA操作JSON格式数据
json开发工具包,用于Java对象和Json字符串之间的转换;json开发工具包一共有3个jar:ezmorph-1.0.6.jar,json-lib-2.2.3-jdk13.jar和morph-1.1.1.jar。原创 2015-01-27 18:29:32 · 4959 阅读 · 0 评论 -
高并发量网站解决方案
一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是原来简单的htm转载 2015-03-03 13:08:21 · 616 阅读 · 0 评论 -
一台电脑同时配置多个Tomcat容器
由于我自己的电脑上同时安装了两个IDE开发工具:Eclipse和Myeclipse,但是我又不想两个IDE公用一个Tomcat,然后就需要同时配置两个Tomcat。在网上搜了下资料,然后自己动手操作了下,于是便记录下来,以便于能够帮助到那些需要帮助的人。步骤如下:我电脑上下载的Tomcat版本是7.0版本免安装版(解压版)的。需要注意的是:.exe安装版的貌似一台电脑只能安装一个,否则会引起冲突。原创 2015-03-01 18:34:45 · 2404 阅读 · 0 评论 -
Java生成中文汉字随机验证码
实现主要包含两个类,一个是生成验证码,一个是判断验证码输入是否正确 实现原理比较简单,将汉字和干扰线生成图片并将汉字保存到session,前台获取每次生成的验证码图片进行展示,验证的时候就获取文本框输入的值传到后台与session值进行比较,功能就怎么简单。原创 2015-02-13 10:25:10 · 4684 阅读 · 0 评论 -
eclipse中配置的tomcat 启动正常 但是访问报404错误
问题描述: 在eclipse中配置的Tomcat,启动是正常的,控制台显示启动成功,也没有报任何错误信息,但是访问的时候就报404错误,然后直接在bin目录下启动startup.bat的方式就是正常的。然后就很纳闷,之后在网上搜了下资料,说是Eclipse的配置出了问题。解决方案:1、如果Server里的tomcat启动了,需要先停掉。然后再移除添加的项目2、之后双击server中配置的tomca原创 2015-03-01 19:23:27 · 23847 阅读 · 6 评论 -
关于jdk的版本兼容问题
之前也碰到过这样的问题,那个时候是qingjiao原创 2014-05-16 11:01:31 · 3009 阅读 · 0 评论 -
如何在Mac OS系统下搭建Java开发环境图解
似乎有很久都没有写博客了,有工作的一些原因,也有个人的一些原因,今天刚好下雨,也没有地方可去,于是就窝在家里倒腾了下,本篇文章主要是简单介绍一下如何在Mac OS系统下搭建java的开发环境,做java开发工作,当然首先是得有一个java环境,所以接下来主要是简单介绍一下Mac环境下java环境变量的一些配置工作。鄙人的电脑配置:打开终端,查看10.9.5版本的系统用的是什么shell命令:大家可以原创 2015-08-30 18:26:40 · 10944 阅读 · 1 评论 -
Mac环境下Myeclispe2015工具的安装与破解
首先是Myeclispe2015的下载,废话不多说,已传至百度云,直接下载即可。Myeclispe2015 for mac下载地址:链接: http://pan.baidu.com/s/1qWzKzOK 密码: recx然后是破解工具的下载(适用于2014与2015):链接: http://pan.baidu.com/s/1jGxULnS 密码: crz3Myeclispe工具下载完之后,直接安装即原创 2015-08-30 21:47:56 · 7923 阅读 · 2 评论 -
在eclipse中使用maven工具构建项目
maven确实是一个很不错的工具,以前没怎么用过,只知道是用作管理jar包的,感觉没啥用,但是通过简单的了解了一番之后,就越来越喜欢上了。特别是在eclipse4集成了maven之后,创建项目什么的就特别方便了。而且现在越来越多的开源项目都是使用maven构建的,所以对于我们来说了解一下maven还是非常有必要的。。下面就简单介绍一下在eclipse中使用maven工具分别构建java项目和web项原创 2015-09-30 11:20:06 · 2203 阅读 · 0 评论 -
myeclipse->project->clean…到底有什么用?
以前没有写博客的习惯,究其原因主要还是原创 2014-05-16 11:54:01 · 4132 阅读 · 2 评论 -
Java实现发送短信验证验证码功能
这几天老大让我弄一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口(遵循短信平台的接口规范即可)。具体看代码:使用HttpClient的时候需要在项目中引入:commons-httpclient-3.1.jar这个jar包,项目结构: 1、创建一个Ht原创 2015-04-17 20:13:59 · 36906 阅读 · 5 评论 -
Java学习之序列化
Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。将序列化对象写入文件之后,可以从文件中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。原创 2015-02-13 11:13:37 · 778 阅读 · 0 评论 -
java中的File文件读写操作
java中的File文件读写操作原创 2014-11-11 13:41:29 · 3973 阅读 · 0 评论 -
Java垃圾回收浅析
垃圾回收和内存分配相关,先了解运行时数据区域的划分及各个区域的作用。垃圾回收主要需要考虑的3个问题:1、什么时候回收;2、哪些对象需要回收;3、如何回收。运行时数据区域程序计数器(Program Conuter Register)程序计数器是一块较小的内存空间,它是当前线程执行字节码的行号指示器,字节码解释工作器就是通过改变这个计数器转载 2014-11-12 17:35:21 · 655 阅读 · 0 评论 -
Java虚拟机体系结构
在了解jvm的结构之前,我们有必要先来了解一下操作系统的内存基本结构: 操作系统中的jvm 为什么jvm的内存是分布在操作系统的堆中呢??因为操作系统的栈是操作系统管理的,它随时会被回收,所以如果jvm放在栈中,那java的一个null对象就很难确定会被谁回收了,那gc的存在就一点意义都没有了,而要对栈做到自动释放也是jvm需要考虑的,所以放在堆中就最合适不过了。 操作系转载 2014-11-12 16:01:55 · 785 阅读 · 0 评论 -
Java网络编程之Socket通信(一)
最近在学习Java网络编程,之前听说过,但是一直都没有认真了解过。这几天突然来了兴致,觉得很神奇,忽然就想要了解下具体是什么个情况。 Socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket非常原创 2014-11-01 13:12:06 · 9707 阅读 · 2 评论 -
Java网络编程之Socket通信(二)
之前在前面已经介绍了Socket通信的一些基本原理,以及如何让客户端与服务器端建立通信,和实现通信的一些基本步骤(包括首先使得服务器端与客户端建立连接,建立连接之后,服务器端开始侦听客户端的请求,侦听到客户端的请求之后,通过输入输出流处理相关信息实现通信,最后通信完毕结束通信等一系列流程)。 但是之前只是单个客户端与服务器进行通信,而我们实际应用中单个客户端的情况几乎不存在,都是多个客户端同时与服务器进行交互(这里同时交互就会出现并发性的问题,对于并发性的问题暂时还不是很懂,只知道有这个概念),那就需要服原创 2014-11-17 16:29:56 · 2871 阅读 · 1 评论 -
The substring() Method in JDK 6 and JDK 7
The substring(int beginIndex, int endIndex) method in JDK 6 and JDK 7 are different. Knowing the difference can help you better use them. For simplicity reasons, in the followingsubstring() represen转载 2014-12-17 16:10:01 · 586 阅读 · 0 评论 -
MyEclipse10.1导出war包报错问题
直接将这个jar插件包丢到D:\Program Files (x86)\Myeclipse\Common\plugins(Myeclipse安装目录下面的common目录下面的plugins目录下面替换掉原jar包),之后重启Myeclispe即可,再之后导出war包就不会报错了。。原创 2015-02-03 16:40:29 · 5913 阅读 · 3 评论 -
怎样在控制台或者日志打印输出JDBC执行的sql语句
今天用jdbc preparestatement 写sql语句查询,但是在执行的过程中实际查询出的结果和预期的结果不一致,然后就在想有什么办法能够在控制台或者Log4j日志输出最终执行的SQL语句,以便于调试。如果是hibernate可以通过配置show_sql 为 true 在控制台显示执行的SQL,因为使用的是纯JDBC的写法,然后自己在程序中直接通过System.out.println(sql原创 2015-03-13 18:08:19 · 29236 阅读 · 1 评论 -
Quartz2.2.1在JAVA中的简单用法(一)
由于项目中需要用到定时执行任务,后来查资料发现有Quartz这么一个任务调度框架,但是网上的大部分资料几乎都是之前的版本,Quartz-2.2.1好像经过了改版,与先前的版本在用法上有那么一些出入,2.2.1里面好多方法都被弃用了,然后经过一番折腾,算是会简单的使用了。下面简单的介绍一下:原创 2015-01-29 18:26:03 · 8309 阅读 · 1 评论 -
Quartz2.2.1在JAVA中的简单用法 (二)
先前在上一篇博客中介绍了Quartz2.2.1在JAVA中的简单用法,但是只是单个任务的创建,而实际应用中有的时候会有多个任务需要执行,这里简单介绍一下多个任务的创建,也算是上一篇博客的一个小小的补充。点击这里可以查看上一篇博客 Quartz2.2.1在JAVA中的简单用法 (一)1、新建一个WebProject工程项目。2、引入解压Quartz2.2.1.zip之后所得到的6个jar包文件,这里原创 2015-03-23 15:57:45 · 5430 阅读 · 3 评论 -
JBOSS部署项目之后,无法通过IP地址访问,只能通过localhost或者127.0.0.1访问
这几天入职到了一家新的公司,然后第一天就开始搭建各种环境,由于原先一直用的是Tomcat容器,然后也是第一次接触JBOSS容器,搭建完之后,在MyEclipse中启动了JBOSS容器,然后想在浏览器中访问看看,直接输入的IP地址+JBOSS的端口号,浏览器中报无法访问,我想是不是因为IP地址输入错了,之后改成localhost再试发现又是正常的可以访问,之后特意查看了下本机的IP地址,发现也没有写错原创 2015-03-31 16:17:31 · 7801 阅读 · 1 评论 -
Java内存溢出与栈溢出
一、背景知识1、JVM体系结构2、JVM运行时数据区3、JVM内存模型JVM运行时内存 = 共享内存区 + 线程内存区3-1、共享内存区共享内存区 = 持久带 + 堆持久带 = 方法区 + 其他堆 = Old Space + Young SpaceYoung Space = Eden +原创 2015-01-23 11:02:56 · 28264 阅读 · 2 评论 -
org.apache.jasper.JasperException: /index.jsp (line: 24, column: 26) attribute for %>" is not proper
JSP页面,本来想使用标签进行请求跳转的,然后就报了这么一个错误,原来这个里面还不能写表达式,之前一直以为可以的。<body> <jsp:forward page="<%=basePath %>msgServlet?action=getAllList"></jsp:forward></body>之后改成这样使用EL表达式就OK了。<body> <jsp:forward page="原创 2015-02-28 20:36:42 · 7652 阅读 · 0 评论 -
关于java的一道面试题
题目如下:public class Base{ private String baseName = "base"; public Base() { callName(); } public void callName() { System. out. println(this.baseName); } static cla原创 2015-11-02 17:31:37 · 1436 阅读 · 0 评论