摘要: 首先我们需要一个被加载的js文件,我在一个固定文件夹下创建了一个package.js,打开后在里面写一个方法functionOne,很简单,代码如下:function functionOne(){
alert("成功加载");
}后面的html文件都创建在同一个目录下。方法一:直接document.write在同一个文件夹下面创建一个function1.html,代码如下:<ht...
阅读全文
posted @
2013-06-01 09:19 Tomas 阅读(389) |
评论 (0) |
编辑 收藏
多文件上传 jquery的插件
使用的方法 导入 jquery.js 及 jquery.MultiFile.js ,
方式一: 后台是文件数组
private File[] upload; // 与jsp表单中的名称对应
private String[] uploadFileName;
private String[] uploadContentType;
在 form 中加入 <input type="file" name="upload[]" class="multi" /> 即可。
方式二:后台是List<File>
private List<File> upload; // 与jsp表单中的名称对应
private List<String> uploadFileName;
private List<String> uploadContentType;
jquery.MultiFile.js 将选中的文件列在From中,名字为upload的<input>,所以要用 name="upload[]"(方法一)或者name="upload" (方法二) 来接收;
而 class="multi" 是 jQuery 用来作的文件类型,HTML 部份代码如下:
<head> <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> <title>Untitled Document</title> <script src="/multiple-file-upload/jquery.js" type="text/javascript" language="javascript"></script> <script src="/multiple-file-upload/jquery.MultiFile.js" type="text/javascript" language="javascript"></script>
</head> <body>
<form enctype="multipart/form-data" action="<?php $_SERVER['PHP_SELF'] ?>" method="POST"> <input type="file" name="upload[]" class="multi" maxlength="2"/> //<input type="file" name="upload" class="multi" />
<input type="submit" value="Upload File" /> </form>
</body> |
参数说明:
参数 |
说明 |
说明 |
class="multi" maxlength="2" |
Limit: 2 files. Allowed extensions: any. |
限制数量2 |
class="multi" accept="gif|jpg" |
Limit: no limit. Allowed extensions: gif and jpg. |
格式只能 gif jpg |
class="multi" accept="gif|jpg" maxlength="3" |
Limit: 3 files Allowed extensions: gif, jpg. |
限制数量3,格式只能 gif jpg |
主页:http://www.fyneworks.com/jquery/multiple-file-upload/
下载:http://www.fyneworks.com/jquery/multiple-file-upload/#tab-Download
示例:http://www.fyneworks.com/jquery/multiple-file-upload/#tab-Examples
posted @
2013-05-17 15:56 Tomas 阅读(4172) |
评论 (2) |
编辑 收藏
/**
* 数字转换为大写人民币计数
* @author 王代军
* @since Dec 16,2011
*/
public class Num2Rmb
{
private String[] hanArr = {"零" , "壹" , "贰" , "叁" , "肆" ,
"伍" , "陆" , "柒" , "捌" , "玖"};
private String[] unitArr = {"拾","百","千","万"};
/**
* 把一个四位的数字字符串变成汉字字符串
* @param numStr 需要被转换的四位的数字字符串
* @return 四位的数字字符串被转换成的汉字字符串。
*/
private String toHanStr(String numStr)
{
String result = "";
int numLen = numStr.length();
//依次遍历数字字符串的每一位数字
for (int i = 0 ; i < numLen ; i++ )
{
//把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48
//因此把char型数字减去48得到int型数字,例如'4'被转换成4。
int num = numStr.charAt(i) - 48;
//如果不是最后一位数字,而且数字不是零,则需要添加单位(千、百、十)
if ( i != numLen - 1 && num != 0)
{
result += hanArr[num] + unitArr[numLen - 2 - i];
}
//否则不要添加单位
else
{
//上一个数是否为“零”,不为“零”时就添加
if(result.length()>0 && hanArr[num].equals("零") && result.charAt(result.length()-1)=='零')
continue;
result += hanArr[num];
}
}
//只有个位数,直接返回
if(result.length()==1)
return result;
int index=result.length()-1;
while(result.charAt(index)=='零'){
index--;
}
if(index!=result.length()-1)
return result.substring(0,index+1);
else {
return result;
}
}
/**
* 把一个输入的数字字符串变成汉字字符串
* @param numStr 需要被转换得到数字字符串
* @return 数字字符串被转换成的汉字RMB字符串。
*/
private String toRmbStr(String numStr){
//获取字符串长度
int numLen = numStr.length();
//判断长度小于4(一万以内~0-9999) 调用toHanStr();
if(numLen<=4){
return toHanStr(numStr);
}
//4<长度<=8 (一亿以内 1000-99999999)
else if(numLen>4&&numLen<=8){
String[] subArr={numStr.substring(0, numLen-4),numStr.substring(numLen-4, numLen)};
return toHanStr(subArr[0])+"万"+toHanStr(subArr[1]);
}
//8<长度<=10 (百亿以内 一亿-9999999999)
else if(numLen>8&&numLen<=10){
String[] subArr={numStr.substring(0,numLen-8),numStr.substring(numLen-8,numLen-4),numStr.substring(numLen-4,numLen)};
return toHanStr(subArr[0])+"亿"+toHanStr(subArr[1])+"万"+toHanStr(subArr[2]);
}
else return "输入有误!";
}
public static void main(String[] args)
{
Num2Rmb nr = new Num2Rmb();
System.out.println("只支持整数(0~99亿)");
//测试把一个四位的数字字符串变成汉字字符串
System.out.println(nr.toRmbStr("1"));
System.out.println(nr.toRmbStr("10"));
System.out.println(nr.toRmbStr("15"));
System.out.println(nr.toRmbStr("110"));
System.out.println(nr.toRmbStr("123"));
System.out.println(nr.toRmbStr("105"));
System.out.println(nr.toRmbStr("1000"));
System.out.println(nr.toRmbStr("1101"));
System.out.println(nr.toRmbStr("1110"));
System.out.println(nr.toRmbStr("1005"));
System.out.println(nr.toRmbStr("101105"));
System.out.println(nr.toRmbStr("1011109"));
System.out.println(nr.toRmbStr("9999999999"));
}
}
posted @
2011-12-26 13:26 Tomas 阅读(559) |
评论 (0) |
编辑 收藏
通用的增删该查工具类 可在dao层 new一个
CommonCrudUtil(本类)实例 实现对数据的增删改查
package com.XXXXX.util;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.*;
/**
* 通用增删改查工具类
* @author 王代军
* @since Dec 19,2011
* @version 1.0
*/
@SuppressWarnings("unchecked")
public class CommonCrudUtil<T> {
/**
* 添加功能
* @param obj 要保存的对象
*/
public boolean create(Object obj){
Session session=HibernateSessionFactory.getSession();
Transaction tx=null;
boolean flag=false;
try{
tx=session.beginTransaction();
session.persist(obj);
tx.commit();
flag=true;
}catch(Exception e){
e.printStackTrace();
if(tx!=null){
tx.rollback();
}
}finally{
session.close();
}
return flag;
}
/**
* 查询功能
* @param clazz 要查询对象的类型 obj 要查询的对象的 可序列化的字段 (本设计指主键 id)
*/
public Object retrieve(Class clazz,Object obj){
Session session=HibernateSessionFactory.getSession();
Transaction tx=null;
try{
tx=session.beginTransaction();
Object object=session.get(clazz,(Serializable) obj);
tx.commit();
return object;
}catch(Exception e){
e.printStackTrace();
if(tx!=null){
tx.rollback();
}
return null;
}finally{
session.close();
}
}
/**
* 查询全部功能
* @param clazz 要查询的对象的类型
*/
public List<T> retrieve(Class clazz){
Session session=HibernateSessionFactory.getSession();
List<T> list=new ArrayList<T>();
Transaction tx=null;
try{
tx=session.beginTransaction();
Criteria cr=session.createCriteria(clazz);
list=cr.list();
tx.commit();
return list;
}catch(Exception e){
e.printStackTrace();
if(tx!=null){
tx.rollback();
}
return null;
}finally{
session.close();
}
}
/**
* 更新功能
* @param obj 要更新的对象
*/
public boolean update(Object obj){
Session session=HibernateSessionFactory.getSession();
boolean flag=false;
Transaction tx=null;
try{
tx=session.beginTransaction();
session.update(obj);
tx.commit();
flag=true;
}catch(Exception e){
e.printStackTrace();
if(tx!=null){
tx.rollback();
}
}finally{
session.close();
}
return flag;
}
/**
* 删除功能
* @param clazz 要删除的对象的类型 obj 要删除的对象的 唯一标识(可序列化)字段 (指主键 id)
*/
public boolean delete(Class clazz,Object obj){
Session session=HibernateSessionFactory.getSession();
Transaction tx=null;
boolean flag=false;
try{
tx=session.beginTransaction();
Object object=session.get(clazz,(Serializable) obj);
session.delete(object);
tx.commit();
flag=true;
}catch(Exception e){
e.printStackTrace();
if(tx!=null){
tx.rollback();
}
}finally{
session.close();
}
return flag;
}
}
调用实现 dao层的实现类调用
CommonCrudUtil 的方法实现增删改查
import java.util.Date;
import java.util.List;
import org.hibernate.Query;
import com.zhongyou.bean.IDCard;
import com.zhongyou.util.CommonCrudUtil;
public class IDCardDaoImpl implements IDCardDaoIf {
CommonCrudUtil crud=new CommonCrudUtil<IDCard>();
public int addInformation(IDCard card) {
IDCard card=new IDCard();
card.setId(16);
card.setName("xiaoxiao");
card.setAddress("xiaoxiao");
card.setBirthday(new Date());
card.setNumber("29472398734");
card.setSex("男");
crud.create(card);//增加.......
}
。。。。。。查询。。。。。
crud.retrieve(IDCard.class,3);
。。。。。。查询全部。。。。。
crud.retrieve(IDCard.class);
。。。。。。修改。。。。
crud.update(card);
。。。。。。删除。。。。
crud.delete(IDCard.class,3);
。。。。。。。。。
写的简陋些 只是些想法可借鉴而已 同志们 可以自己完善。。。。
posted @
2011-12-26 13:22 Tomas 阅读(2001) |
评论 (1) |
编辑 收藏
Oracle的默认服务一共有5个:
1.OracleDBConsoleorcl oem控制台的服务进程
2.OracleJobSchedulerORCL 定时器的服务进程
3.OracleOraDb10g_home1iSQL*Plus isql*plus的服务进程
4.OracleOraDb10g_home1TNSListener 监听器的服务进程
5.OracleServiceORCL 数据库服务进程
要查看系统中已启动的服务,我们可以在“开始→控制面板→管理工具”中双击“服务”,或者直接
在“运行”中输入 “Services.msc”打开服务设置对话框,就可以看到每一个服务都有以下几个属
性:名称、描述、状态、启动类型、登录身份、依存关系。
OracleDBConsoleorcl --可以不启动,用于管理Oracle的企业管理器的服务.
OracleJobSchedulerORCL --通常不启动,用于定期操作任务的服务
OracleOraDb10g_home1iSQL*Plus --可以不启动,这是isqlplus服务,用于用网页执行sql执行,11g已
经取消了这个功能
OracleOraDb10g_home1TNSListener --必须启动,这是临听,用于远程客户端连接你的Oracle
OracleServiceORCL --必须启动,这是Oracle数据库的服务
可以用命令启动:
#启动listener:
lsnrctl start
#启动数据库
net start OracleServiceORCL
只有这两项是必须启动的:
OracleOraDb10g_home1TNSListener
OracleServiceORCL
为什么OracleJobSchedulerORCL会显示禁用?
数据库工作日程调度,一般没有安排工作日程就不需要启动,为什么默认是禁用?因为启动后会占用很大的系统资源。
(1)OracleServiceSID
数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为Oracle.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。
(2)OracleHOME_NAMETNSListener
监听器服务,服务只有在数据库需要远程访问时才需要(无论是通过另外一台主机还是在本地通过 SQL.Net 网络协议都属于远程访问),不用这个服务就可以访问本地数据库,它的缺省启动类型为自动。服务进程为TNSLSNR.EXE,参数文件 Listener.ora,日志文件listener.log,控制台LSNRCTL.EXE,默认端口1521、1526。
(3)OracleHOME_NAMEAgent
OEM代理服务,接收和响应来自OEM控制台的任务和事件请求,只有使用OEM管理数据库时才需要,它的缺省启动类型为自动。服务进程为DBSNMP.EXE,参数文件snmp_rw.ora,日志文件nmi.log,控制台LSNRCTL.EXE,默认端口1748。
(4)OracleHOME_NAMEClientCache
名字缓存服务,服务缓存用于连接远程数据库的Oracle Names 数据。它的缺省启动类型是手动。然而,除非有一台Oracle Names 服务器,否则没有必要运行这个服务。服务进程为ONRSD.EXE,参数文件NAMES.ORA,日志文件ONRSD.LOG,控制台 NAMESCTL.EXE。
(5)OracleHOME_NAMECMAdmin
连接管理服务,是构建Connection Manager服务器所用,只有服务器作为Connection Manager才需要,它的缺省启动类型是手动。服务进程为CMADMIN.EXE,参数文件CMAN.ORA,日志文件CMADM_PID.TRC,控 制台CMCTL.EXE,默认端口1830。
(6)OracleHOME_NAMECMan
连接网关服务,是构建Connection Manager服务器所用,只有服务器作为Connection Manager才需要,它的缺省启动类型是手动。服务进程为CMGW.EXE,参数文件CMAN.ORA,日志文件CMAN_PID.TRC,控制台 CMCTL.EXE,默认端口1630。
(7)OracleHOME_NAMEDataGatherer
性能包数据采集服务,除非使用Oracle Capacity Planner 和 Oracle Performance Manager,否则不需要启动,它的缺省启动类型是手动。服务进程为VPPDC.EXE,日志文件alert_dg.log,控制台 vppcntl.exe。
(8)OracleHOME_NAMEHTTPServer
Oracle提供的WEB服务器,一般情况下我们只用它来访问Oracle Apache 目录下的Web 页面,比如说JSP 或者modplsql 页面。除非你使用它作为你的HTTP服务,否则不需要启动(若启动它会接管IIS的服务),它的缺省启动类型是手动。服务进程为APACHE.EXE,参 数文件httpd.conf,默认端口80。
(9)OracleHOME_NAMEPagingServer
通过一个使用调制解调器的数字传呼机或者电子邮件发出警告(没试过),它的缺省启动类型是手动。服务进程PAGNTSRV.EXE,日志文件paging.log。
(10)OracleHOME_NAMENames
Oracle Names服务,只有服务器作为Names Server才需要,它的缺省启动类型是手动。服务进程NAMES.EXE,参数文件NAMES.ORA,日志文件NAMES.LOG,控制台NAMESCTL.EXE,默认端口1575。
(11)OracleSNMPPeerMasterAgent
SNMP服务代理,用于支持SNMP的网管软件对服务器的管理,除非你使用网管工具监控数据库的情况,否则不需要启动,它的缺省启动类型是手动。服务进程为AGNTSVC.EXE,参数文件MASTER.CFG,默认端口161。
(12)OracleSNMPPeerEncapsulater
SNMP协议封装服务,用于SNMP协议转换,除非你使用一个不兼容的SNMP代理服务,否则不需要启动,它的缺省启动类型是手动。服务进程为ENCSVC.EXE,参数文件ENCAPS.CFG,默认端口1161。
(13)OracleHOME_NAMEManagementServer
OEM管理服务,使用OEM时需要,它的缺省启动类型是手动。服务进程为OMSNTSVR.EXE,日志文件oms.nohup。
OracleServiceMYDB
OracleOraHome92TNSListener
别的一般不用开,有需要再开
附(批处理)
:doit
@echo off
set /p xz=按"kq"键启动服务------按"gb"关闭服务
if %xz%==kq goto kq
if %xz%==gb goto gb
goto doit
:kq
@echo off
echo 正在启动oracle服务,请稍等......
net start OracleServiceORCL
net start OracleDBConsoleorcl
net start OracleOraDb10g_home1TNSListener
net start OracleOraDb10g_home1iSQL*Plus
echo 启动oracle服务完成
echo. & pause
goto doit
:gb
@echo off
echo 正在关闭oracle服务,请稍等.......
net stop OracleServiceORCL
net stop OracleDBConsoleorcl
net stop OracleOraDb10g_home1TNSListener
net stop OracleOraDb10g_home1iSQL*Plus
echo 关闭oracle服务完成
echo. & pause
goto doit
把代码复制 保存 修改后缀名为.bat 执行即可;
posted @
2011-11-09 11:50 Tomas 阅读(158) |
评论 (0) |
编辑 收藏