- 博客(195)
- 资源 (20)
- 收藏
- 关注
原创 【Java】Web打印
项目中总是会用到Web页面打印的功能,下面小编就简单介绍一下自己的经验。【smsx控件】下载地址:http://download.csdn.net/detail/nxgliming/6668999jsp页面代码:<% String path = request.getContextPath(); String basePath = request.getScheme()
2017-05-15 08:19:04 508 9
原创 【Spring】AOP了解加实现
【需求】 有UserManager接口以及相应的实现类UserManagerImpl,详见下。UserManager接口:package com.bjpowernode.spring;public interface UserManager { public void addUser(String username, String password);}UserMa
2017-05-08 08:14:07 484 6
原创 【Spring】Spring的注入
【对象的注入】 IOC容器的对象实例化是通过配置文件来实现的。术语上这叫做注入。注入有两种形式,采用构造方法注入和采用setter注入。具体的注入形式如下**************构造方法方式*******************UserManagerImpl类:package com.bjpowernode.spring.manager;import com.bjpower
2017-05-01 21:10:37 649 11
原创 Java导出excel那些事
之前做的项目底层都已经封装好了,是以小编的导出做的很顺利,又一次做导出,感觉还是纪念一下占用我这么多时间最后解决以及未解决的问题吧。实现思路相当简单,先从后台查询出数据,返回类型为list集合,然后设置表头,调用工具类即可。下面先介绍两种实现方式,一种是引用poi的jar包,一种是引用jxl的jar包。【poi工具类方式】1.工具类代码package com.greatwall.dcs
2017-04-27 15:54:20 1252 13
原创 【Spring】Spring容器获取Bean
Spring容器是生产并管理Bean实例的工厂。Spring有两个核心的接口:BeanFactory和ApplicationContext。BeanFactory是Spring中最底层的接口,提供了最简单的容器的功能,只提供了实例化对象和获取对象的功能。ApplicationContext为应用上下文,它是Spring的一种更高级的容器,其实是BeanFactory的子接口,对BeanFa
2017-04-24 08:51:40 1168 11
原创 【Spring】Spring简介
【是什么】 简单来说,Spring就是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。【为什么】 Spring解决了一个非常关键的问题,它可以把对象之间的依赖关系转而用配置文件来管理,也就是她的依赖注入机制。而这个注入关系在一个叫IoC的容器中管理,IoC容器中就是被Bean包裹的对象。Spring正视通过把对象包装在Bean中从而达到管理这些对象及做
2017-04-17 09:27:33 586 12
原创 【SpringMVC】拦还是不拦
【是什么】 拦截是AOP的一种实现策略,类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理。【三个方法】源码展示:package org.springframework.web.servlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.Ht
2017-04-12 07:59:25 376 11
转载 【SpringMVC】RESTful架构详解
1. 什么是REST REST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:“我这篇文章的写作目的,就是想在符合架构原理的前提下,理解和评估以网络为基础的应用软件的架构设计,得到一
2017-04-10 08:46:06 1081 12
原创 【Hibernate】(十)其他映射:复合主键映射+Component映射+集合映射
【复合主键映射】一、映射原理: 复合主键的使用其实很简单,但是需要注意对象需要被拆分,主键自己需要一个类并且该类需要实现java.io.Serializable接口,其它的属性再重新生成新类,并且类的属性中要有主键类的对象,相应的只需要一个配置文件,在映射文件中使用指明主键,并指明主键的属性。二、代码实践以学生成绩为例,学生学号和课程号组成复合主键。1.Student
2017-04-07 09:07:31 868 13
原创 【Hibernate】(九)继承映射
【需求】 有三个类Animal类、Pig类、Bird类,继承关系如下图所示 具体的继承实现的有三种策略:1)单表继承 每个类继承树使用一个表2)具体表继承 每个子类一个表3)类表继承 每个具体类一个表【单表继承】1、具体的实体类如上图所示不再赘述,我们主要来看看映射文件:<!DOCTYPE hibernat
2017-04-06 08:10:27 351 14
原创 【Hibernate】(八)关联映射之多对多映射
前几篇博客介绍了关联映射的多对一、一对一和一对多映射,今天学习最后一种关联映射:多对多映射。【多对多】 一般的设计中,多对多关联映射,需要一个中间表,Hibernate会自动生成中间表。Hibernate使用many-to-many标签来表示多对多的关联。多对多的关联映射,在实体类中也是用集合来表示的。1.举例 多对多关系映射也很常见,例如学生和课程。2.多
2017-03-29 07:58:21 454 12
原创 【Hibernate】(七)关联映射之一对多映射
上篇博客中介绍了Hibernate关联映射的一对一映射,今天来总结一对多总结。【一对多】1.举例 这种一对多的关系我们在关系模型中也是常见的。例如:班级和学生。2.一对多单项关联映射1)先从具体实例代码看起吧。O(∩_∩)O①Student.javapackage com.bjpowernode.hibernate;public class Student
2017-03-28 07:56:56 318 14
原创 【Hibernate】(六)关联映射之一对一映射
上篇博客中介绍了关系映射中的多对一映射,今天来学习一下一对一映射。【一对一】1.举例 一对一关系在生活中很常见,例如人和身份证号,人和学号等等。下面就以一个人拥有一个身份证号为例,由人能看到身份证号的方向来介绍单向关联。2.分类: 有两种策略可以实现一对一的关联映射。1)主键关联: 即让两个对象具有相同的主键值,以表明他们之间的一一对应的关
2017-03-27 08:03:26 365 13
原创 【HIbernate】(五)关联映射之多对一映射
上篇博客中介绍了Hibernate的基本映射,下面跟小编接着来学习Hibernate的关联映射吧。关联映射,就是将关联关系映射到数据库中。所谓的关联关系就是在对象模型中就是一个或多个引用。在对象模型中,关联是有方向的。所以关系映射有四种:多对一、一对一、一对多、多对多。【多对一】1、需求: User-Group多个用户属于某个组。例如当前有个项目需要几个人进行敏捷开发,于
2017-03-26 09:55:30 507 12
原创 【Hibernate】(四)基础映射
前面的Hibernate学习中已经提到过ORM了,对象-关系映射(Object/Relational Mapping,简称ORM),用来把对象模型表示的对象映射到基于SQL的关系模型数据库结构中去。这样,我们在具体的操作实体对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作实体对象的属性和方法 。ORM通过映射关系自动产生SQL语句,在业务逻辑层和数据层之间充当桥梁。H
2017-03-25 08:44:53 416 9
原创 【Hibernate】(三)持久化对象的生命周期
Hibernate中,持久化对象在被操作过程中可以分为三种状态,这三种状态是和Session相关的,因为Hibernate中的操作都是基于Session完成的。所以Session对象的生命周期也关系着持久化对象的生命周期。 持久化对象的生命周期有三种,分别是瞬时态(Transient),持久态(Persistent)和离线态(Detached)。 如下:1、瞬时对象(Transi
2017-03-24 08:01:02 611 10
原创 【Hibernate】(二)核心对象
Hibernate的API一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。通过这些接口,可以对持久化对象进行存取、事务控制。【核心对象】1、Configuration Configuration类的作用是对Hibernate 进行配置,以及对它进行启动。在Hibernate 的
2017-03-22 08:47:46 661 7
原创 【Hibernate】(一)快速入门
【Hibernate】 Hibernate核心内容是ORM(关系对象模型)。可以将对象自动的生成数据库中的信息,使得开发更加的面向对象。这样作为程序员就可以使用面向对象的思想来操作数据库,而不用关心繁琐的JDBC。所以,Hibernate处于三层架构中的D层(持久层)如下图:【优点】 1、面向对象一体化。面向对象的分析,到面向对象的设计,到面向对象的开发,使得
2017-03-21 14:31:23 397 9
原创 【Struts】Struts标签库
Struts提供了五个标签库,即:Bean、HTML、Logic、Template和Nested。Bean 标签: 在访问JavaBeans 及其属性,以及定义一个新的bean 时使用HTML 标签 : 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML 输入表单Logic 标签: 管理条件产生的输出和对象集产生的循环Template标签:随着Tiles框架包的
2017-03-20 08:18:28 429 7
原创 【Struts】bean标签库
1.include>标签 类似于JSP页面的静态包含,是把其他的页面内容放在一个对象中再进行编译。2.标签 该标签用于输出ResourceBundle中的一条消息。message标签有一个bundle属性,该属性与struts-config.xml文件中的message-resources标记内的key属性对应。使用时,我们需要先在struts-config.x
2017-03-17 11:16:56 627 9
转载 TortoiseCVS安装使用详解
【Concurrent Versions System】CVS是一个并行版本控制系统,采用C/S模式,它的复杂度和功能性属于中等。·特点:保存修改记录:保存所有的修改历史,并可以建立分支协作与并行:cvs采用多人可以并行的修改同一个文件,而在提交时合并冲突,它更能适用于大型的工作团体·使用CVS好处:
2017-03-10 07:59:54 4751 7
原创 【Java】MyEclipse打war包
Java中的包类型有三类:jar、war、ear。下面来实践MyEclipse打war包过程。例如:我要将项目drp进行打包,选择war包但是一点击就会报错如下,并且会自动关闭MyEclipse。: 解决方案: 将com.genuitec.eclipse.export.wizard_9.0.0.me201203160414.jar替换My
2017-03-08 07:59:32 2226 8
原创 【Java】数据库连接池
数据库连接是一种关键的、有限的、昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。因此提出了一种概念--数据库连接池。 数据库连接池的基本原理是在内部对象池中,维护一定数量的数据库连接,并对外暴露数据库连接获取和返回方法。当程序中需要建立数据库连接时,只需从内存中获取一个数据库连接来用,而不
2017-03-06 08:10:22 397 6
原创 【Java】JDBC数据库连接
【是什么】 JDBC全称JAVADataBaseConnectivity,即Java数据库连接,它是一种可执行SQL语句的Java API。程序员可以通过JDBCAPI连接到关系数据库,并使用结构化查询语句(即SQL)完成对数据库的查询、更新。【作用】 简单地说,JDBC可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。下列代码段给出了以上三步的基本
2017-03-03 16:48:16 2122 10
原创 【MyBatis】查询缓存(一级缓存和二级缓存)
一级缓存:是SQlSession级别的缓存。在操作数据库时需要构造SqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的SqlSession之间的缓存数据区域(HashMap)是互相不影响的。 二级缓存:是mapper级别的缓存,多个SqlSession去操作同一个mapper的sql语句,多个SqlSession可以共用二级缓存,二级缓存是跨
2017-02-27 14:01:56 14447 13
原创 【MyBatis】延迟加载
需求:查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。我们把对用户信息的按需查询,称作延迟加载。 所以延迟加载的理解即:先单表查询,当需要时,在从关联表去级联查询,大大提高数据库性能。1.mapper.xml <!-- 实现对用户信息进行延迟加载 select:指定延迟加载需
2017-02-25 09:08:35 522 12
原创 【MyBatis】高级映射
【一对一查询】 需求:查询订单信息,关联查询创建订单的用户信息方式一:resultType1.创建pojo类(包括除了主表实体类Orders.java中包含的字段外,其他需要查询的字段):package cn.itcast.mybatis.po;//通过此类映射订单和用户查询的结果,让此类继承包括 字段较多的pojo类public class OrdersCusto
2017-02-24 14:45:48 430 11
原创 【MyBatis】输入映射和输出映射
在mybatis中,我们需要通过输入和输出映射来指定输入(参数)和输出(返回值)的类型。【输入映射】在mapper的statement中,我们通过parameterType指定输入参数的类型,类型可以是简单类型、hashMap以及pojo的包装类型。1、简单类型,比如int,我们可以直接进行使用,例如: select * from user where id = #{id}
2017-02-21 08:20:15 1182 10
原创 【MyBatis】开发dao方法的比较
上篇博客中的入门小程序,可以看出真的只是一个入门小程序。一般情况下,按照原始的dao的开发方法,我们还需要dao接口和dao实现类。1.创建dao接口:UserDao.javapackage cn.itcast.mybatis.dao;import java.util.List;import cn.itcast.mybatis.po.User;public interface
2017-02-20 16:27:23 762 10
原创 【MyBatis】快速入门
MyBatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。 MyBatis应用程序根据XML配置文件创
2017-02-20 08:21:59 470 10
原创 【缓存】http协议头
【简介】 缓存分很多种:服务器缓存,第三方缓存,浏览器缓存、代理缓存、网关缓存、数据库缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。今天总结介绍的也与浏览器缓存相关。浏览器缓存肯定都很熟悉,简单说就是浏览器在磁盘上对最近用户请求的数据进行存储,当我们再次请求这个页面时,浏览器就可以从本地磁盘读取并显示。浏览器缓存主要有两类:
2017-02-13 08:10:44 1996 13
原创 【Java Web】验证码
【是什么】 验证码(CAPTCHA)是“CompletelyAutomated Public Turing test to tell Computers and HumansApart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。【作用】 可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定
2017-02-10 19:28:42 328 10
原创 【报表】JFreeChart使用
JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications,applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(barcharts)、散点图(scatter plots)、时序图(time series)、甘特图(Ganttcharts)等等多种图表,并且可以产生PN
2017-02-07 20:49:00 790 13
原创 【JSTL】fn函数库
JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:【fn:split】语法格式:属性: request.setAttribute("str", "1#2#3#4#5")如下: ${v } 【fn:length】语法格式:属性:用jsp脚本取数据:使用J
2017-02-01 09:52:18 885 7
原创 【JSTL】fmt标签
JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:下面小编来介绍两种比较重要的标签。【fmt:formatDate】语法格式:测试格式化日期标签today(default):today(type="date"):today(type="time"):today(type="both"):tod
2017-01-25 21:50:20 318 3
原创 【Listener机制】ServletContextListener
ServletContextListener是对ServeltContext的一个监听,主要监听关于ServletContext的两个事件,即初始化和销毁。【原理】 ServletContextListener对应的是application范围。Servlet一旦被创建,ServletContext也同时被创建了,同时ServletContextListener也监听到了,随
2017-01-24 15:33:52 800 5
原创 【JSTL】core标签---url操作控制
JSTL包含三个与URL操作有关的标签,分别为:。主要功能是:用来将其他文件的内容包含起来,页面的转向,还有URL的产生。【c:import】语法格式:c:import标签【c:url】语法格式:【c:param】语法格式: ${u }【c:redirect】语法格式:c:redirec
2017-01-24 08:08:24 1105 4
原创 【Java Web】页面包含
页面包含分为两种:静态包含和动态包含。【静态包含】语法格式:实例:①index.jsp②header.jspInserttitle hereheader③content.jspyangtianchangxiaochumenqu④footer.jspfooter要看的结果有三个:第一,编译的Java类结果
2017-01-23 21:02:53 1667 5
原创 【JSTL】core标签---循环控制
循环控制主要有两个标签:。下面一次介绍这两个标签的使用。【c:forEach】语法格式:属性: ①用forEach标签循环遍历实体集合采用forEach标签 用户名称 年龄 所属组 没有符合条件的数据 ${user.username
2017-01-23 09:29:53 563 6
原创 【JSTL】core标签---流程控制
流程控制分类中包含四个标签:、、、。下面依次介绍这四个标签的使用。【基础知识】【c:if】语法格式:【属性】条件控制标签:c:if(v1=10,v2=20) v1小于v2 下面这三个标签必须放在一处,相当于if…else【c:choose】语法格式:注意:choose标签不可单独用,该标签中至少要包含一个c:
2017-01-22 00:02:21 451 9
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人