12 2012 档案
摘要:例子1:调用有返回值的存储过程import java.sql.CallableStatement;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class TestProc { private static Connection connection = null; public static Connection getConnection(){ try { Class.forName("com.microsoft.jdbc.sqlser...
阅读全文
摘要:使用datepart计算weekday时我们会发现默认sql server返回的数字总是比实际的数值大一,如:2012-12-18是星期二,使用select datepart(WEEKDAY,'2012-12-18');得到值总是3,这是由于sql server默认星期天作为一周的第一天引起的。有人简单指出在计算传值时只需要把当前日期减去一天就可以避免这个问题了,虽然这种方法很简单却有潜在的问题,例如:当我们计算某一天属于某一年的第几周时,会使用形如:select datepart(week,@Day);的方式进行查询,此时依然会存在以周日作为一周开始而引起的问题,如2013-
阅读全文
摘要:通过2种方式模拟单个文件上传,效果如下所示开发步骤如下:1、新建一个web工程,导入struts2上传文件所需jar,如下图目录结构2、新建Action第一种方式package com.ljq.action;import java.io.File;import org.apache.commons.io.FileUtils;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;
阅读全文
摘要:1. 为何使用游标: 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是一个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。2. 如何使用游标: 一般地,使用游标都遵循下列的常规步骤: (1) 声明游标。把游标与T-SQL语句的结果集联系起来。 (2) 打开游标。 (3) 使用游标操作数据。 (4) 关闭游标。2.1. 声明游标 DECLARE CURSOR语句SQL-92标准语法格式: DECLARE 游标名 [ IN..
阅读全文
摘要:1.基本概念的理解绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:C:xyz est.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个URL绝对路径。相对路径:相对与某个基准目录的路径。包含Web的相对路径(HTML中的相对目录),例如:在Servlet中,"/"代表Web应用的跟目录。和物理路径的相对表示。例如:"./" 代表当前目录,"../"代表上级目录。这种类似的表示,也是属于相对路径。另外关于URI,URL,URN等内
阅读全文
摘要:前言Java的路径问题,非常难搞。最近的工作涉及到创建和读取文件的工作,这里我就给大家彻底得解决Java路径问题。我编写了一个方法,比ClassLoader.getResource(String 相对路径)方法的能力更强。它可以接受“../”这样的参数,允许我们用相对路径来定位classpath外面的资源。这样,我们就可以使用相对于classpath的路径,定位所有位置的资源!Java路径Java中使用的路径,分为两种:绝对路径和相对路径。具体而言,又分为四种:一、URI形式的绝对资源路径如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa
阅读全文
摘要:在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串、或者对字符串进行分割、或者对字符串一些字符进行替换/删除,一般会通过if-else、for 的配合使用来实现这些功能 。如下所示:public class Test{ public static void main(String args[]) { String str="@Shang Hai Hong Qiao Fei Ji Chang"; boolean rs = false; for(int i=0;i<str.length();i++){ ...
阅读全文
摘要:Java乱码是因为Java和JSP源文件的保存方式是基于字节流的,如果Java和JSP编译成class文件过程中,使用的编码方式与源文件的编码不一致,就会出现乱码。在这里,总结一下java乱码的一些常见情况1.Javascript传参乱码:在浏览器端对要传递的中文参数进行编码处理.代码如下: xmlhttp.open("POST",url,true); //请求参数初始化 xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //因为
阅读全文
摘要:为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程。汉语编程是怎么回事我也不大清楚,应该是前年吧,我一朋友给我介绍汉语编程,怎么不错不错?当时因为学习忙没去关注这个,等我闲了,那个朋友不弄这个,问他他也不说不大清楚,最后自己对这个学习也不了了之了。今天我写这个不是讲解中英文之间的差距,解码等,我是将我在这几年工作遇到各种各样的乱码的解决方法,总结一样,也希望大家能把自己晕倒解决乱码的方法都说出来,咱们弄一个解决乱码的“葵花宝典”。对于Java由于默认的编码方式是 UNI
阅读全文
摘要:实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B/S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问权限检测,让经过授权的用户可以正常合法的使用已授权功能,而对那些未经授权的“非法用户”将会将他们彻底的“拒之门外”。下面就让我们一起了解一下如何设计可以满足大部分B/S系统中对用户功能权限控制的权限系统。需求陈述不同职责的人
阅读全文
摘要:一。 inverse = ? inverse=false(default) 用于单向one-to-many关联 parent.getChildren().add(child) // insert child parent.getChildren().delete(child) // delete child inverse=true 用于双向one-to-many关联 child.setParent(parent); session.save(child) // insert child sessio...
阅读全文
摘要:1、自动增长identity适用于MySQL、DB2、MS SQL Server,采用数据库生成的主键,用于为long、short、int类型生成唯一标识 使用SQL Server 和 MySQL 的自增字段,这个方法不能放到 Oracle 中,Oracle 不支持自增字段,要设定sequence(MySQL 和 SQL Server 中很常用) 数据库中的语法如下: MySQL:create table t_user(id int auto_increment primary key, name varchar(20)); SQL Server:create table t_user(id
阅读全文
摘要:开源是3个框架共有的优点Struts2框架(MVC框架)的优点如下: 1) 实现了MVC模式,层次结构清晰,使程序员只需关注业务逻辑的实现; 2) 丰富的标签库,大大提高了开发的效率; 3) Struts2提供丰富的拦截器实现 3) 通过配置文件,就可以掌握整个系统各个部分之间的关系; 4) 异常处理机制,只需在配置文件中配置异常的映射,即可对异常做相应的处理;Spring框架的优点如下: 1) 无入侵性(在业务逻辑代码中感觉不到Spring框架的存在); 2) 各个组件之间的耦合极为松散; 3) 无需程序员自己实现singleton模式; 4) 通过AOP,可以实现事务管理和日志管理; 5)
阅读全文
摘要:想写个struts 2.0+tiles模版玩玩,没有想到找资料还麻烦,于是自己把通宵弄好的过程记下来,以供大家有急需,不足的地方欢迎交流。1.在WEB-INF/lib下加入所需的jar包 commons-digester-1.6.jar, tiles-core-2.0-20070207.130156-4.jar, tiles-api-2.0-20070207.130156-4.jar, struts2-tiles-plugin-2.0.6.jar,struts2-core-2.0.6.jarxwork-2.0.1.jar,2. 以下内容添加到web.xml<context-param&g
阅读全文
摘要:SQL SERVER 如果卸载不干净,就会导致下一次安装失败,下面是卸载的步骤,本人试过多次,可完全卸载干净。当然,可能下列某些步骤可以省略。1.停掉SQL SERVER 2008所有相关服务 2.控制面板“添加删除程序”中,删除SQL SERVER 2008相关的程序 3.用 Windows Install Clean Up 工具卸载SQL 2008组件 4.用SrvInstw.exe删除所有SQL服务 5.清除注册表 5.1将HKEY_CURRENT_USER---Software----Microsoft下的Microsoft SQL Server文件夹全部删除 5.2将HKEY...
阅读全文
摘要:Oracle中如何删除重复数据我们可能出现这种情况,某个表原来设计不周全,导致表里面的数据重复,那么如何对重复的数据进行删除呢?重复的情况可能有两种:一, 是表中某些字段是一样的,或者两条或者多条数据记录是一样的.1、对部分重复字段的删除: * 首先查询某些有重复字段的纪录:SQL:select 字段1,字段2,count(*) from tableName group by 字段1,字段2 having count(*) > 1 将上面的>号修改为= 实现功能为查找没有重复字段的纪录。 * 删除这些具有重复字段的数据记录: delete from tableName a wher
阅读全文
摘要:oracle数据库所在的机器更改IP地址后,发现无法连接。需要修改一下对应的文件:C:\oracle\product\10.1.0\db_3\network/admin/listener.ora C:\oracle\product\10.1.0\db_3\network/admin/tnsnames.ora 把其中对应的IP地址进行修改后再重新启动oracle就可以解决问题了注:重启实例服务、OracleOraDb10g_home3TNSListener后,稍等1分钟后即可。例如SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = ..
阅读全文
摘要:ExcelReader类,用来从excel中读取数据的,网上版本的修改版。package dataDML;import java.io.IOException; import java.io.InputStream; import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFD...
阅读全文
摘要:因为在struts1的版本中,属性的拦截以及控制的处理是被封装为两个对立的ActionForm、Action来获取HttpServerRequest的参数、控制访问MAPPING的。而在Struts2中我们可以直接通过Action来获取请求参数,并把处理的 资源映射返回给struts.xml指向对应的视图资源或者模型或者控制器进行下一步的处理。发现Struts2中的Action负责了struts1的ActionForm以及Action的双重任务。如果我们习惯了struts1的开发方式,在Struts中提供模型驱动的方式来分解Action的任务,这种模式是通过专门的JavaBean来封装请求。.
阅读全文
摘要:struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说struts2是struts1和Webwork结合的产物。一个请求在Struts2框架中的处理分为以下几个步骤:1.客户端发出一个指向servlet容器的请求(tomcat);2.这个请求会经过图中的几个过滤器,最后会到达FilterDispatcher过滤器。3.过滤器FilterDispatcher是struts2框架的心脏,在处理用户请求时,它和请求一起相互配合访问struts2的底层框架结构。在web容器启动时,struts2框架会自动加载配置文件 里相关参数,并转换成相应的
阅读全文
摘要:服务器linux 系统版本(32位系统): centos 5.3mysql-5版本: mysql-5.1.38-linux-i686-icc-glibc23.tar.gzapache版本: httpd-2.2.13.tar.gzjboss版本:jboss4 版本 jboss-4.0.5.GA.zipjdk版本 :1.5 版本 jdk-1_5_0_08-linux-i586-rpm.binapache 与 jboss集成,使用 jakarta-tomcat-connectors-jk-1.2.6-src.tar.gz一.mysql安装# groupadd mysql# useradd -g my
阅读全文
摘要:在公司做性能测试,最近比较清闲没事所以就索性研究一下tomcat和jboss的性能对比,说做就做,由于tomcat使用的比较熟悉,环境搭建比较成熟,就是jboss这玩意刚刚接触,所以有点生,但是我相信和tomcat应该没多大的区别,这就很自信的开始干起来。首先下载需要准备的安装包:Linux版本:Linux redhatJDK版本:jdk1.6.0_27Jboss版本:jboss-5.1JDK安装开始:1、上传安装包到linux的usr目录下2。#chmod +x jdk1.6.0_27-linux-i586-rpm.bin给出权限下来让别的用户也能用到。3。# ./jdk1.6.0_27-l
阅读全文
摘要:Tomcat性能优化可从外部环境和自身调整两方面着手。外部环境主要是Tomcat所在服务器的运行环境,包括操作系统层面、部署以及Java虚拟机的配置。操作系统这里不再赘述,跟优化其他服务器的思路与步骤没有本质区别。尽可能的增大可使用的内存容量、提高CPU的频率、保证文件系统的读写速率等等。对于可能发生很大并发连接的情况,可能需要修改内核参数来设置最大连接数。Java虚拟机Sun的JVM应该是多数情况下的第一选择。在满足项目要求的前提下可以选用版本较高的JVM版本,一般来说高版本产品在速度和效率上比低版本会有改进。由 于Jvm系统垃圾收集机制的存在,在高负载情况下如果能根据系统的具体要求有效的调
阅读全文
摘要:我用的是myeclipse10.0做的优化,早起版本8.5、8.6也都大同小异 一、Myeclipse10修改字体 MyEclipse10是基于Eclipse3.7内核,但在Eclipse的Preferences-〉general-〉Appearance->Colors and Fonts 中并没有找到Courier New字体,它采用的是Consolas字体,中文看着非常小非常别扭,在Windows7下,系统自带虽然有Courier New字体,但是并没有激活显示,需要手动激活,才能在软件中使用 激活方法如下: 在win7的控制面板->字体,找到Courier New,右键,显示
阅读全文
摘要:一、使用myeclipse8.5出现如下问题:MyEclipse has detected that less than 5% of the 31MB of Eden Space (Heap memory) space remains.It is strongly recommended that you exit and restart MyEclipse with new virtual machine memory paramters to increase this memory. Failure to do so can result in data loss.Recommended
阅读全文
摘要:Eclipse,代号是Indigo,初次体验,在Windows7下初始后化,发现界面变化不大,字体却面目全非,小得根本看不见,而且也看起来很不爽。Eclipse以前的默认字体一般是CourierNew字体,这种字体看着习惯。但当我试图修改回去时,发现字体列表里根本没有这种字体,郁闷了半天,终于在网上找到了解决方法。(iTeye(原JavaEye,因与Oracle发生名字纠纷而被迫改名))具体的原因是jFace的问题,jFace顾名思义,是控制Eclipse整个用户界面的包,打开它后,可以看到里面有各个组件(比如菜单、对话框、面板)的字体风格等属性。而且分成多个系统的属性(Windows7/Vi
阅读全文
摘要:myeclipse中的classpath是一个很重要的问题myeclipse的在查找的时候都是按照其查找,而且myeclipse有一个专门的文件来保存classpath的信息,这也是别人的项目拷贝的时候需要的一个重要文件,不然这个项目要导入到自己的myeclipse中就会发生错误,此时就只能是手工来编写这个文件myeclipse的classpath文件就是项目根目录下的“.classpath”文件,其格式如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <classpath> 3 <
阅读全文
摘要:大家在eclipse上安装开发手机应用的插件ADT, 都选择的是help-> install new software 来进行安装,但是这种方法,需要联网跟新,在没有网络的情况下或者是网络很慢的情况下,都会安装失败。这里给大家介绍一种简单的安装方法,不需要联网。1,首先在eclipse的安装目录中,建一个links文件夹,如图1所示:2,然后在硬盘上建一个文件夹,名称可以随意,然后在该文件夹中,建立一个以eclipse命名的文件夹,然后将下载好的ADT解压缩,将里面的features和plugins文件夹拷贝到前面建立的eclipse文件夹中。如图所示:在D盘根目录下建立ADT_plug
阅读全文
摘要:重装eclipse以前J2ME工程前多了个小错号,文件没错误。查了一下好像是导入的问题。project→clean、refresh没有反应。据说应该update classpath但是搜了一下没有找到到底在哪update。最终只有对工程F2重命名,然后再重命名回原名就好。不行了,按照下面方法对号入座:MyEclipse不编译解决1. 确保 project->build automatically 已经被选上. MyEclipse不编译解决2. 如果选上了,也不好使, 使用这一招: project->clean..->选第2个 clean select project, 勾上s
阅读全文
摘要:DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。 用法一:常量 在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。1 public enum Color { 2 RED, GREEN, BLANK, YELLOW 3 } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。 1 enum Signal { 2...
阅读全文
摘要:GET和POST的本质区别是什么? 使用GET,form中的数据将编码到url中,而使用POST的form中的数据则在http协议的header中传输。在使用上,当且仅当请求幂等(字面意思是请求任意次返回同样的结果,本质是请求本身不会改变服务器数据和状态)时使用GET,当请求会改变服务器数据或状态时(更新数据,上传文件),应该使用POST。 区别使用GET,POST意义何在? 重复访问使用GET方法请求的页面,浏览器会使用缓存处理后续请求。使用POST方法的form提交时,浏览器机遇POST将产生永久改变的假设,将让用户进行提交确认。当编成人员正确的使用GET,POST后,浏览器会给出很...
阅读全文
摘要:Http之Get/Post请求区别 1.HTTP请求格式: <request line> <headers> <blank line> [<request-body>] 在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。 1. get是从服务器上获取数据,post是向服务器传送数据。 get 和 post只是一种传递数据的方式
阅读全文
摘要:1、 大家需要了解的是为什么我们需要分页?因为当数据量太大时,会影响查询和传输的性能,并且我们从用户角度来考虑的话,如果让用户一次性看到成千上万条记录那用户也会疯掉的。 2、 对我们来说有哪些可实现的分页技术?a、 存储过程分页,即在数据库中创建一个存储过程,传入SQL和页码获取当前页的记录,这个需要大家对存储过程有比较好的认识(我这块不行),当然这个从性能上来说是最好的,但是不能跨数据库平台。 b、 使用数据库专有SQL语句进行分页(Oracle的rownum、MSSQL的top、MySql的limit等),性能也很好,但是还是不能跨数据库(其实真实项目中没那么多项目要求都跨数据库)。 c.
阅读全文
摘要:首先我们先分析一下多条件综合查询的实现方式有哪些?1、直接将参数值拼接到SQL语句中,然后进行Select,但是说这种方式存在安全性问题,比如说SQL的注入,尽管我们可以通过正则等手段来过滤掉这些特殊字符,但是这样看上去不是很爽。2、先使用占位符“?”来拼接SQL,然后再通过条件判断去填充PreparedStatement,但是这种方式显然很麻烦,因为我们在拼SQL的时候需要判断一次,在填充pst的时候还需要再进行判断,所以不是好的解决方案。3、存储过程,这个因为本人对存储过程认识不是很深,所以这里不加描述;其实方法很多,只是找一个相对好一点的,工作的这段时间做.NET项目时使用里面的SqlH
阅读全文
摘要:假设我们有一个表Student,包括以下字段与数据: 1 drop table student; 2 3 create table student 4 ( 5 id int primary key, 6 name nvarchar2(50) not null, 7 score number not null 8 ); 9 10 insert into student values(1,'Aaron',78);11 insert into student values(2,'Bill',76);12 insert into student values(3,
阅读全文
摘要:1.1. for/in for关键字在javascript中有两种用法,在for循环里,你已经看到了他是如何使用的,for也可以使用在for/in语句里,下面的语句稍微不同于循环,1 for (variable in object)2 statement variable可以是以下中的任何一个,命名变量、var关键字声明的变量、数组的一个元素或者对象的一个属性(即其必须是一个适当的、可赋值的左值),object是命名对象或者是可返回对象的表达式,通常,statement是声明语句或构成循环体的语句块。 你可以使用while或者for循环简单的通过递增索引的方式迭代任意数组元素。...
阅读全文
浙公网安备 33010602011771号