1.日历控件的使用 日历控件源代码: /** * add auto hide when mouse moveout * * @version 1.0.1 * @date 2010-11-23 * @author coraldane@gmail.com */ /** * Date Picker * @param inputObj The input object want to contain date. * @param dateFormatStyle Default Date Formatte…
一.概述 1.使用的jdk版本:1.6 2.java EE版本:1.6 3.指导老师:传智播客 王建 二.小项目已经实现的功能 普通用户: 1.登陆 2.注册 3.购物 4.浏览 管理员用户(全部管理员): 1.登陆 2.角色管理 3.用户管理 4.图书分类 5.图书管理 6.图书商家 7.发货管理 三.项目截图 1.普通用户 (1)浏览(分类浏览,代码重用) 分类浏览: 单本书浏览: (2)普通用户登陆 (3)普通用户注册 (4)普通用户购物 浏览页面加入购物车: 详情页加入购物车 (5)查看…
一.SSH整合JBPM JBPM基础见http://www.cnblogs.com/kuangdaoyizhimei/p/4981551.html 现在将要实现SSH和JBPM的整合. 1.添加jar包 (1)jbpm项目/lib目录下的所有jar包和根目录下的jbpm.jar包放入/WEB-INF/lib文件夹下,同时删除tomcat服务器/lib文件夹中的el-api.jar包. 注意:必须删除el-api.jar包,该jar包和jbpm项目中需要使用到的三个jar包冲突了:juel-api…
一.网上支付分为两种情况,一种方法是使用直接和银行的支付接口,另外一种方法是使用第三方支付平台和银行对接完成支付. 1.直接和银行对接. 2.使用第三方支付平台 3.常见的第三方支付平台 二.使用易宝支付接口实现java网上支付功能(农业银行). 1.完整源代码:https://github.com/kdyzm/day21_2_pay 2.实现过程的时序图 3.技术要点 (1)使用GET请求的时候必须将全部参数都带上,参数名称参考开发者文档中的请求参数列表 (2)使用PaymentUtil类实现…
一.动态SQL 什么是动态SQL,就是在不同的条件下,sql语句不相同的意思,曾经在“酒店会员管理系统”中写过大量的多条件查询,那是在SSH的环境中,所以只能在代码中进行判断,以下是其中一个多条件查询的例子: public Collection<Card> getCardsByMN(int requestPage, String cardId, String userName, String typeofcredential, String sex, String integral) { in…
一.邮件发送 1.邮件发送使用SMTP协议或者IMAP协议,这里使用SMTP协议演示. SMTP协议使用的端口号:25 rfc821详细记载了该协议的相关信息 (1)使用telnet发送邮件(使用126邮箱服务器,现在126邮箱服务器要求使用类似于QQ的独立密码进行客户端的验证(网页登陆不需要)) 第一步:连接到邮箱服务器 telnet smtp.126.com 25 第二步: ehlo aaa(任意字符串) 第三步:请求验证登录 auth login 第四步:输入使用Base64编码后的用户名…
一.MAVEN整合Eclipse MAVEN是非常优秀,但是总是要开命令行敲命令是比较不爽的,我们已经习惯了使用IDE,所以还有一种将MAVEN整合到Eclipse的方法. 详情查看:http://www.eclipse.org/m2e/,http://download.eclipse.org/technology/m2e/releases 其中,后者也是该插件的更新地址:安装完成之后要重启Eclipse,然后对几项MAVEN的插件进行设置: 首先需要修改maven仓库的位置,因为默认是保存到C…
之前SSH框架已经搭建完毕,现在进行实体类的分析和Base类的书写.Base类是抽象类,专门用于继承. 一.实体类关系分析 既然是数据采集系统,首先调查实体(Survey)是一定要有的,一个调查有多个页面(Page),一个页面有多个问题(Question),所以还要有页面和问题实体.参与完成调查之后一定还会生成若干个答案,所以还有答案实体(Answer),当然还有参与的用户(User),管理员是特殊的User,只需要登陆的时候进行判断即可. 分析实体类型是比较简单的,最重要的是设计,怎样设计才能…
一.struts2文件上传 1.上传文件的时候要求必须使得表单的enctype属性设置为multipart/form-data,把它的method属性设置为post 2.上传单个文件的时候需要在Action类中添加属性并提供每个属性的标准get/set方法: private File uploadImage;//上传的文件 private String uploadImageContentType;//上传的文件类型 private String uploadImageFileName;//上传…
疑问:怎样判断存储过程执行之后返回值是否为空. 一.连接oracle数据库 1.需要的jar包:在安装的oracle中就有,所以不需要到官网下载,我的oracle11g下:D:\app\kdyzm\product\11.2.0\dbhome_1\jdbc\lib,文件夹中有若干.jar文件,选择ojdbc6.jar即可. 2.连接oracle 驱动位置:oracle.jdbc.OracleDriver url写法:jdbc:oracle:thin:@localhost:1521:orcl 3.J…
一.导出到Excel 1.使用DatabaseMetaData分析数据库的数据结构和相关信息. (1)测试得到所有数据库名: private static DataSource ds=DataSourceUtils_C3P0.getDataSource(); Connection conn=ds.getConnection(); DatabaseMetaData dbmd=conn.getMetaData(); ResultSet rs=dbmd.getCatalogs(); while(rs.…
一.使用注解可以解决JavaBean和数据库中表名不一致.字段名不一致.字段数量不一致的问题. 1.Sun公司给jdbc提供的注解 @Table.@Column.@Id.@OneToMany.@OneToOne.@ManyToMany 2.小练习:对JavaBean的某些字段进行注解.对JavaBean名称进行注解以匹配数据库表名. Person.java package com.kdyzm.domain; import javax.persistence.Column; import java…
一.SpringMVC中注解的使用 1.为什么要使用注解 之前曾经提到过的三种控制器在spring3.0中都已经被明确标记为过时了,spring3.0推荐使用注解的方式替代三种控制器,实际上使用注解的方式能够大大提高开发效率. 2.使用注解@RequestMapping 使用注解需要对配置文件进行改动: (1)spring配置文件的改动 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&quo…
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jdk命令wsimport生成调用源代码 package com.kdyzm.ws; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public class MyWsServer { public Strin…
之前说过,如果一个数据库中要存储的数据量整体比较小,但是其中一个表存储的数据比较多,比如日志表,这时候就要考虑分表存储了:但是如果一个数据库整体存储的容量就比较大,该怎么办呢?这时候就需要考虑分库了,就是建立多个数据库保存数据.这里以答案为例,就算调查对象不是很多,但是参与调查的人数非常多,那么需要保存的数据量就会非常大,怎样将答案以一种规则保存到不同的数据库中就是现在需要考虑的问题(查询分库的问题未解决,先存档). 一.分库方法 分库分为水平分库和竖直分库两种类型. (1)水平分库 数据库之间…
一.使用反射动态添加权限 在该系统中,我使用struts2的时候非常规范,访问的Action的形式都是"ActionClassName_MethodName.action?参数列表",所以可以非常方便的使用反射初始化权限表. 比较关键的是获取所有Action类所在的包的方法: URL url=ClassLoader.getSystemResource("com/kdyzm/struts/action"); File dir=new File(url.toURI())…
之前说了JFreechart的基本使用方法,包括生成饼图.柱状统计图和折线统计图的方法.现在需要将其整合到数据采集系统中根据调查结果生成三种不同的统计图. 一.统计模型的分析和设计 实现统计图显示的流程:单击导航栏中的“我的调查”超链接->在调查列表中单击指定的调查中的“分析”超链接->统计Action获取请求参数(questionId)并根据该值计算统计图所需要的所有参数,生成统计图,并将统计图以流的形式返回到前端显示.为了简单起见,这里直接在浏览器新开了一个窗口显示统计图,并没有进行弹窗显…
一.移动.复制页的逻辑实现 移动.复制页的功能是在设计调查页面的时候需要实现的功能.规则是如果在同一个调查中的话就是移动,如果是在不同调查中的就是复制. 无论是移动还是复制,都需要注意一个问题,那就是页面在一个调查中的位置问题,这就需要一个变量来标识该该页面在一个调查中的位置.我们在Page对象中添加一个成员变量orderNo,该变量是float类型的变量,默认值和pageId相同,在设置pageId的同时设置好orderNo,我们使用该变量来对一个调查中的所有页面进行排序. 移动.复制页的流程…
一.Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐.可以想一种方法,当Action想要获取User对象的时候直接使用,这种方法还是得需要借助拦截器的力量,直接在登录拦截器中实现即可,但是登陆拦截器怎么知道该Action想要获取User对象呢?这就需要给Action加上一个接口,如果该Action是该接口的实现类,则表示该Action想要获取User对象.接口仿照HttpRequestAware接口的形式,名字为用户…
一.MVC 1.使用Spring有一个非常大的好处,那就是能够实现完全面向接口编程,传统的使用Dao.Service并不能实现完全的面向接口编程. 2.示例:https://github.com/kdyzm/day45_spring_mvc 二.注解示例 1.定义注解方法示例: package com.kdyzm.spring.annotation; import java.lang.annotation.Documented; import java.lang.annotation.Eleme…
一.validate 1.官方网站:http://jqueryvalidation.org/ 2.文档说明:http://jqueryvalidation.org/documentation/ 3.js文件下载:官方网站首页,提供一个最新版本的链接 二.验证表单的一般步骤 1.准备好从JQuery官方网站下载JQuery.js文件和validate官网下载的jquery.validte.js文件 注意事项:validate并不支持所有版本的JQuery,支持的版本目前有:JQuery-1.7.2…
一.JQuery中的DOM操作. 什么是DOM:DOM是一中和浏览器.平台.语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件.DOM简称文档对象模型,是Document Oject Model的简写形式. 二.内部插入和外部插入 1.内部插入 (1)append:向调用该方法的元素的内部的结尾处追加内容 a.append(content),插入之后内容为:<a标签头>a原来的内容+content<a标签尾> (2)appendTo:将调用的元素自身追加到指定的元素中的内部…
一.为什么要使用dbutils 使用dbutils可以极大程度的简化代码书写,使得开发进度更快,效率更高 二.dbutils下载地址 http://commons.apache.org/proper/commons-dbutils/download_dbutils.cgi 出现的ds为数据源对象,可以是某个数据库连接池的DataSource,也可以是自定义数据库连接池的DataSource,这里我是用了dbcp数据库连接池. package day16.regular.utils; import…
一.文件下载简述 1.使用浏览器从网页上下载文件,Servlet需要增加一些响应头信息 (1)response.setContentType("application/force-download"); (2)response.setContentLength(fis.available()); (3)response.setHeader("Content-Disposition","attachment;filename="+filename)…
一.日志管理相关分析 1.日志管理是一种典型的系统级别的应用,非常适合使用spring AOP实现. 2.使用日志管理的目的:对系统修改的动作进行记录,比如对权限.角色.用户的写操作.修改操作.删除操作等 3.确定使用的通知方式:使用环绕通知.复习一下环绕通知,所谓环绕通知实际上就是AOP代理对接口中声明方法的执行进行拦截,在执行方法之前或者之后进行一些操作,在日志管理功能模块中,我们对Service接口中声明的方法进行拦截,如果是对系统进行的修改操作的方法,则将方法执行之后就需要将相关信息保存…
一.分析答案实体 分析答案实体主要涉及到的还是设计上的问题,技术点几乎是没有的.首先需要确定一下答案的格式才能最终确定答案实体中需要有哪些属性. 答案格式的设计是十分重要的,现设计格式如下: 在表单中需要提供的信息有name值和value值,name值实际上只是用于回显和保存答案,对于保存答案来说只需要一个问题id就可以了,但是实际上对于矩阵式单选按钮来说,name的值就显得比较复杂了,显得比较复杂的原因是为了回显方便.但是在答案实体中需要保存的只有一个问题id而已. 类型1-4问题的答案格式(…
一.已知程序和数据 create table test1 (id int primary key, name ), money int); ,); ,); ,); ,); 要求根据下图写出相应的sql语句. 分析:该题使用自连接和左外连接可以解决 =t2.id(+) order by id 或者 ) money1 from test1 t; 二.已知程序和数据 create table pm_ci (ci_id ) primary key, stu_ids )); ','1,2,3,4'); '…
参考: https://my.oschina.net/gaussik/blog/513444 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 web(1) Java EE 学习(6):IDEA + maven + spring 搭建 web(2) 5 数据库配置 下面,就要通过一个简单的例子,来介绍 SpringMVC 如何集成 Spring Data JPA(由 Hibernate JPA 提供),来进行强大的数据库访问,并通过本章节…
1.现在我们要将table表中的输入的参数全部提交到后台进行校验,我们提交我们是按照表单的形式提交,所以我们首先需要在table表外面添加一个表单 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core&…