javaee
godwish2013
这个作者很懒,什么都没留下…
展开
-
Spring3 Annotation + Hibernate3-jpa2.0 + CGLIB + 多数据源(动态数据源)
一、定义一个测试用Entity。 Java代码 @Entity public class Person implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue @Column(name = "i转载 2013-10-16 09:30:40 · 813 阅读 · 0 评论 -
JAX-RS入门 八: HTTP响应
上节介绍了JAX-RS中怎么与一些基础的对象进行交互,这节介绍JAXB和JSON的使用。 一、JAXB 关于JAXB知识,可以去网上搜搜,或者要入门的话,可以看:http://liugang594.iteye.com/category/201713 。 为了在XML和对象间进行映射,修改一下Customer类,添加JAXB相关的annotations转载 2014-02-24 13:14:21 · 757 阅读 · 0 评论 -
JAX-RS入门 九: 内容约定(1)
通常一个SOA的应用都需要足够的灵活,以便于各种不同的客户端或平台进行集成与交互。 RESTful 服务在这方面相当有优势,因为大部分的程序语言都能够与HTTP协议间相互通信。 不过这还不够,为了高效的运行,不同的用户可能有不同的需求。例如Java用户端更多的希望他们的数据是xml格式的;Ajax用户端则更喜欢JSON格式;Ruby用户需要想要YAML格式。另外,有时他们还希望这些转载 2014-02-24 13:16:27 · 514 阅读 · 0 评论 -
JAX-RS入门 九: 内容约定(2)
JAX-RS与Conneg JAX-RS有一些用来帮助用户管理他的conneg的工具:基于Accept头的方法派发允许直接查看内容信息用于处理多约束条件的APIs1. 方法派发 前几节中,我们看到怎么使用@Produces注释来指示响应的Media Type。 JAX-RS也使用这个注释来分发请求到恰当的方法上,通过匹配最佳的请求的Accept头信息转载 2014-02-24 13:17:40 · 476 阅读 · 0 评论 -
JAX-RS入门 十: 兼容与演进
网络服务会随着时间的发展再不断进化,例如:添加新的特性;扩展数据集;数据格式的改变和演化。你怎么来管理这些变化呢?怎么让以前的用户能够在旧版本上运行呢? 将应用模块会可以解决这些问题中的大多数。下面就讨论一些在开发应用时需要有的设计和决策,以适应这些可能的变化。 一、创建新的Media Type REST的一个重要准则是将你的资源的复杂性隐藏在你的变转载 2014-02-24 13:18:26 · 445 阅读 · 0 评论 -
目前几个PDF转图片的JAVA开源项目研究
对比这几款开源项目PDFRenderer、pdfbox、jpedal 的做法:1.PDFRenderer: 确实效率最高,但是缺少字体支持对大多数中文pdf处理不了(很奇怪为什么项目组还没做默认字体支持)2.pdfbox:字体基本都可以转换,但容易内存溢出(我搞了几十M文件就不行了)3.jpedal:效率不错。不过我这里好几个中文pdf文件就是生成缩略图不对,我还向项目组提转载 2014-04-15 11:05:15 · 1768 阅读 · 0 评论 -
JAVA:借用OpenOffice将上传的Word文档转换成Html格式
将Word转Html的原理是这样的:1、客户上传Word文档到服务器2、服务器调用OpenOffice程序打开上传的Word文档3、OpenOffice将Word文档另存为Html格式4、Over至此可见,这要求服务器端安装OpenOffice软件,其实也可以是MS Office,不过OpenOffice的优势是跨平台,你懂的。恩,说明一下,本文的测试基于转载 2014-04-15 11:14:08 · 1046 阅读 · 1 评论 -
Web端服务器推送技术原理分析及dwr框架简单的使用
1 背景“服务器推送技术”(ServerPushing)是最近Web技术中最热门的一个流行术语。它是继“Ajax”之后又一个倍受追捧的Web技术。“服务器推送技术”最近的流行跟“Ajax ”有着密切的关系。随着 Ajax技术的兴起,让广大开发人员又一次看到了使用浏览器来替代桌面应用的机会,并且这次机会非常大。Ajax将整个页面的刷新变成页面局部的刷新,并且数据的传送是以异步方式进行转载 2014-03-21 17:39:59 · 474 阅读 · 0 评论 -
Jackson 转json 时日期格式化,排除字段,包含字段
package com.dj.spring3.jackson; import org.codehaus.jackson.map.SerializationConfig; import org.codehaus.jackson.map.introspect.BasicBeanDescription; import org.codehaus.jackson.map.ser.BeanSeri转载 2014-06-16 09:53:50 · 1365 阅读 · 0 评论 -
Jackson 框架,轻易转换JSON
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。前面有介绍过json-lib这个框架,在线博文:http://www.cnblogs.com/hoojo/archive/2011/04/21/2023805.html相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且J转载 2014-06-16 09:44:00 · 395 阅读 · 0 评论 -
Ibatis,Spring整合(注解方式注入)
applicationContext.xmlxml version="1.0" encoding="UTF-8"?>beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www转载 2014-08-06 16:45:15 · 444 阅读 · 0 评论 -
Tomcat性能调优方案
一、操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。 【适用场景】 任何项目。 二、Java虚拟机调优 应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。 J转载 2014-08-29 10:46:54 · 354 阅读 · 0 评论 -
java常见数据库连接池参数
DBCP,C3P0,Proxool,BoneCP参数介绍1 Apache-DBCP: dataSource: 要连接的 datasource (通常我们不会定义在 server.xml) defaultAutoCommit: 对于事务是否 autoCommit, 默认值为 true defaultReadOnly: 对于数据库是否只能读取, 默认值为 false转载 2015-08-25 17:12:02 · 4466 阅读 · 0 评论 -
Linux 下安装mysql两种方法
1. 运行平台:CentOS 6.3 x86_64,基本等同于RHEL 6.32. 安装方法:安装MySQL主要有两种方法:一种是通过源码自行编译安装,这种适合高级用户定制MySQL的特性,这里不做说明;另一种是通过编译过的二进制文件进行安装。二进制文件安装的方法又分为两种:一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件转载 2015-11-13 15:05:49 · 359 阅读 · 0 评论 -
使用maven+springboot+springmvc+mybaits-spring+mybatis-generator开发
使用springboot+springmvc+mybatis-generator开发web程序,也算是自己参考网上的知识自己写出来的吧,里面还很多东西值得深究学习 使用IDEA和MAVEN新建springboot项目:具体怎么新建网上很多 使用maven就看一下pom.xml文件<?xml version="1.0" encoding="UT...转载 2018-02-22 15:24:01 · 469 阅读 · 0 评论 -
CAS与Spring的集成
介绍CASCAS 是Yale(耶鲁)大学的一个开源的企业级单点登录系统,它的特点:Java (Spring Webflow/Spring Boot) 服务组件可插拔身份验证支持(LDAP,Database,X.509,MFA)支持多种协议(CAS,SAML,OAuth,OpenID,OIDC)跨平台客户端支持(Java,.Net,PHP,Perl,Apache等)与uPortal,Liferay...转载 2018-05-07 11:30:36 · 5118 阅读 · 0 评论 -
JAX-RS入门 七: 数据处理(2)
上节介绍了JAX-RS中怎么与一些基础的对象进行交互,这节介绍JAXB和JSON的使用。 一、JAXB 关于JAXB知识,可以去网上搜搜,或者要入门的话,可以看:http://liugang594.iteye.com/category/201713 。 为了在XML和对象间进行映射,修改一下Customer类,添加JAXB相关的annotations转载 2014-02-24 13:12:44 · 806 阅读 · 0 评论 -
AX-RS入门 六: 数据处理(1)
接下来要花两小节来介绍一下JAX-RS中的数据处理(Data Handlers)部分。 一、SteamingOutput在第一节中(http://liugang594.iteye.com/blog/1491434),看getCustomer()方法:Java代码 public StreamingOutput getCustomer(in转载 2014-02-24 13:11:50 · 1024 阅读 · 0 评论 -
Spring3+Hibernate3(Jpa) 配置多个数据源的解决方案(基于注解)
----------------配置文件---------------------------------------------------------------------META-INF/persistence.xml------------------------------------------------------[html] view plain转载 2013-10-16 09:12:15 · 782 阅读 · 0 评论 -
log4j的使用
1、 Log4j是什么? Log4j可以帮助调试(有时候debug是发挥不了作 用的)和分析,要下载和了解更详细的内容,还是访问其官方网站吧: http://jakarta.apache.org/log4j 。2、Log4j的概念 Log4j中有三个主要的组件,它们分别是 Logger、Appender和Layout,Log4j 允许开发人员定义多个Logger,每个Lo转载 2013-10-16 11:52:47 · 418 阅读 · 0 评论 -
linux下web开发环境搭建
JAVA运行环境:j2sdk-1_4_2_05数据库服务器:MySQL-4.0.20dWeb服务器:Tomcat5.0.27JDBC驱动程序:mysql-connector-java-3.0.14-production-bin.jar1、搭建JAVA的运行环境(1)到Sun公司下载j2sdk-1_4_2_05-linux-i586-rpm.bin(2)将文件改为可执行文件:转载 2013-10-10 09:25:59 · 845 阅读 · 0 评论 -
Myeclipse8.5中svn插件安装方法总结
方法一:在线安装 1.打开HELP->MyEclipse Configuration Center。切换到SoftWare标签页。 2.点击Add Site 打开对话框,在对话框Name输入Svn,URL中输入:http://subclipse.tigris.org/update_1.6.x 3.在左边栏中找到Personal Site中找到SVN展开。将Core SVNKi转载 2013-10-24 10:53:50 · 536 阅读 · 0 评论 -
java.net.SocketException: Too many open files 问题的解决
今天一个应用日志显示异常:java.net.SocketException: Too many open files这是因为网络请求过多,也就导致了系统打开的文件过多。每一个连接都会当成“文件”看待的。于是用命令ulimit -a(效果:查看每个用户允许打开的最大文件数)看到最大文件数是1024,将其更改大点,如ulimit -n 4096然转载 2013-10-24 13:02:38 · 621 阅读 · 0 评论 -
java.lang.OutOfMemoryError: GC overhead limit exceeded
错误代码:java.lang.OutOfMemoryError: GC overhead limit exceeded原因分析:该错误为JDK6新增错误类型。当GC为释放很小空间占用大量时间时抛出。一般是因为堆太小,导致异常的原因:没有足够的内存。解决办法:首先查看系统是否有使用大内存的代码或死循环,然后可以通过调整如下参数来解决:JVM o转载 2013-10-24 13:03:47 · 1066 阅读 · 0 评论 -
JAX-RS入门 四: 注入
一、Annotations@javax.ws.rs.PathParam: 从URI模板参数中提取数据@javax.ws.rs.MatrixParam:从URI中提取Matrix参数@javax.ws.rs.QueryParam:从URI中提取查询参数@javax.ws.rs.FormParam:提取Post Form参数@javax.ws.rs.HeaderParam:提取HTTP请求头信转载 2014-02-24 13:09:05 · 1948 阅读 · 0 评论 -
JAX-RS入门 五: 自动类型转换
一、默认类型转换规则 在上一节中,已经了解了怎么使用那个annotations去提取请求中各种信息,不过得到的信息值默认都是一个string类型。 这一节介绍JAX-RS一些内置的自动类型转换及其规则。 理论上JAX-RS可以将请求信息转换成任一Java类型,只要该Java类型满足以下条件之一:基本类型: int、short、float、do转载 2014-02-24 13:10:32 · 558 阅读 · 0 评论 -
JAX-RS入门 八: HTTP响应
首先先看一下HTTP中定义的响应码及其意义: 响应码含义100继续101分组交换协议200OK201被创建202被采纳203非授权信息204无内容205重置内容转载 2014-02-24 13:15:43 · 623 阅读 · 0 评论 -
JAX-RS入门 十一:HATEOAS
HATEOAS全称:超媒体即状态应用引擎 (Hypermedia As The Engine Of Application State)。 一、Atom Links RESTful使用Atom Syndication Format来实现HATEOAS。Atom Links 也是一种xml元素结构,例如:Xml代码 customers>转载 2014-02-24 13:19:15 · 672 阅读 · 0 评论 -
JAX-RS入门 十二: 可伸缩的JAX-RS应用
一、HTTP Caching HTTP1.0中定义了Expires来指定cache在浏览器的生命时长。例如:Html代码 HTTP/1.1 200 OK Content-Type: application/xml Expires: Tue, 15 May 2011 16:00 GMT Customer id="1">...Cu转载 2014-02-24 13:20:08 · 506 阅读 · 0 评论 -
HTTP协议头部与Keep-Alive模式详解
1、什么是Keep-Alive模式?我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive转载 2014-02-24 13:21:02 · 448 阅读 · 0 评论 -
JAX-RS入门 一 :基础
简介JAX-RS是一套用java实现REST服务的规范,提供了一些标注将一个资源类,一个POJOJava类,封装为Web资源。标注包括:@Path,标注资源类或方法的相对路径@GET,@PUT,@POST,@DELETE,标注方法是用的HTTP请求的类型@Produces,标注返回的MIME媒体类型@Consumes,标注可接受请求的MIME媒体类型@PathParam,@Quer转载 2014-02-24 13:05:17 · 745 阅读 · 0 评论 -
JAX-RS入门 二 :运行
上一节,已经成功的定义了一个REST服务,并且提供了具体的实现,不过我们还需要把它运行起来。 在上一节的装备部分,列举了必须的jar(在tomcat中运行)和可选的jar(作为一个独立的应用程序运行)。这一节将分别介绍如何做为一个独立的应用程序运行和如何在tomcat里运行。 Tomcat(或者其他Web容器)中运行要在tomcat之类的容器里运行,首先需要转载 2014-02-24 13:06:24 · 612 阅读 · 0 评论 -
JAX-RS入门 三 :细节
一、若希望一个Java类能够处理REST请求,则这个类必须至少添加一个@Path("/")的annotation;对于方法,这个annotation是可选的,如果不添加,则继承类的定义。 二、一个方法上只有添加了某个Http Method的annotation,例如@GET,才有资格处理请求。 三、@Path里的值可以是一个复杂的表达式,例如@Path("{id}"转载 2014-02-24 13:07:52 · 644 阅读 · 0 评论 -
java读写分离的实现
1. 背景我们一般应用对数据库而言都是“读多写少”,也就说对数据库读取数据的压力比较大,有一个思路就是说采用数据库集群的方案,其中一个是主库,负责写入数据,我们称之为:写库;其它都是从库,负责读取数据,我们称之为:读库; 那么,对我们的要求是:1、读库和写库的数据一致;(这个是很重要的一个问题,处理业务逻辑要放在service层去处理,不要在dao或者mapper层面去处理)2、写数据必须写到写...转载 2018-06-19 15:20:08 · 287 阅读 · 0 评论