J2EE
文章平均质量分 95
黑土墨
技术爱好者
展开
-
HashSet添加null报空指针异常
HashSet添加null报空指针异常。public class TestSet { public static void main(String[] args) { Set<Integer> hashSet = new HashSet<Integer>(); hashSet.add(2); hashSet.ad...原创 2018-04-03 16:25:24 · 9297 阅读 · 0 评论 -
Spring MVC基础知识及实例
Spring MVC1. Spring MVC简介Spring MVC提供model-view-controller架构和已有组件,可以开发灵活、松散耦合的web应用。MVC模式把应用分成不同的概念(输入逻辑、业务逻辑和UI逻辑),组件之间松散耦合。Model封装应用数据,一般上由POJO组成。View负责渲染模型数据,一般上它会生成HTML,然后由客户端浏览器解析。Controller负责处翻译 2015-05-17 10:47:32 · 1705 阅读 · 0 评论 -
HibernateTemplate.save()与HibernateTemplate.update() 无法写入数据库的问题
解决办法有两种:1. class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">org.hibernate.dialect.MySQLDialect tru原创 2011-10-01 16:34:45 · 7930 阅读 · 2 评论 -
Lambda表达式快速入门
简介本文的主要目的是介绍Java SE 8引入的lambda表达式。 Lambda表达式是Java SE 8中引入的新的且重要的特性。它提供了一种清新简洁的方式表示方法接口,即表达式。同时,Lambda表达式改进了Collection库,使其更容易遍历、过滤和提取数据。另外,新的并发性能在多核环境下提高性能。注意:本文中的例子必须使用JDK 8才能运行。背景知识匿名内部类Java中,匿名内部类提供翻译 2016-06-06 19:39:53 · 623 阅读 · 0 评论 -
highcharts加载数据库数据(java版)
前段时间因为项目需要使用了highcharts报表,新手可以参考http://www.hcharts.cn/,教程中有比较详细的介绍和demo。但是demo中的例子的数据都是静态数据,而在实际项目中一般数据都是从数据库加载的。 下面是我做的一个简单例子,从数据库中加载数据然后在前端使用highcharts渲染。读取数据库数据使用的servlet,可以根据需要改成其他(如spring等)。servl原创 2016-04-20 23:46:28 · 10333 阅读 · 5 评论 -
import vs static import
静态引入(Static Import)是Java引入的特性,它允许在类中定义public static的成员(字段和方法),在使用时不用指定类名。此特性是在1.5版本中引入的。 该功能提供了一种类型安全的机制,可以不必引用最初定义字段的类使用常量。它也有助于放弃创建常量接口:这是只定义了常量的接口,这种接口被认为是不合适的。 这种机制被用来引入类的单个成员:import static java.翻译 2016-05-24 18:00:18 · 421 阅读 · 0 评论 -
Eclipse/MyEclipse安装FindBugs
FindBugs是一个静态分析工具,用来查找Java代码中存在的bugs。1. 安装FindBugsFindBugs有两种安装方式: 1. 在线安装(Eclipse建议使用此安装方式) 2. 离线安装:下载FingdBugs插件,放入plugins文件夹(MyEclipse建议使用此安装方式)2. Eclipse在线安装FindBugs打开Help -> Install New Softwar原创 2015-11-06 14:15:50 · 8090 阅读 · 3 评论 -
IntelliJ IDEA集成svn
Eclipse集成svn相信大家已经非常熟悉了,但是IntelliJ IDEA如何集成svn呢?下面简单介绍一下(其他的版本控制工具的集成类似): 1. 首先配置下载并配置svn软件,推荐使用SlikSvn。 2. 在IntelliJ IDEA集成svn,选择Subversion。 3. 配置完成之后就可以从svn服务器上checkout代码。 4. 修改代码之后,在该文件或原创 2015-08-22 17:29:16 · 58092 阅读 · 4 评论 -
页面中嵌套html代码显示
如果是静态html页面,可以使用<xmp></xmp>、<pre></pre>、<code><code>。 <xmp></xmp>已经被抛弃,但还能使用,而且可以在里面直接嵌套原始的html代码。 <pre></pre>和<code><code>是替代<xmp></xmp>的,但是它们中的标签必须进行转换。如“<”使用“<”、“>”使用“>”、“””使用“"”。在jsp页面中可以使用JSTL函原创 2015-06-13 12:39:18 · 5163 阅读 · 0 评论 -
Could not create the view: An unexpected exception was thrown.
Myeclipse非正常关闭后再次打开,“Servers”非正常显示,出现如下错误:Could not create the view: An unexpected exception was thrown.。解决办法: 1. 关闭Myeclipse。 2. 在工作目录下找到“.metadata/.plugins/org.eclipse.core.runtime/.settings/ com.原创 2015-06-13 12:54:50 · 731 阅读 · 0 评论 -
Maven项目配置第三方jar包
Maven标签(空格分隔): J2EEEclipse如何配置Maven及创建项目,在网上已经有很多教程,这里不再赘述,仅给出两个链接供参考: http://blog.csdn.net/qjyong/article/details/9098213 http://www.iteye.com/topic/1123225本文主要介绍Maven项目中怎么在pom.xml中配置第三方jar包的groupId原创 2015-05-18 23:44:51 · 2823 阅读 · 0 评论 -
JSP自定义标签
JSP自定义标签1. JSP自定义标签尽管JSP中内置了许多标签,但有时还是需要根据需求自定义标签。如用逗号和空格格式化数字: <mytags:formatNumber number="100050.574" format="#,###.00"/> 根据传入的number和format,在JSP页面上格式化这个数字,上面的数字应该被输出为100,050.57。 JSTL中没有提供内置的标签,所翻译 2015-05-17 15:49:10 · 628 阅读 · 0 评论 -
Dispatcher initialization failed解决办法
严重: Dispatcher initialization failedUnable to load configuration. - action - file:/D:/Program%20Files/apache-tomcat-7.0.8/webapps/login/WEB-INF/classes/struts.xml:5:51at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationMana原创 2011-03-14 10:14:00 · 55490 阅读 · 10 评论 -
单例模式
单例模式单例模式应该是设计模式中应用最多的一种设计模式。其看似简单,但是要真正写一个好的单例模式又没那么简单。最常见的单例模式应该是饿汉式和懒汉式。//饿汉式class Single { private static final Single s = new Single(); private Single() {} public static Single getInst原创 2015-04-26 23:02:15 · 397 阅读 · 0 评论 -
使用Maven创建项目过慢问题解决办法
相信很多人都使用IDEA创建过Maven项目,其速度非常慢,主要原因是创建Maven项目时需要请求网络上的catalog.xml文件,才导致速度很慢。解决办法有两种: 1. 在创建Maven项目时加上archetypeCatalog=internal参数,如下: 点击“+”添加参数archetypeCatalog=internal。 2. 在Maven的VM Options加上-Darch原创 2017-01-15 20:31:26 · 7046 阅读 · 1 评论 -
如何同时启动多个Tomcat服务器
修改conf目录下的server.xml文件的三处:修改http访问端口(默认为8080端口)<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />修改Shutdown端口(默认为8005端口)<Server port="原创 2017-03-12 17:03:44 · 546 阅读 · 0 评论 -
BeanUtils.copyProperties()使用
大部分Java程序员应该都用过BeanUtils.copyProperties(),起作用就是把两个对象中相同字段进行赋值。Person p1 = new Person("zong", 30);Person p2 = new Person();BeanUtils.copyProperties(p2, p1);当然p2不一定也是Person对象,其他对象也可以。只要两个对象中有相同的成员变量就可以原创 2017-05-04 22:18:13 · 1819 阅读 · 1 评论 -
单例模式与多线程
本文的知识点非常重要,通过单例模式与多线程技术相结合,在这个过程中能发现很多以前未考虑过的情况,一些不良的程序设计方法如果应用在商业项目中,将会遇到非常大的麻烦。本文的案例也将充分说明,线程与某些技术相结合时要考虑的事情有很多。在学习本文时只需要考虑一件事情,那就是:如何使单例模式遇到多线程是安全的、正确的。在标准的23个设计模式中,单例设计模式在应用中是比较常见的。但在常规的该模式教学资料介...原创 2018-02-25 22:51:25 · 319 阅读 · 0 评论 -
SimpleDateFormat非线程安全
类SimpleDateFormat主要负责日期的转换与格式化,但在多线程的环境中,使用此类容易造成数据转换及处理的不准确,因为SimpleDateFormat类并不是线程安全的。出现异常本示例将实现实用类SimpleDateFormat在多线程环境下处理日期但得出的结果却是错误的情况,这也是在多线程环境开发中容易遇到的问题。类MyThread.java代码如下:import j...原创 2018-02-25 10:16:18 · 483 阅读 · 0 评论 -
BigDecimal使用ROUND_HALF_UP进行四舍五入
BigDecimal bdTest = new BigDecimal(1.745);BigDecimal bdTest1 = new BigDecimal(0.745);bdTest = bdTest.setScale(2, BigDecimal.ROUND_HALF_UP);bdTest1 = bdTest1.setScale(2, BigDecimal.ROUND_HALF_UP);S...原创 2018-03-17 13:25:49 · 132209 阅读 · 5 评论 -
List Set Map之间的不同
它们都继承自Collection类。 10点不同: 序号 属性 java.util.List java.util.Set java.util.Map 1 重复元素 List允许存储重复元素。 Set不允许存储重复元素。 Map以键值对形式存储数据,key不允许重复,value可以重复。 2 插入顺序 List以插入顺序存储元素...翻译 2018-03-17 13:02:01 · 236 阅读 · 0 评论 -
JAVA 线程池的正确打开方式
当前环境jdk == 1.8Executors 使用的隐患先来看一段代码,我们要创建一个固定线程池,假设固定线程数是4。代码如下:Executors是JAVA并发包中提供的,用来快速创建不同类型的线程池。是不是很简单,创建线程池只需一行代码。对于一些个人项目或临时性的项目,这样写确实没什么问题,而且开发速度很快。但在一些大型项目中,这种做法一般是禁止的。WHY??...转载 2018-02-24 19:41:26 · 671 阅读 · 0 评论 -
HashSet Vs LinkedHashSet Vs TreeSet In Java
\ HashSet LinkedHashSet TreeSet 内部工作机制 HashSet内部使用HashMap存储元素 LinkedHashSet内部使用LinkedHashMap存储元素 TreeSet内部使用TreeMap存储元素 元素顺序 HashSet不维护元素的顺序 LinkedHashSet维护元素的插入顺序,元素按插入顺...翻译 2018-03-17 12:53:49 · 232 阅读 · 0 评论 -
为何 response.body().string() 只能调用一次
想必大家都用过或接触过 OkHttp,我最近在使用 Okhttp 时,就踩到一个坑,在这儿分享出来,以后大家遇到类似问题时就可以绕过去。只是解决问题是不够的,本文将 侧重从源码角度分析下问题的根本,干货满满。1.发现问题在开发时,我通过构造 OkHttpClient 对象发起一次请求并加入队列,待服务端响应后,回调 Callback 接口触发 onResponse() 方法转载 2018-01-10 21:47:50 · 1293 阅读 · 0 评论 -
怎么使用Junit进行多线程测试
Junit本身是不支持普通的多线程测试的,这是因为Junit的底层实现上,是用System.exit退出用例执行的,主线程终止jvm都停了,其他线程肯定执行不了了(具体分析查看源码org.junit.runner.JUnitCore)。本文介绍一款第三方工具groboutils,配合Junit实现多线程测试。文档官网:http://groboutils.sourceforge.netMaven<de转载 2017-12-12 13:53:55 · 2718 阅读 · 0 评论 -
为什么Java里的Arrays.asList不能用add和remove方法?
在平时的开发过程中,我们知道可以将一个Array的对象转化为List。这样的操作,我们只要采用Arrays.asList这个方法就行了。笔者前段时间一直用这个方法,有一天,我发现通过Arrays.asList得到的List无法进行add和remove等操作。 下面是一段很简单的测试代码:public class MainFacade { public static void main(St转载 2017-10-13 00:04:03 · 569 阅读 · 0 评论 -
文件和byte数组之间相互转换
文件转换成byte数组文件转换成byte数组有两种方式:传统方式File file = new File("/temp/abc.txt");//init array with file lengthbyte[] bytesArray = new byte[(int) file.length()];FileInputStream fis = new FileInputStream(file);翻译 2017-10-21 00:31:52 · 19207 阅读 · 1 评论 -
mybatis-generator用法
mybatis-generator有三种用法:命令行、eclipse插件、maven插件。个人推荐使用命令行或maven插件。命令行的用法请参考:http://blog.csdn.net/wyc_cs/article/details/9023117 maven插件的用法请参考:http://www.cnblogs.com/yjmyzz/p/mybatis-generator-tutorial.ht原创 2017-06-08 13:32:38 · 490 阅读 · 0 评论 -
List remove()方法介绍
public class Remove { public static void main(String[] args) { String str1 = new String("abc"); String str2 = new String("abc"); String str3 = new String("abc"); Str转载 2017-05-04 22:40:35 · 765 阅读 · 0 评论 -
ubuntu下eclipse无法启动
ubuntu下启动eclipse报如上错误,解决办法:在eclipse.ini文件开始加入-vm/opt/jdk1.7.0_55/jre/bin/java原创 2014-11-24 20:42:58 · 1652 阅读 · 0 评论 -
打开eclipse时,An error has occurred. See the log file
原因是安装了oracle,因此在环境变量的path中使用了oracle自带的jvm。解决方法:把JAVA_HOME移动到path最前面,或者换掉oracle的jvm。原创 2012-09-05 10:19:26 · 919 阅读 · 0 评论 -
struts.xml中标签自动提示问题
myeclipse不提示struts2标签,是因为myeclipse没有融合struts2,可以自己手动添加dtd让它提示,操作:window->preferences->MyEclipse->Files and Editors->XML->XML Catalog 点开这个XML Catalog选中第一个User Sepecified Entries 点Add按钮 弹出一个窗口,在Lo原创 2011-10-24 09:00:35 · 1725 阅读 · 0 评论 -
Tomcat数据源配置
参考http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html 中MySQL configuration的配置。其中jdbc/*中的*可以使任意的,只要与前后一致就行了。简要介绍:在%TOMCAT_HOME%/conf中的server.xml中的标签中添加Tomcat 5.5 //虚拟目录原创 2008-03-15 23:27:00 · 519 阅读 · 0 评论 -
Eclipse+Tomcat+Lomboz的安装配置说明
Eclipse+Tomcat+Lomboz的安装配置说明一、软件下载: 1、Java 这里使用的是jdk1.4.2。 下载地址: http://dlc.sun.com/jdk/j2sdk-1_4_2_07-windows-i586-p.exe; 2、Tomcat 这里的tomcat的版本是5.0的,安装版或是解压版都是可以的。 下载地址: http://apac原创 2008-03-10 18:40:00 · 565 阅读 · 0 评论 -
ROOT
如果想让jsp文件以http://localhost:8080/*的方式访问到,则jsp文件应放在ROOT文件夹下。如果是文件夹,就放在webapps下,和ROOT同一级。原创 2007-12-09 13:49:00 · 538 阅读 · 0 评论 -
JavaMail配置
1、把两个jar包放到项目的WEB-INF/lib文件夹下。2、把两个jar(mail.jar、activation.jar)包分别解压,把得到的三个文件夹(com、javax、META-INF)拷贝到项目的classes文件夹下。再把另一个的也拷贝到那里,相同的不要覆盖,取最大的。先拷贝javamail文件夹下的。原创 2007-12-08 22:17:00 · 1061 阅读 · 0 评论 -
虚拟目录
建立虚拟目录的方法:1.在TOMCAT的安装目录下,如C:/Program Files/Apache Software Foundation/Tomcat 5.5/conf/Catalina/localhost文件夹下新建一个与新建项目同名的.xml文件,在这个.xml文件中添加如下内容: docBase="D:/workspace/news" reloadable="tru原创 2007-12-08 09:29:00 · 370 阅读 · 0 评论 -
eclipse使用技巧
1、格式化代码右键----source----Format2、自动生成getter和setter方法双击选中变量,右键----source----Generate Getters and Setters3、使用Ctrl+1对出错的程序进行调整(throws Exception)选中错误行,右键----source----Surround with try/catch Bloc原创 2007-11-19 19:28:00 · 359 阅读 · 0 评论 -
eclipse
我在用eclipse的时候用3.0版本的可以编写jsp文件,而用最新版的时候总是提示Editor cant be initialized.原创 2007-11-13 15:30:00 · 324 阅读 · 0 评论 -
structs
http://people.apache.org/builds/structs原创 2007-11-15 13:15:00 · 357 阅读 · 0 评论