自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (2)
  • 收藏
  • 关注

原创 HTTP状态码

HTTP状态码

2017-10-10 19:32:48 420

原创 target属性

_blank 将链接的文件载入一个新浏览器窗口中。_parent 将链接的文件载入含有该链接的框架的父框架集或父窗口中。如果包含链接的框架不是嵌套的,则链接文件加载到整个浏览器窗口中。_self将链接的文件载入该链接所在的同一框架或窗口中。此目标是默认的,所以通常不需要指定它。_top 将链接的文件载入整个浏览器窗口中,因而会删除整个框架。

2017-09-28 16:29:18 569

原创 HashMap和Hashtable的区别

HashMap和Hashtable都实现了java.util.Map接口,主要区别如下:HashMap允许key为空(null)(但是注意,HashMap最多只允许一条记录的key为null,允许多条记录的value为null),而Hashtable不允许key为空HashMap把Hashtable的contains方法去掉了,改为了containsvalue和containsKey。Hash

2017-09-14 20:53:57 368

原创 Struts2 Action五个常量解释

五个常量解释

2017-09-08 16:38:35 696

原创 Hibernate缓存机制

Hibernate缓存主要分为三类一级缓存二级缓存查询缓存一级缓存又称session缓存,生命周期和session相同,周期较短。事务级别的缓存(我们提交一个事务后就把session关闭掉了)get使用了一级缓存,用get获取数据的时候,首先检查缓存中是否有这个数据,如果有直接从缓存中取数据,如果没有查询数据库,同时将数据保存到缓存中 load也使用了一级缓存,同时还支持

2017-09-04 21:03:43 295

原创 Hibernate抓取策略

抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。

2017-09-04 16:09:22 430

原创 Hibernate懒加载策略

Lazy的概念就是只有在真正使用对象时,才会去创建。对hibernate而言,就是真正加载时才发出加载Sql语句。 延迟加载机制是为了避免一些无谓的性能开销而提出来的。1 . 即时加载 –get加载数据 使用get获取数据,会立即查找(缓存—数据库)2 .延迟加载 懒加载 lazy—load,不会立即查找,当需要的时候才会查找,容易造成:LazyInitialaztionException异常:因

2017-09-04 14:58:09 379

原创 Hibernate查询语言HQL

HQL:hibernate query language 即hibernate查询语言 hql是完全面向对象的查询语言,可以理解继承,多态,关联等概念 hql区分大小写。但是对应sql关键字(select,from where)不区分一:基本查询(1)单属性查询//查询所有书名 //创建Query对象 Session session = HibernateUt

2017-09-03 16:51:06 326

原创 Hibernate使用注解

基本注解//entity表示需要实体化的实体类@Entity //实体类所对应的表@Table(name="t_book")public class Book { //主键 @Id //主键生成策略,auto相当于native @GeneratedValue(strategy=GenerationType.AUTO) @Column(name="boo

2017-09-03 16:09:24 435

原创 Hibernate继承映射

