摘要: 把strutslib中的所有jar包添加到类路径 在src下创建struts.xml文件 在web.xml文件中配置“前端控制器”,即Struts2的核心控制器 阅读全文
posted @ 2018-07-22 23:29 开发者导航 阅读(119) 评论(0) 推荐(0)
摘要: ehcache.xml hibernate.cfg.xml 阅读全文
posted @ 2018-07-22 23:22 开发者导航 阅读(215) 评论(0) 推荐(0)
摘要: TeacherModel.hbm.xml 阅读全文
posted @ 2018-07-22 23:09 开发者导航 阅读(174) 评论(0) 推荐(0)
摘要: 缓存的意义 l应用程序中使用的数据均保存在永久性存储介质之上,当应用程序需要使用数据时,从永久介质上进行获取。缓存是介于应用程序与永久性存储介质之间的一块数据存储区域。利用缓存,应用程序可以将使用的数据临时放入缓存,需要再次使用时从缓存中获取,降低应用程序与永久性介质之间数据交换的频率,提升应用程序 阅读全文
posted @ 2018-07-22 23:04 开发者导航 阅读(159) 评论(0) 推荐(0)
摘要: Session对象的生命周期 lHibernate中数据库连接最终包装成Session对象,使用Session对象可以对数据库进行操作。 lSession对象获取方式: •加载所有配置信息得到Configuraction对象 •由Configuraction对象,创建出SessionFactory对 阅读全文
posted @ 2018-07-22 22:48 开发者导航 阅读(196) 评论(0) 推荐(0)
摘要: Hibernate获取数据方式 lHibernate提供了多种方式获取数据 lHibernate获取的数据分为两类 •直接获取的数据(类级数据/直接数据) •使用关联关系获取主方数据时自动获取的从方数据(关联数据) l直接数据都是由某种操作得到的,关联数据是不能由某种操作直接获取,是基于其他操作获取 阅读全文
posted @ 2018-07-22 22:43 开发者导航 阅读(264) 评论(0) 推荐(0)
摘要: package cn.itcast.h3.query.hql; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.O... 阅读全文
posted @ 2018-07-22 22:29 开发者导航 阅读(157) 评论(0) 推荐(0)
摘要: lQBC(Query By Criteria)是一种Hibernate中使用面向对象的格式进行查询的计数lQBC查询方式步骤•获取Session对象•初始化Criteria对象(使用Session对象创建)•由Session对象创建•传入要查询的数据模型类•添加各种查询条件•执行查询返回结果(返回单条数据或集合数据)lQBC查询格式非常简单,更符合编程人员的习惯•Criteria对象用于由Sess... 阅读全文
posted @ 2018-07-22 22:26 开发者导航 阅读(382) 评论(0) 推荐(0)
摘要: package cn.itcast.h3.hql; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import cn.itcast.h3.hql.vo.StudentModel; import cn.itcast.h3.hql.vo.TeacherModel; import ... 阅读全文
posted @ 2018-07-22 22:14 开发者导航 阅读(145) 评论(0) 推荐(0)
摘要: package cn.itcast.h3.hql; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import cn.itcast.h3.hql.vo.StudentModel; import cn.itcast.h3.hql.vo.TeacherModel; import ... 阅读全文
posted @ 2018-07-22 22:13 开发者导航 阅读(144) 评论(0) 推荐(0)
摘要: l缓存是存储数据的临时空间,减少从数据库中查询数据的次数lHibernate中提供有两种缓存机制•一级缓存(Hibernate自身携带)•二级缓存(使用外部技术)lHibernate的一级缓存即Hibernate操作数据时所对应的临时数据存储区域,这个区域是绑定Session对象的,也就是说每开启一个Session对象,就会产生对应的一级缓存空间,当Session对象关闭时,该空间内的数据,也就是... 阅读全文
posted @ 2018-07-22 22:08 开发者导航 阅读(163) 评论(0) 推荐(0)
摘要: lHibernate对象共有三种状态•瞬时状态:瞬时对象•持久化状态:持久化对象•托管状态:托管对象l瞬时对象(Transient Object),简称TOl瞬时对象指的是应用程序创建出来的对象,并且未受到Hibernate控制,一旦Hibernate控制了该对象,具有了OID,对象就不再是瞬时对象l持久化对象(Persistent Object),简称POl持久化对象指的是受Hibernate控... 阅读全文
posted @ 2018-07-22 22:00 开发者导航 阅读(129) 评论(0) 推荐(0)
摘要: lHibernate共提供5种查询方式•OID数据查询方式•HQL数据查询方式•QBC数据查询方式•本地SQL查询方式•OGN数据查询方式OID数据查询方式l前提:已经获取到了对象的OIDl查询:基于OID,使用get/load方法查询对应的数据l作用:使用OID获取对应的数据HQL数据查询方式l前提:已知要进行查询的数据结构和条件l查询:基于Query对象,完成HQL语句的查询,得 到查询结果l... 阅读全文
posted @ 2018-07-22 21:53 开发者导航 阅读(373) 评论(0) 推荐(0)
摘要: 本地SQL查询方式 lHibernate框架支持使用原生态SQL语句进行操作数据库 l查询对象SQLQuery由Session获取 •SQLQuery sq = s.createSQLQuery("select * from tbl_teacher"); l查询结果为Object或Object[] 阅读全文
posted @ 2018-07-22 20:13 开发者导航 阅读(663) 评论(0) 推荐(0)
摘要: 1)手工控制 assigned(不限制类型) 2)数据库自动生成 uuid(字符串类型) increment(整型数值类型) identity (整型数值类型) sequence (整型数值类型) native(整型数值类型) assigned策略是由程序员手工控制输入数据模型OID的一种id生成策 阅读全文
posted @ 2018-07-22 02:26 开发者导航 阅读(289) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-07-22 02:23 开发者导航 阅读(81) 评论(0) 推荐(0)
摘要: 持久化对象唯一标识——OID 1)数据库中使用主键可以区分两个对象是否相同2)Java语言中使用对象的内存地址区分对象是否相同3)Hibernate中使用OID区分对象是否相同Hibernate认为每一个不同的对象应该具有一个唯一的标识,称这个标识为OID;为了使数据模型与数据库表一样使用主键来进行 阅读全文
posted @ 2018-07-22 02:22 开发者导航 阅读(185) 评论(0) 推荐(0)
摘要: Hibernate数据模型用于封装数据,开发时候需要遵从如下规范:1)提供公共无参的构造方法(可使用自动生成的)如果使用投影技术,一定要显式声明公共无参的构造方法2)提供一个标识属性,作为对象的主键,映射数据库表主键通常使用uuid作为主键3)对所有其他属性进行私有化声明,并进行标准封装属性声明时使 阅读全文
posted @ 2018-07-22 02:17 开发者导航 阅读(127) 评论(0) 推荐(0)
摘要: hibernate.cfg.xml hibernate.properties 阅读全文
posted @ 2018-07-22 02:15 开发者导航 阅读(124) 评论(0) 推荐(0)
摘要: ConfigurationSessionFactorySessionTransactionQueryCriteria Configuration Configuration对象用于封装Hibernate的配置信息,在Hibernate框架启动后,需要装载对应的配置文件。Hibernate的配置文件有 阅读全文
posted @ 2018-07-22 02:05 开发者导航 阅读(156) 评论(0) 推荐(0)
摘要: SQLQuery对象的获取 Hibernate支持使用原生SQL语句进行查询,通过session对象获得SQLQuery对象进行,需要传入SQL语句 SQLQuery createSQLQuery(String sqlStr) SQLQuery query = session.createSQLQu 阅读全文
posted @ 2018-07-22 01:40 开发者导航 阅读(305) 评论(0) 推荐(0)
摘要: 插入数据删除数据修改数据查询单条数据查询多条数据 HelloWorldApp.java BaseOperApp.java 阅读全文
posted @ 2018-07-22 01:36 开发者导航 阅读(216) 评论(0) 推荐(0)
摘要: 二级缓存配置 1.导入ehcache对应的三个jar包 ehcache/*.jar 2.配置hibernate使用二级缓存 2.1设置当前环境开始二级缓存的使用 <property name="cache.use_second_level_cache">true</property> 2.2设置使用 阅读全文
posted @ 2018-07-22 01:25 开发者导航 阅读(126) 评论(0) 推荐(0)
摘要: QBC查询 1.简单查询 Criteria c = s.createCriteria(TeacherModel.class); 2.获取查询结果 多条:list 单挑:uniqueResult 3.分页查询 setFirstResult(int) setMaxResults(int) 4.查询排序 阅读全文
posted @ 2018-07-22 01:24 开发者导航 阅读(228) 评论(0) 推荐(0)
摘要: 复习day1环境搭建CRUD操作DB6个核心的APIday2TO PO DO 及其状态切换OID 自然主键 代理主键(uuid)一级缓存 Session绑定 load/get关系1对1 1对多(重点) 一set one-to-many 多many-to-one对多对 两边都是set many-to- 阅读全文
posted @ 2018-07-22 01:23 开发者导航 阅读(113) 评论(0) 推荐(0)
摘要: 一对多关联关系表 一方 多方(外键)实体类 一方:TeacherModel 添加多方的集合Set 多方StudentModel 添加一方的对象一方配置关系 name:一方模型中描述多方的集合对象名 column:多方数据库表中的外键名称 class:多方模型类名 <set name="student 阅读全文
posted @ 2018-07-22 01:22 开发者导航 阅读(157) 评论(0) 推荐(0)
摘要: 核心API Configuration 描述的是一个封装所有配置信息的对象 1.加载hibernate.properties(非主流,早期) Configuration conf = new Configuration(); conf.addResource("cn/itcast/h3/hellow 阅读全文
posted @ 2018-07-22 01:20 开发者导航 阅读(102) 评论(0) 推荐(0)
摘要: 对象的状态 瞬时状态: 瞬时对象(TO) 应用程序创建出来的对象,不受H3控制 注意:TO对象不具有OID,一旦为TO赋值OID,那么此时就不是TO 持久化状态:持久化对象(PO) 受H3控制的对象,PO一定具有OID 托管状态: 托管对象(DO) 曾经受到H3控制,当前不受H3控制(Session 阅读全文
posted @ 2018-07-22 01:20 开发者导航 阅读(142) 评论(0) 推荐(0)
摘要: 框架辅助开发者进行开发,半成品软件,开发者与框架进行合作开发 Hibernate3Hibernate是一种基于Java的轻量级的ORM框架 基于Java:底层实现是Java语言,可以脱离WEB,在纯JAVA环境下运行 轻量级:与重量级比对,消耗资源比较小,运算速度比较快 ORM:(ORMapping 阅读全文
posted @ 2018-07-22 01:19 开发者导航 阅读(155) 评论(0) 推荐(0)
摘要: 防止重复提交 1. 什么是重复提交 * 提交表单时,点击一次后,页面没有刷新时,马上又点击一次,就是重复提交 * 提交后,通过浏览器的回退,又回到了表单页面,再次提交 * 提交后,按F5刷新,也是重复提交。 2. 防止重复提交的原理:(请看图) 3. 防止重复提交的步骤 * 在表单页面中使用<s:t 阅读全文
posted @ 2018-07-22 01:10 开发者导航 阅读(127) 评论(0) 推荐(0)
摘要: 标签 1. <s:property> * default:默认值,例如:<s:property value="name" default="不存在"/> * escape:是否转义,默认为true表示转义。<s:property value="\"<script>for(; true;)alert( 阅读全文
posted @ 2018-07-22 01:07 开发者导航 阅读(127) 评论(0) 推荐(0)
摘要: 下载 1. 下载是一种响应方式 正常的响应:响应正文是html:response.getWriter().print("html"); 下载的响应: 1.一个流:字节数据:response.getOutputStream().write(文件的内容,即一些字节数据); 2.response.setC 阅读全文
posted @ 2018-07-22 01:00 开发者导航 阅读(117) 评论(0) 推荐(0)
摘要: 上传 1. 上传对表单的要求 * method=post * enctype=multipart/form-data 2. 上传对servlet要求 * getParameter()不能再使用! Struts使用名为fileupload的拦截器完成上传。 1. 拦截器首先查看表单是否为multipa 阅读全文
posted @ 2018-07-22 00:58 开发者导航 阅读(155) 评论(0) 推荐(0)
摘要: ognl 1. 什么是ognl 对象图导航语言 Struts内置的表达式语言,它比EL要强大很多。 2. 单独学习ognl * EL它操作的数据来自于:四大域:pagecontext、request、session、application * ognl操作的数据来自于:ognl上下文对象,以及roo 阅读全文
posted @ 2018-07-22 00:57 开发者导航 阅读(177) 评论(0) 推荐(0)
摘要: day03 上传下载 l jspSmartUpload(model1的年代); l apache-commons-fileupload,Struts2默认上传组件; l Servlet3.0使用的Part,但Servlet3.0还没有普及; l COS,Struts2支持,不过已经停止更新很久了; 阅读全文
posted @ 2018-07-22 00:54 开发者导航 阅读(388) 评论(0) 推荐(0)
摘要: 拦截器 1. 什么是拦截器 1). 与JavaWeb中的Filter比较相似。 2). 拦截器只能拦截Action!!! 2. Struts中定义了很多拦截器,其中defaultStack中的拦截器会在每个Action之前执行。 3. 已经知道的拦截器 1). params 2). converte 阅读全文
posted @ 2018-07-22 00:48 开发者导航 阅读(118) 评论(0) 推荐(0)
摘要: 国际化 1. 回忆之前的国际化 1). 资源包(key=字符串) > 命名:基本名称+local部分.properties,res_zh.properties,res_zh_CN.properties,res_en_US.properties 2). ResourceBundle,用来读取资源包的内 阅读全文
posted @ 2018-07-22 00:47 开发者导航 阅读(142) 评论(0) 推荐(0)
摘要: 类型转换 1. 什么是类型转换 刚才学习了封装请求参数,把表单数据封装到Action(模型)的属性中。表单中的数据都是String类型,但Action(模型)的属性不一定什么类型。 将来我们还需要数据的回显,即把Action的属性值显示到表单中。把Actoin的属性显示在表单中。 类型转换是双向的 阅读全文
posted @ 2018-07-22 00:46 开发者导航 阅读(134) 评论(0) 推荐(0)
摘要: 获取请求参数 请求参数:表单中的数据,或者是超链接中的数据。 1. 得到request,再通过request来获取。2. 属性驱动 在Action中提供与表单字段名称相同的属性即可。 而一个名为params的拦截器来完成!3. 模型驱动(最为常用) 1). 给出一个model类 2). 在Actio 阅读全文
posted @ 2018-07-22 00:45 开发者导航 阅读(163) 评论(0) 推荐(0)
摘要: 输入校验: 1. 分类 客户端校验:javascript,它是用户体验而已,可以绕开。 服务器端校验 * 代码校验 1). 要求Action必须继承ActionSupport 2). 重写ActionSupport类的validate()方法。 添加校验逻辑! > 如果出错,添加fielderror 阅读全文
posted @ 2018-07-22 00:44 开发者导航 阅读(148) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2018-07-22 00:41 开发者导航 阅读(118) 评论(0) 推荐(0)
摘要: day02 下面是在每个Action之前都会执行的拦截器,这段代码来自与struts-default.xml文件。 <interceptor-stack name="defaultStack"> <interceptor-ref name="exception"/> <interceptor-ref 阅读全文
posted @ 2018-07-22 00:38 开发者导航 阅读(265) 评论(0) 推荐(0)
摘要: day01 Struts2概述 试想一下,人与人之间不同之处多,还是相同之处多呢?当然是相同之处多,不同之处少!人都有头,而且头都在脖子上面! 软件之间也是相同之处多,不同之处少,框架就是把软件中相同的部分抽取出来而形成的。开发人员在框架的基础之上进行开发,那么只需要给出软件独有部分即可。 软件相同 阅读全文
posted @ 2018-07-22 00:22 开发者导航 阅读(291) 评论(0) 推荐(0)
摘要: 一、单点登录(SSO,Single Sign On)整合目前计划接入统一门户的所有业务系统均为基于JavaEE技术的B/S架构系统。由于统一门户的单点登录技术选用的是JA-SIG组织开发的Cas Server,故为了与Cas Server进行无缝整合,各业务系统选用的技术依然是由JA-SIG组织开发 阅读全文
posted @ 2018-07-22 00:08 开发者导航 阅读(2857) 评论(0) 推荐(0)