SSH框架
文章平均质量分 92
c.
这个作者很懒,什么都没留下…
展开
-
Spring的Java配置方式
Spring的发展Spring1.x 时代在Spring1.x时代,都是通过xml文件配置bean,随着项目的不断扩大,需要将xml配置分放到不同的配置文件中,需要频繁的在java类和xml配置文件中切换。Spring2.x时代随着JDK 1.5带来的注解支持,Spring2.x可以使用注解对Bean进行申明和注入,大大的减少了xml配置文件,同时也大大简化了项目的开发。那么,问题来了,究竟是应该使原创 2018-01-02 17:46:59 · 1851 阅读 · 0 评论 -
quartz整合Spring注入Service时空指针异常问题解决
利用Quartz可以实现定时任务,但在跟spring整合后,直接在Job中注解方式注入Service后运行却报空指针异常。原因是Quartz初始化是自己的JobContext,不同于Spring的ApplicationContext,所以无法直接注入。必须通过JobDetail中的需要进行如下的方式进行注入:原创 2017-03-20 15:57:34 · 2504 阅读 · 0 评论 -
SSH中集成Quartz任务调度
我在用SSH框架写图书管理系统的时候,需要对借阅图书进行逾期的处理,我想到了使用Quartz任务调度,定时对借阅表的借阅时间和截止时间进行检查。所以需要对Quartz有一定的了解和如何在Spring中配置Quartz。目前的版本已经是2.0以上,v2.x相对于v1.x有很多新特性出现,并有很多的改动,具体参见Quartz官网上说明。这里介绍的仍然是v1.x(v1.7.3)。 Spring所用的版本原创 2017-03-20 14:14:08 · 1347 阅读 · 1 评论 -
org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property
我在用SSH框架写一个图书管理系统的时候,在一对一映射进行添加的时候出现了如下错误:org.springframework.orm.hibernate3.HibernateSystemException: attempted to assign id from null one-to-one property [com.cc.library.domain.BackInfo.borrowInfo];原创 2017-03-19 12:40:41 · 2242 阅读 · 0 评论 -
org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: XXX的解决方案
出现这个异常,大多是因为我们在HQL和SQL语句的使用上造成混淆。因为Hibernate使用的是hql语法,而sql语法和它是有区别的。例如我在用SSH框架写图书管理系统的时候就出现了如下的报错:org.springframework.orm.hibernate3.HibernateQueryException: could not resolve property: readerId of: co原创 2017-03-18 20:14:39 · 5429 阅读 · 0 评论 -
hibernate双向关联和json-lib使用的死循环问题的解决
在我用ssh框架做图书管理系统的时候,用hibernate对图书和图书分类进行和双向关联。 在取出所有的图书分类并转化成json字符串的时候会报错。原因是取出的图书类型包含set类型的图书集合,josn-lib转化的时候出现了死循环。解决方法: 设置过滤器,jsonConfig.setJsonPropertyFilter(new PropertyFilter(){}) 此方法有三个参数,第一个原创 2017-03-05 10:14:18 · 2702 阅读 · 0 评论 -
failed to lazily initialize a collection of role: ......, no session or session was closed
我在用ssh框架编写图书管理系统的时候遇到了这样的错误org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.cc.library.domain.Reader.borrowInfos, no session or session was closed at原创 2017-03-01 20:47:27 · 1745 阅读 · 0 评论 -
Struts2+spring+hibernate整合
Struts2+spring+hibernate整合新建工程新建工程,类型为Web Project,设置默认编码为UTF-8,并创建如下文件夹1,Source Folder 1,src 项目源码 2,conf 配置文件 3,test 单元测试 2,普原创 2017-02-12 16:11:06 · 439 阅读 · 0 评论 -
Spring与Hibernate整合
Spring与Hibernate整合HibernateTemplate模板1、 如果一个DAO类继承了HibernateDaoSupport,只需要在spring配置文件中注入SessionFactory就可以了。 2、 如果一个DAO类没有继承HibernateDaoSupport,需要有一个SessionFactory的属性,并且在配置文件中进行注入。 声明式事务配置XML文件例如:原创 2017-02-12 15:22:10 · 359 阅读 · 0 评论 -
Spring+JDBC编程
Jdbc编程特点静态代码+动态变量 = jdbc编程。在spring中动态变量可以用注入的形式给予。这样的编程方式适合包装成模板。静态代码构成了模板,而动态变量则是需要传入的参数。引入DataSource在spring中注入DataSource核心类JdbcTemplate1、 基于模板的设置(为什么可以设置成基于模板的形式) 2、 完成了资源的创建和释放的工作 3、 简化为我们对JDBC原创 2017-02-12 10:19:26 · 430 阅读 · 0 评论 -
Spring的AOP编程
概念A. Aspect(切面) 比如说事务、权限等,与业务逻辑没有关系的部分 B. joinpoint(连接点) 目标类的目标方法。(由客户端在调用的时候决定)C. Pointcut(切入点) 所谓切入点是指我们要对那些拦截的方法的定义. 被纳入spring aop中的目标类的方法。D. Advice(通知) 所谓通知是指拦截到joinpoint之后所要做的事情就原创 2017-02-11 14:54:32 · 454 阅读 · 0 评论 -
Spring的两种代理方式:JDK动态代理和CGLIB动态代理
代理模式代理模式的英文叫做Proxy或Surrogate,中文都可译为”代理“,所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 A. 抽象主题角色 声明了真实主题和代理主题的共同接口,这样一来在任何可以使用真实主题的地方都可以是使用代理主题 B. 代理主题(Prox原创 2017-02-10 14:04:59 · 40952 阅读 · 15 评论 -
Spring基本功能详解
SpringIOCSpring的控制反转:把对象的创建、初始化、销毁等工作交给spring容器来做。由spring容器控制对象的生命周期。步骤: A. 启动spring容器在类路径下寻找配置文件来实例化容器 ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"beans.xml"});可以原创 2017-02-08 14:47:27 · 7170 阅读 · 1 评论 -
Spring的基本特征和配置
Spring基本特征 Spring是一个非常活跃的开源框架;它是一个基于Core来构架多层JavaEE系统的框架,它的主要目地是简化企业开发. Spring以一种非侵入式的方式来管理你的代码,Spring提倡”最少侵入”,这也就意味着你可以适当的时候安装或卸载Spring Spring的组成Spring的jar包到http://www.springsource.org/download下载spr原创 2017-02-08 10:48:41 · 1524 阅读 · 0 评论 -
Hibernate错误分析
错误原因: 在hibernate内部,不知道Person是一个持久化类 错误之一: 在hibernate.cfg.xml文件中,没有把person的映射文件加进去错误原因: 表不存在 根据持久化类和映射文件没有建立表 在hibernate.cfg.xml中,得配置---------- <property name="hbm2ddl.auto原创 2017-02-06 11:02:25 · 769 阅读 · 0 评论 -
Hibernate的检索方式
HQL(Hibernate Query Language)HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能:在查询语句中设定各种查询条件支持投影查询, 即仅检索出对象的部分属性支持分页查询支持连接查询支持分组查询, 允许使用原创 2017-02-06 10:07:24 · 304 阅读 · 0 评论 -
Hibernate 二级缓存
缓存的概念计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存Hibernate中提供了两个级别的缓存Session 级别的缓存它是属于事务范围的缓存。这一级别的缓存由 hibernate 管理的,一般情况下无需进行干预Se原创 2017-02-05 21:34:43 · 272 阅读 · 0 评论 -
Hibernate检索策略
类级别检索策略立即检索 在Classes.hbm.xml文件中,以下表示采用立即检索策略:<class name="cn.itcast.hibernate0909.fetch.Classes" lazy="false"> 延迟检索 在Classes.hbm.xml文件中,以下表示采用延迟检索策略:<class name="cn.itcast.hibernate0909.fetch.Cl原创 2017-02-05 15:53:30 · 337 阅读 · 0 评论 -
Hibernate 深入Session
session概述Session 接口是 Hibernate 向应用程序提供的操纵对数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载Java 对象的方法.session的产生方式session的产生方法一session的产生方法二 配置hibernate.cfg.xml文件 测试session的产生方式 package cn.itcast.hibernate0909.ses原创 2017-02-05 01:35:50 · 924 阅读 · 0 评论 -
Hibernate 映射多对多关联关系
多对多持久化类和映射文件的搭建1.创建持久化类1.创建Student类package cn.itcast.hibernate0909.manytomany;import java.io.Serializable;import java.util.Set;public class Student implements Serializable{ private Long sid; p原创 2017-02-04 00:03:43 · 2817 阅读 · 0 评论 -
Hibernate 映射一对多关联关系
单向关联仅仅建立从Order到Customer的多对一关联,即仅仅在Order类中定义customer属性。或者仅仅建立从Customer到Order的一对多关联,即仅仅Customer类中定义orders集合。 单向 n-1 关联只需从 n 的一端可以访问 1 的一端 域模型: 从 Order 到 Customer 的多对一单向关联需要在Order 类中定义一个 Customer 属性,原创 2017-02-03 22:25:00 · 550 阅读 · 0 评论 -
org.hibernate.exception.SQLGrammarException: could not fetch initial value for increment generator
以下是我的映射文件 Order.hbm.xml<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-mapping-3.0.dt原创 2017-02-03 14:14:21 · 3923 阅读 · 0 评论 -
Hibernate 一对多双向关联
一对多双向持久化类和映射文件的搭建1.创建持久化类1.创建Classes类package cn.itcast.hibernate0909.onetomany.doubl;import java.io.Serializable;import java.util.Set;public class Classes implements Serializable{ private Long cid原创 2017-02-02 20:13:04 · 554 阅读 · 0 评论 -
Hibernate 一对多单向关联
一对多持久化类和映射文件的搭建1.创建持久化类1.创建Classes类package cn.itcast.hibernate0909.onetomany.single;import java.io.Serializable;import java.util.Set;public class Classes implements Serializable{ private Long cid;原创 2017-02-02 15:07:53 · 508 阅读 · 0 评论 -
Hibernate 持久化对象的状态
持久化对象的状态持久化对象有3种状态:持久化状态临时状态游离状态Session 的特定方法能使对象从一个状态转换到另一个状态临时对象(transient)• 在使用代理主键的情况下, OID 通常为 null • 不处于 Session 的缓存中 • 在数据库中没有对应的记录 持久化对象(也叫”托管”)(Persist)• OID 不为 null • 位于 Ses原创 2017-02-01 19:37:53 · 312 阅读 · 0 评论 -
Hibernate的主键的生成策略
主键生成机制increment 标识符生成器1.配置Person.hbm.xml文件2.配置hibernate.cfg.xml文件<?xml version='1.0' encoding='utf-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//E原创 2017-02-01 14:52:09 · 378 阅读 · 0 评论 -
Hibernate的SessionFactory类小结
Hibernate的SessionFactory类小结1、在sessionFactory中存放着配置文件和所有的映射文件 2、sessionFactory是一个重量级别的类 3、一个数据库只能有一个sessionFactory 4、一个配置文件只能连接一个数据库 5、只要创建了sessionFactory,表就创建完毕了 6、sessionFactory中存放的数据是共享数据,但是这个类本原创 2017-02-01 12:14:39 · 650 阅读 · 0 评论 -
Hibernate流程解析
Hibernate流程解析1.配置*.hbm.xml代表所有的映射文件 ,建立表和类的关系 表到类的映射字段的名称到属性的名称的映射字段的类型到属性的类型的映射2.配置hibernate.cfg.xml文件包括了数据库的连接信息还有导入映射文件 3.加载配置文件4.产生sessionFactory的过程5.产生session6.分支操作1.利用session进行查询2.cud的操作se原创 2017-02-01 11:33:03 · 307 阅读 · 0 评论 -
Hibernate的基本概念和CURD
基本概念ORM框架 ——hibernate1.开源的持久层框架. 2.ORM(Object/Relational Mapping)映射工具,建立面向对象的域模型和关系数据模型之间的映射. 3.连接java应用和数据库的中间件. 4.对JDBC进行封装,负责java对象的持久化. 5.在分层结构中处于持久化层,封装对数据库的访问细节, 使业务逻辑层更专注于实现业务逻辑Hibernate原创 2017-02-01 10:18:12 · 407 阅读 · 0 评论 -
Hibernate的安装配置
引入模型不匹配(阻抗不匹配)Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等;数据库是关系模型,其主要概念有:表、主键、外键等。解决办法1使用JDBC手工转换。 2使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有Hibernate、TopLink、OJB。JDBC的优点和缺点JDBC的优点 直接原创 2017-01-31 13:43:33 · 4239 阅读 · 0 评论 -
Struts2 UI标签
概述表单标签将在 HTML 文档里被呈现为一个表单元素使用表单标签的优点: 表单回显对页面进行布局和排版标签的属性可以被赋值为一个静态的值或一个 OGNL 表达式. 如果在赋值时使用了一个 OGNL 表达式并把它用 %{} 括起来, 这个表达式将会被求值.表单标签的共同属性 * 该属性只在没有使用 simple 主题时才可以使用. form 标签使用方式:textfield, pas原创 2017-01-16 22:10:22 · 459 阅读 · 0 评论 -
Struts2 模型驱动与令牌拦截器
ModelDriven模型驱动把动作和模型隔开在使用 Struts 作为前端的企业级应用程序时把动作和模型清晰地隔离开是有必要的: 有些动作类不代表任何模型对象, 它们的功能仅限于提供图文显示服务 ModelDriven 拦截器情景: 有一个用来处理客户的 CustomerAction 类, 该动作类实现了 ModelDriven 接口.当用户触发CustomerAction 动作时, Mod原创 2017-01-16 15:43:40 · 661 阅读 · 0 评论 -
Struts2 OGNL标签
1.设置jsp页面<%@ page language="java" pageEncoding="utf-8" contentType="text/html; charset=utf-8"%><%@ taglib uri="/struts-tags" prefix="s"%><html> <head> <title>My JSP 'index.jsp' starting page<原创 2017-01-16 14:45:58 · 468 阅读 · 0 评论 -
解决警告: couldn't clear tomcat cache java.lang.NoSuchFieldException: resourceEntries
警告: couldn't clear tomcat cachejava.lang.NoSuchFieldException: resourceEntries at java.lang.Class.getDeclaredField(Class.java:1882) at com.opensymphony.xwork2.util.LocalizedTextUtil.clearMap(L原创 2017-01-16 12:04:58 · 7322 阅读 · 0 评论 -
Struts2 OGNL表达式语言
OGNL表达式语言(#号的用法)用法1:访问OGNL上下文和Action上下文,#相当ActionContext.getContext()jsp页面配置struts_ognl.xml文件<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Strut原创 2016-12-30 10:55:15 · 527 阅读 · 0 评论 -
Struts2 OGNL入门
OGNL表达式语言介绍OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写, 它是一个开源项目。 Struts2框架使用OGNL作为默认的表达式语言。 OGNL相对其它表达式语言具有下面几大优势:支持对象方法调用,如xxx.doSomeSpecial(); 支持类静态的方法调用和值访问,表达式的格式: @[类全名(包括包路径)]@[方法原创 2016-12-28 20:53:09 · 453 阅读 · 0 评论 -
ognl.NoSuchPropertyException: com.opensymphony.xwork2.validator.validators.RegexFieldValidator.expre
警告: Caught OgnlException while setting property 'expression' on type 'com.opensymphony.xwork2.validator.validators.RegexFieldValidator'.ognl.NoSuchPropertyException: com.opensymphony.xwork2.validator.原创 2016-11-29 15:23:02 · 2228 阅读 · 3 评论 -
Struts2框架xml验证
struts2框架验证(xml方式)首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法创建一个xml格式验证文件:命名方式:ActionClassName-validation.xml,ActionClassName指的是动作类action的名称标签:根元素field:指定action中要校验的属性,实际上就是页面中表单的name属性的值原创 2016-11-29 15:17:47 · 2965 阅读 · 0 评论 -
Struts2手动验证
struts2手动验证* 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法* 要继承ActionSupport类或者实现Validateable接口* 重写Validateable接口的validate()方法 * 前提是:要保证setUsername()、validate()、login()方法要按照这个先后顺序执行* 如果登录失败原创 2016-11-29 13:20:38 · 896 阅读 · 0 评论 -
Struts2自定义拦截器
Struts2 拦截器举例Struts2 拦截器Struts2 拦截器在访问某个 Action 方法之前或之后实施拦截,Struts2 拦截器是可插拔的,拦截器是 AOP(spring会讲到,现在不理会) 的一种实现.拦截器栈(Interceptor Stack): 将拦截器按一定的顺序联结成一条链. 在访问被拦截的方法时,Struts2拦截器链中的拦截器就会按其之前定义的顺序被依次调用.Inter原创 2016-11-21 15:22:23 · 522 阅读 · 0 评论