继承映射有三种方式基于一张表的继承映射基于每个具体类一张表的继承映射基于每个类一张表的继承映射我们考虑下面的继承关系 学生和老师都继承Person,区别就是老师有工资,学生有作业。那么考虑怎么配置让数据库知道这种关系。 三个类代码分别是(get/set方法都省略了)public class Person { private int id; private String

2017-09-02 18:39:13 250

原创 Hibernate基于List和map集合映射

之前我们用的都是set集合,这是无序的,如果用了有序如List就要在多的一端来产生一列用来表示顺序,但是在类中我们没必要写出这个属性,类似于oracle的rownum。举例如下(多对一的时候,学生和年级)student类public class Student { private int id; private String name; private int age;

2017-09-02 16:09:31 327

原创 Hibernate基于主键单向和双向多对多关系映射

多对多关系是比较常见的关系,很多表之间的关系都涉及多对多,比如老师和学生,一个老师可以有很多个学生,一个学生可以有很多个老师。常见的权限管理模块,一个角色可以有很多个功能,一个功能也可以有很多个角色,这是无法仅仅通过两张表就可以指明关系的,通常需要中间表来建立两种表的关系,中间表通常也叫关系表,数据库中书存在的,但是hibernate我们不需要写关系表的类。如下: 类Role 和Function类

2017-09-02 14:59:02 337

原创 Hibernate基于外键和主键的双向一对一关系映射

基于外键的双向一对一关系映射 表结构: 类Person和类IdCardpublic class Person { private int id; private String name; private int age; private IdCard idCard;//get…set}public class IdCard{ private in

2017-08-31 19:48:31 1082

原创 Hibernate基于主键和外键的单向一对一的关联映射

表结构 基于外键单向一对一的关联映射 其实就是多对一中的一种情况,当unique设置为true时候可以设置一对一的关系,即设置外键值唯一 Person和IdCard类public class Person { private int id; private String name; private int age; private IdCard idCard;

2017-08-31 17:30:59 406

原创 Hibernate cascade和inverse讲解

cascade 级联:让操作级联到子实体 一般常见的由四个值: save-update delete none delete 下面一一介绍save-update :保存和更新多的一端的数据时,一的一端的数据可以一起保存和更新 如下是原来的代码Grade grade=new Grade(); grade.setName("基础");

2017-08-31 15:22:03 331

原创 Hibernate双向的一对多关系映射

单向一对多就是我们想通过一的一端获取多的一端的数据 单向多对一就是我们想通过多的一端获取一的一端的数据 但是有些应用我们既想通过一的一端获取多的一端的数据,又想通过多的一端获取一的一端的数据,那么这时候我们就需要配置双向的一对多的关系映射表结构如下: student和grade类public class Student { private int id; private S

2017-08-31 13:26:32 327

原创 Hiberante 单向多对一和一对多的关联映射

存在如下表,考虑多对一和一对多的配置 多对一,如何在多的一端配置 studentpublic class Student { private int id; private String name; private int age; private Grade grade;//get…set}Gradepublic class Grade { pri

2017-08-31 10:28:48 368

原创 Hibernate 组合主键映射、大对象映射、组件映射

通过组件来实现组合主键的步骤: 这里举个例子,一个表有学生编号,科目编号,成绩,显然学生编号和科目编号的组合才能作为主键1.编写组合主键的属性的类,该类必须实现Serializablepublic class ScoreId implements Serializable { private int stuId;//学生编号 private int subjectId;//科目

2017-08-31 09:47:05 373

原创 Hibernate对象的生命周期及crud操作

Transient(瞬时状态) session没有,数据库没有 Persisent(持久状态) session有,数据库有 Detached(游离状态) session没有,数据库有session的获得否封装在HibernateUtil里面,如下public class HibernateUtil { private static Configuration cfg=null;

2017-08-30 16:01:19 317

原创 Hibernate4 日志和配置文件详解

日志实现1、 确定要使用日志的实现 这里比如log4j 在hibernate使用的日志标准都为slf,slf可以看作为它的接口,因此需要找到它的实例,为我们做日志。 2、 Slf4japi.jar和log4j的jar包放入classpath,(slf4j-log4j.jar) 3、 编写log4j.properties放入src下(project\etc下有)hibernate.cfg

2017-08-30 14:20:36 693

原创 Hibernate4 hello案例

搭建第一个hibernate项目,因为只用到了数据库,我们这里建立java项目即可,之后用junit单元测 搭建步骤:1 . 新建java项目2 . 导入相关jar包3 . 编写配置文件hibernate.cfg.xml(放在src下)模板文件比如xml的头文件可以参考下载包里面的etc,以下是博主的路径 D:\soft\hibernate-release-4.3.10.Final\proje

2017-08-30 12:11:20 260

原创 初识Hibernate4

持久化的概念:狭义概念:数据存储在物理介质不会消失广义概念:对数据额crud操作都叫持久化加载:hibernate里的数据从数据库中加载到sessionORM(object relation mapping ) 对象关系映射,对象映射到数据库中 阻抗不匹配:对象和关系型数据库不匹配 没有侵入性:不用继承hibernate的类或者接口Hibernate是一个orm轻量级的全自

2017-08-30 12:07:43 249

原创 Struts2 ajax

使用servlet api返回数据实现ajax jsp:<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" > $(function(){ $('#btn').click(function(){ $.p

2017-08-29 12:31:05 278

原创 Struts2批量数据处理

1.数组和集合的处理 jsp页面代码<body> <form action="add.action" method="post"> 用户名:<input type="text" name="name"><br> 爱好:<input type="checkbox" name="hobbies" value="football"/>足球 <input type

2017-08-28 20:08:22 806

原创 Struts2文件下载

在servlet中的文件下载是通过流来实现的,在struts2中也可以 使用HttpServletResponse来实现,和以前servlet一致。注意在action执行方法中返回null。 先在WebRoot下建立download文件夹,里面放文件,这里博主放了一种名为01.jpg的图片 Action:import java.io.File;import java.io.FileInpu

2017-08-28 17:17:47 238

原创 Struts2文件上传

单文件上传 uploadAction 需要在WebRoot下添加upload文件夹import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import

2017-08-28 15:01:39 296

原创 Struts2拦截器

拦截器和过滤器很相似,在action的前后执行,对于action的一些公共处理代码可以放到拦截器中实现,如日志,权限控制等等。 拦截器和过滤器的区别:过滤器属于web容器,可以过滤一切请求拦截器属于struts2框架,只能拦截action过滤器内部采用函数回调(doFilter就是回调函数)来实现,拦截器使用动态代理实现拦截器的执行流程 拦截器的实现步骤:编写拦截器(实现Interce

2017-08-27 16:32:52 358

原创 Struts2的验证机制

1.服务端验证 如果action继承ActionSupport,那么该action类将会继承ActionSupport的相关功能。如:验证功能。执行流程为 (validatexxx可有可无,成功执行为T,往下面执行,如果失败F,则直接跳过下面的步骤返回结果集为input) 注意:如果执行的是Action的execute方法,那么只会执行validate方法,如果执行的是自定义的Action

2017-08-27 14:02:58 362

原创 Struts2类型转化

在servlet中,如果表单提交非字符串数据时,需要进行类型转化,如:提交ageString strAge=req.getparameter("age");int age=0;if(strAge!=null){ age=Integer.parseInt(strAge);}在Struts2中,常见的数据类型struts2已经自动进行了类型转化。无需程序员手动转化。在某些情况下,有自定义的

2017-08-26 17:19:41 269

原创 Struts2 值栈和ognl

值栈(ValueStack)是ActionContext中的一个对象。存放的数据是Action对象。我们可以使用<s:debug/>查看context对象中的值 OGNL表达式OGNL查询是在根对象(Struts2的跟对象是ValueStack)查询由于Action对象存在ValueStack中,因此Action中的所有属性可以通过OGNL直接读取到除了ValueStack中的值,其他Act

2017-08-26 14:08:42 280

原创 Struts2 ActionContext

什么是ActionContext? ActionContext是map结构的容器,ActionContext是Action的上下文,存放Action执行过程中数据信息。ActionContext存放Action的数据,request,session,application数据等。每次请求都会为当前线程创建一个新的ActionContext。而ActionContext采用了ThreadLo

2017-08-26 12:12:36 275

原创 Struts2获取ServletAPI

Struts2有4种方式去获取servletAPI,其实就是有4种方式获得request, 也可以说是两种方式,一种解耦,一种耦合。解耦就是通过ActionContext对象(里面存放了Action执行所需要的对象)来获取ServletAPI,将Struts2和servlet解耦,以前是参数是HttpServletRequest,然后在上面操作,现在完全看不到Request和Response的东西

2017-08-25 20:50:03 241

原创 Struts2以对象的方式处理表单数据

有两种方式,属性驱动和模型驱动,可以自选,如果属性较多,建议使用模型驱动1.属性驱动 entity:public class User { private String name; private String pwd; private int age; private String email; public String getName() {

2017-08-25 12:29:51 622

原创 Struts2 action的三种实现方式

1.定义一个pojo类 好处:自定义一个普通的Java类即可,不具有侵入性public class HelloAction { public String execute(){ System.out.println("pojo action"); return "success"; }}2.实现action接口 好处:使得我们的代码更规范pub

2017-08-25 10:47:08 484

原创 Struts2配置文件详解

常量配置(constant) 常量的名字可以在源码中找,如下 在struts.xml中配置 (1)<!-- 乱码解决 默认是UTF-8,不同版本可能默认不一样 --> <constant name="struts.i18n.encoding" value="UTF-8"/>(2) <!--自定义扩展名 --> <constant name="struts.acti

2017-08-24 16:33:25 284

原创 Struts2的线程安全问题

线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。Struts线程安全吗? 每次请求都会创新创建action对象(可以用构造方法测试),所以线程安全。Struts1和Servlet都是单例的,都存在线程安全问题。由于action对象是Struts2反射生成的,所

2017-08-24 16:32:30 753

原创 Struts2的执行流程

简单执行流程(使用starUML画时序图,免费开源软件官网下载,亲测可用) 可以放大查看 当用户提交一个请求,服务器接收,并且交给struts2的核心过滤器来进行处理,struts2的过滤器调用struts2的一系列处理器来进行处理(如:解析struts.xml,和用户的提交的请求进行对比,如果找不到返回404,如果找到返回下一步)直到调用对应的action类中的execute方法,执行完再

2017-08-21 19:49:37 395

原创 Struts2处理数据

上一节入门讲了Struts2如何将请求映射到类中,这一节讲Struts2如何处理数据和提交数据。通过用户登录案例来观察Struts2数据处理的过程。步骤:1 . 建项目,导jar包 2 .配置web.xml——配置struts2的核心过滤器<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/20

2017-08-21 15:23:08 252

原创 Struts2入门

博主休息了好几天,然而代码这东西一日不学退后百步,十日不学则前功尽弃,今年随着阿里带头,秋招已经陆续开始,博主在接下来的日子就要更加努力了。最近在复习Struts2框架,就写下博客,毕竟发表是最好的回忆。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2以WebWork为核心,采用拦截器的机制来处理用

2017-08-15 15:24:21 254

原创 解决org.springframework.beans.factory.BeanCreationException: Error creating bean with name

出现这种错误意识就是spring bean创建失败,有好几方面的原因,一步一步查找。1 . 首先看Spring的注解扫描有没有写 <context:component-scan base-package="cn.sxt"></context:component-scan>然后看各个层的类@表示有没有写,成员变量或者set方法上面的@AutoWired有没有写 如:@Repository("us

2017-08-15 10:12:38 5462

SSM整合jar包

最新SSM整合jar包,支持Spring注解,文件上传,json,亲测可用

2017-08-14

oracle下载地址

oracle迅雷下载地址 免费绿色版本

2017-02-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除