
java技术
文章平均质量分 86
randomnet
这个作者很懒,什么都没留下…
展开
-
SHH框架的搭建
SSH框架的搭建1、导入jar包建立一个Web项目,然后导入如下包l struts2包:在struts2-blank.war下的lib目录下,以及struts-2.3.15.1\lib下的struts和spring整合的插件包struts2-spring-plugin-2.3.15.1.jarl hibernate包:hibernate-distribution-3.6.10.原创 2014-01-15 11:50:04 · 1961 阅读 · 0 评论 -
hibernate常用包简介
Hibernate3.jar 这个是hibernate最主要的jar包ant-1.63.jar Ant 的核心包,在构建Hibernate 时会用到antlr-2.7.5H3.jar 语言转换工,Hibernate利用它实现 HQL 到 SQL的转换asm.jar/asm-attrs.jar ASM 字节转换库c3p0转载 2013-03-19 17:11:07 · 750 阅读 · 0 评论 -
ActionContext、ValueStack、OGNL
本文简要介绍struts2中几个核心的组件ActionContext、ValueStack、OGNL表达式1、ActionContext当struts2框架接收到一个HTTP请求时,它立刻创建一个ActionContext、ValueStack、Action对象ActionContext里有6个对象,分别是valueStack、parameters、request、sess转载 2013-03-16 22:45:08 · 721 阅读 · 0 评论 -
ognl.OgnlException: target is null for setProperty(null, "description", [Ljava.lang.String;@12069f2
ognl.OgnlException: target is null for setProperty(null, "description", [Ljava.lang.String;@12069f2) at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1651) at ognl.ASTProperty.setValueBody(AST原创 2013-03-16 15:18:30 · 795 阅读 · 0 评论 -
ValueStack
Struts2是通过ValueStack来进行赋值与取值的。ValueStack实际上就是对OGNL的封装,OGNL主要的功能就是赋值与取值。ValueStack中的数据,分两个部分存放:root和context同时ValueStack暴露相关的接口(赋值和取值):void setValue(String expr, Object value);Object findVal转载 2013-03-16 22:47:20 · 1854 阅读 · 0 评论 -
struts2的常量配置和properties文件的配置
struts2的常量配置: 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 --> spring 托管 =======================以下配置信息在properties文件转载 2013-03-16 15:48:19 · 1365 阅读 · 0 评论 -
@GeneratedValue
一、JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里的@id和@GeneratedValue都是JPA的标准用法, JPA提供四种标准用法,由@GeneratedValue的源代码可以明显看出. Java代码转载 2013-03-29 21:13:14 · 697 阅读 · 0 评论 -
Struts2自定义类型转换
原理struts2的自定义类型转换机制为复杂类型的输入输出处理提供了便捷.struts2已经为我们提供了几乎所有的primitive类型以及常用类型(如Date)的类型转换器,我们也可以为我们自定义类添加自定义类型转化器.struts2为我们提供了一个类型转化器的入口: ognl.DefaultTypeConverter,或继承org.apache.struts2.util.StrutsT转载 2013-03-16 22:49:20 · 817 阅读 · 0 评论 -
struts2中对于default-action-ref配置的解析思路
最近重新看了一下struts2,另外把里面的一些原理以及相应的知识点复习了一遍,另外看了一下视频教程。今天在复习default-action-ref的时候遇到了一个问题,因为看了视频教程,而且在网上查了一下相应的信息,对于package中default-action-ref的用法很多人有着不同的意见。有的人认为这是一个bug。我来大致说一下我个人的理解,如果有说到不对的地方,请各位给予建议转载 2013-03-16 16:27:30 · 1454 阅读 · 0 评论 -
hibernate常用核心开发接口
Hibernate的核心接口所有的Hibernate应用都会访问Hibernate的5个核心接口。1. Configuration接口:配置Hibernate,根启动Hibernate,创建SessionFactory对象。2. SessionFactory接口:初始化Hibernate,充当数据存储源的代理,创建Session对象。转载 2013-03-28 22:47:09 · 763 阅读 · 0 评论 -
Java序列化的机制和原理
有关Java对象的序列化和反序列化也算是Java基础的一部分,下面对Java序列化的机制和原理进行一些介绍。Java序列化算法透析Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及J转载 2013-03-28 21:34:36 · 610 阅读 · 0 评论 -
JSP中的路径问题,重定向与转发
在jsp中经常会遇到路径的问题,出现404的错误或者是图片无法显示。这个问题主要有以下几方面产生,分别解决: 1 链接或表单提交的路径 2 重定向和转发的路径 3 在MyEclipse有jsp的两种模板advanced 和 base Templates的路径问题 以下为解决之道:1 表单提交和链接都是从客户端请求请求而来 /指的Tomcat的根目转载 2013-03-03 14:40:18 · 1966 阅读 · 0 评论 -
@BeforeClass/@AfterClass 和 @Before/@After的区别
@BeforeClass and @AfterClass@Before and @After在一个类中只可以出现一次在一个类中可以出现多次,即可以在多个方法的声明前加上这两个Annotaion标签,执行顺序不确定方法名不做限制方法名不做限制在类中只运行一次在每个测试方法之前或者之后都会运行一次@BeforeClass父类中转载 2013-04-02 20:36:45 · 864 阅读 · 0 评论 -
Hibernate 常见错误
Hibernate 常见错误 常见错误: 1.Causedby: org.dom4j.DocumentException: Invalid byte 2 of 2-byte UTF-8 sequence.Nested exception: Invalid byte 2 of 2-byte UTF-8 sequence.如果出现这行错误说明你的XML配置文件有不规范的字符,检查下。转载 2013-03-20 21:20:21 · 778 阅读 · 0 评论 -
java 常量池
常量池用于保存在编译期已确定的,已编译的,class文件中的一份数据,它包括了关于类,方法,接口等中的常量,也包括字符串常量。如第一种声明方式,当然也可扩充,执行器产生的常量也会放入常量池,故认为常量池是JVM的一块特殊的内存空间。用new String()创建的字符串不是常量,不能在编译期就确定,所以new String()创建的字符串不放入常量池中,他们有自己的地址空间。Str转载 2013-08-11 17:33:39 · 648 阅读 · 0 评论 -
Spring Autowire自动装配
残梦追月原创,转载请注明。在应用中,我们常常使用标签为JavaBean注入它依赖的对象。但是对于一个大型的系统,这个操作将会耗费我们大量的资源,我们不得不花费大量的时间和精力用于创建和维护系统中的标签。实际上,这种方式也会在另一种形式上增加了应用程序的复杂性,那么如何解决这个问题呢?Spring为我们提供了一个自动装配的机制,尽管这种机制不是很完善,但是在应用中结合标签还是可以大大的减少我们的转载 2013-04-28 21:35:37 · 730 阅读 · 0 评论 -
Hibernate常见错误合集
1.错误:object references an unsaved transient instance - save the transient instance before flushing:com.xxxx.bean.java.Sysblog; nested exception is org.hibernate.TransientObjectException: object refer转载 2013-04-19 17:56:22 · 3443 阅读 · 1 评论 -
java反射详解
本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解。下面开始正文。【案例1】通过一个对象获得完整的包名和类名package Reflect; /** * 通过一个对象获得完整的包名和类名 * */class Demo{ //other codes...}转载 2013-04-25 19:48:18 · 683 阅读 · 0 评论 -
ManyToMany关联映射
以下是两个实体类:用户类User和角色类Role,它们之间是多对多的关系。//用户表@Entity@Table(name="rong_user")public class User{ //省略其它内容 private SetRole> roles = new LinkedHashSetRole>(); //角色集合 @Ma转载 2013-04-17 15:11:34 · 881 阅读 · 0 评论 -
Hibernate的3种继承关系
Hibernate继承映射 在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子关系,表与表是没有继承关系这样的说法的。为了将程序领域中的继承关系反映到数据中,Hibernate为我们提供了3中方案:第一种方案:一个子类对应一张表。第二种转载 2013-04-15 21:38:35 · 830 阅读 · 0 评论 -
mappedBy跟JoinColumn/JoinTable .
a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;b) mappedBy标签一定是定义在the owned side(被拥有方的),他指向the owning side(拥有方);c) mappedBy的含义,应该理解为,拥有方能够自动维护 跟被拥有方的关系; 当然,如果从被拥有方,通过手工强行来维护拥转载 2013-04-10 21:42:54 · 796 阅读 · 0 评论 -
系统学习hibernate之一:利用hibernate中的SchemaExport生成数据表
PS:一般在项目开发过程中,使用比较多的就是先建好表,再利用hibernate反向工程生成*.hbm.xml文件跟POJO类,个人认为由于目前所使用的数据库都是关系数据库,而hibernate作为一个ORM,把对数据库的操作都对象化了,更应当从对象出发,生成数据库里面相关表,这样更加符合人认知事物的习惯。 由于hibernate3提供了自带的工具hbm2ddl,建立根据你的对象建立转载 2013-04-08 18:09:34 · 643 阅读 · 0 评论 -
初探SchemaExport工具使用
本节内容 引入 SchemaExport工具 SchemaUpdate工具 实例分析 结语 引入 我其实都是一直先编写持久化类和映射文件,然后使用SchemaExport工具生成数据库架构。这样的方式就是领域驱动设计/开发(DDD,Domain Driven Design/Development)。我的理解是系统的设计应该基于对象模型,主要考虑对转载 2013-04-08 17:07:24 · 695 阅读 · 0 评论 -
Hibernate核心开发接口
Hibernate核心开发接口 1、Configuratea)AnnotationConfigurationb)进行配置信息管理c)用来产生SessionFactoryd)可以在configure中指定hibernate配置文件sessionFactory = newAnnotationConfiguration().configure(“hibernate.xml”)转载 2013-04-04 17:27:36 · 806 阅读 · 0 评论 -
@TableGenerator
最近工作中遇到了许多用表生成器TableGenerator来生成主键的项目,刚接触的朋友可能对TableGenerator 表生成器还不是很了解,因为大家如果是个人做项目练习着来玩的话,基本上都是用自增来实现TableGenerator 表生成器的功能。下面为大家来讲解一下,并附带实例;首先,我们一起来看一下Java EE 5框架API文档的描述:javax.persistenceAnno转载 2013-04-03 22:42:11 · 2931 阅读 · 0 评论 -
struts2取得request,session,appilcation的方法
Map类型——request,session,application真实类型——HttpServletRequest,HttpSession,ServletContextMap类型是Struts对真实类型的一个封装,会将真实类型映射到Map类型中取得上述元素有以下4种方法1 通过ActionContext来访问request,session,application对象2转载 2013-03-02 22:26:10 · 1992 阅读 · 0 评论 -
Servlet中doGet与doPost的区别
Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一: doGet:处理GET请求 doPost:处理POST请求 当发出客户端请求的时候,调用service 方法并传递一个请求和响应对象。Servlet首先判断该请求是GET 操作还是POST 操作。然后它调用下面的一个方法:doGet 或 doPost。如果请求是转载 2013-03-11 22:01:01 · 1161 阅读 · 0 评论 -
浅谈struts2之chain
前一段时间,有关chain的机制着实困绕了许久.尽管网上有许多关于chain的解说,但要不是只谈大理论,不结合实例;要不就是只有示例,没有挖出示例背后的意义. 先解释下chain吧: Chain:基本用途是构造成一条动作链。前一个动作将控制权转交给后一个动作,而前一个动作的状态在后一个动作里仍然保持着。动作链由Chaining拦截器负责处理,因为这个拦截器是defaultStack转载 2013-03-10 20:07:47 · 22462 阅读 · 5 评论 -
newInstance()方法和new关键字
在初始化一个类,生成一个实例的时候,newInstance()方法和new关键字除了一个是方法,一个是关键字外,最主要有什么区别?它们的区别在于创建对象的方式不一样,前者是使用类加载机制,后者是创建一个新类。那么为什么会有两种创建对象方式?这主要考虑到软件的可伸缩、可扩展和可重用等软件设计思想。 Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使转载 2012-09-28 19:35:35 · 676 阅读 · 0 评论 -
java大数据处理-大量数据到Excel
在Java Web开发中,经常需要导出大量的数据到Excel,使用POI、JXL直接生成Excel,很容易就造成内存溢出了。 1、有一种方式,就是把数据写成csv格式文件。 1)csv文件可以直接用Excel打开。 2)写csv文件的效率和写txt文件的效率一样高。 3)同样的数据内容,生成的csv文件的大小远远小于生成的Excel文件。 从以上优点就可以看出生成cs转载 2012-07-20 22:31:28 · 2216 阅读 · 0 评论 -
值得阅读的十书JAVA书籍
Java 书籍 Top 10 陈皓http://haoel.blog.51cto.com/ 下面是Java Inside上推荐的十本Java书籍(文章来源),我把中文版的也列了出来。 1)Java Language Specification, Third Edition (by James Gosling) 本书由Java转载 2012-07-18 21:00:25 · 718 阅读 · 0 评论 -
eclipse配置jdk的src.zip源代码步骤
MyEclipse配置JDK的源代码的src.zip包很简单。只需要简单的几个步骤。1.点 “window”-> “Preferences” -> “Java” -> “Installed JRES”2.此时”Installed JRES”右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 “Edit…”, 会出现一个窗口(Edit JRE)3.选中rt.j转载 2012-07-18 20:04:16 · 13687 阅读 · 1 评论 -
ClassLoader的加载过程及分析一
一,ClassLoader的大体过程 如图:详解: 虚拟机一启动,会先做一些初始化的动作。一旦初始化动作完成之后,就会产生第一个类别加载器,即所谓的Bootstrap Loader,Bootstrap Loader 是由C++ 所撰写而成,这个Bootstrap Loader所做的初始工作中,除了也做一些基本的初始化动作之外,最重要的就是加载定义在sun.misc转载 2012-07-12 22:37:20 · 655 阅读 · 0 评论 -
JVM加载class文件的原理机制
1.Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中 2.java中的类大致分为三种: 1.系统类 2.扩展类 3.由程序员自定义的类 3.类装载方式,有两种 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用转载 2012-07-12 22:29:58 · 499 阅读 · 0 评论 -
Hibernate读书笔记-----hibernate的批量处理
Hibernate完全以面向对象的方式来操作数据库,当程序里以面向对象的方式操作持久化对象,将被自动转换为对数据库的操作。但存在这样一个问题,如果我们想同时更新100000条记录,是不是要逐一加载100000条记录,然后依次调用setter方法。采用这种方法实在是太繁琐了,而且严重影响了数据的访问性能。Hibernate提供的批量处理的方案来解决这个问题。 一、批量插入转载 2012-07-07 09:05:46 · 509 阅读 · 0 评论 -
MyEclipse自动生成序列号
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class MyEclipseGen { private static final String LL = "Decompiling this copyrighted software转载 2012-07-04 13:24:00 · 799 阅读 · 0 评论 -
serialVersionUID的作用
serialVersionUID作用: 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式: 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:转载 2012-05-02 19:40:09 · 7439 阅读 · 1 评论 -
StringBuffer的用法
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。在StringBuffer类中存在很多和S转载 2012-04-16 10:16:21 · 24631 阅读 · 4 评论 -
Java String 与 StringBuffer 用法区别
String类用来表示那些创建后就不会再改变的字符串,它是immutable的。而StringBuffer类用来表示内容可变的字符串,并提供了修改底层字符串的方法。 --当我们进行字符拼接时,请使用StringBuffer类而非String类,因为前者将比后者快上百倍。 的确,在程序的太多场合我们都会进行字符串拼接工作,简单的代码示例如下:String str="You are转载 2012-04-16 10:21:16 · 1630 阅读 · 0 评论 -
内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级
关键字:内省、JavaBean、PropertyDescriptor类、Introspector类、BeanUtils工具包、注解、Rentention、Target、注解的基本属性和高级属性内省IntroSpectorJavaBean主要用于传递数据信息,其方法用于访问私有变量,且方法名符合某种规则。如果在两个模块之间传递信息,可以将信息封装进JavaBean中,这种对象称为“值对象转载 2012-09-28 20:12:03 · 972 阅读 · 0 评论