- 博客(23)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
转载 MYSQL中如何获取最后一条记录?
<br />在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后获得自动生成的id,以它为基础插入从表的记录。这里面有个困难,就是插入主表记录后,如何获得它对应的id。通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况,需要在事务中对主表加以“X锁“,待获得max(id)
2010-10-31 19:08:00 4840
转载 struts2 自定义拦截器
自定义拦截器作为“框架(framework)”,可扩展性是不可或缺的,因为世上没有放之四海而皆准的东西。虽然,Struts 2为我们提供如此丰富的拦截器实现,但是这并不意味我们失去创建自定义拦截器的能力,恰恰相反,在Struts 2自定义拦截器是相当容易的一件事。<br /> 大家在开始着手创建自定义拦截器前,切记以下原则:<br /> 拦截器必须是无状态的,不要使用在API提供的ActionInvocation之外的任何东西。<br /> 要
2010-10-29 01:13:00 537
原创 struts2 重复提交拦截器用法 token与token-session
标签:token-sessiontoken拦截器struts2.0it 首先要在jsp的from标签里加入防重复提交标签, 生成如下的内容:(struts.token.name 标识哪个隐藏域存了 token 值) 注意自定义的表单域别重名了。它的作用是防止表单重复提交,每次加载页面 struts.token 的值都不一样,如果两次提交时该值一样,则认为是重复提交。此时要启用 TokenInterceptor(token) 拦截器,最好是也启用 T
2010-10-29 01:07:00 2047 3
转载 FCKeditor的配置与精简
<br />FCKeditor是一个功能强大支持所见即所得功能的文本编辑器,可以为用户提供微软office软件一样的在线文档编辑服务。它不需要安装任何形式的客户端,兼容绝大多数主流浏览器,支持ASP.Net、ASP、ColdFusion 、PHP、Java、Active-FoxPro、Lasso、Perl、ython 等编程环境。<br />官方网站 http://www.fckeditor.net/<br />官方文档 http://wiki.fckeditor.net/<br />下载地址 ht
2010-10-28 23:28:00 573
转载 Struts2中使用Common-FileUpload实现文件上传
在web应用中,文件上传似乎是很常见的,但是采用传统的方法不但复杂而且难以控制,需要写很多代码,像控制文件大小、文件类型的过滤、存放目录等等。这些复杂的问题在Struts2中已经不存在了,struts2默认使用common-fileupload实现文件的上传。在struts.properties中我们可以看到:struts.multipart.parser=Jakarta 。下面我们就以Common-FileUpload来实现文件上传。 首先,把commons-fileupload.jar和common
2010-10-24 10:11:00 900
转载 Struts 上传与下载
<br /> <br />1. 文件上传的原理:表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:1) application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。2) multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。3) text/
2010-10-23 16:37:00 1362
原创 struts2--java.lang.IllegalAccessException: Class ognl.OgnlRuntime can not access a member of...问题解决方案
今天一个struts2 问题困扰了我一天,先把错误信息贴出来,示众一下!!2010-10-19 18:27:22 com.opensymphony.xwork2.util.logging.jdk.JdkLogger warn警告: Error setting expression 'nnew.nTitle' with value '[Ljava.lang.String;@df804e'ognl.NoSuchPropertyException: com.center.vo.News_Table.nTi
2010-10-19 18:49:00 8791 3
转载 在Eclipse中使用JUnit4进行单元测试(高级篇)
一、 高级Fixture上一篇文章中我们介绍了两个Fixture标注,分别是@Before和@After,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过500兆)进行读写,他的每一个方法都是对文件进行操作。换句话说,在调用每一个方法之前,我们都要打开一个大文件并读入文件内容,这绝对是一个非常耗费时间的操作。如果我们使用@Before和@After,那么每次测试都要读取一次文件,效率及其低下。这里我们所希望的是在所有测试一开始读一次文件,所有测试结束之后释放文件,而不是每次测试都读文
2010-10-17 13:48:00 640
转载 在Eclipse中使用JUnit4进行单元测试(中级篇)
<br /><br />我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4。<br />一、 包含必要地Package<br />在测试类中用到了JUnit4框架,自然要把相应地Package包含进来。最主要地一个Package就是org.junit.*。把它包含进来之后,绝大部分功能就有了。还有一句话也非常地重要“import static org.
2010-10-17 13:47:00 440
转载 在Eclipse中使用JUnit4进行单元测试(初级篇)
<br /><br />我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。所以说,每编写完一个函数之后,都应该对这个函数的方方面面进行测试,这样的测试我们称之为单元测试。传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个
2010-10-17 13:46:00 563
转载 Java测试工具JUnit_4
这会很好地工作,但它需要我们手动地将所有测试添加到一个套件中。早期的JUnit采用者告诉我们这样是愚蠢的。只要你编写一个新的测试案例,你就必须记着要将其添加到一个static的suit()方法中,否则其将不会运行。我们添加了一个TestSuit的便捷构造方法,该构造方法将测试案例类作为一个参数。其意图是提取(extract)测试方法,并创建一个包含这些测试方法的套件。测试方法必须遵循的简单的约定是,以前缀“test”开头且不带参数。便捷构造方法就使用该约定,通过使用反射发现测试方法来构造测试对象。使用该构造
2010-10-17 12:47:00 504
转载 java测试工具JUnit_2
按照框架规定:编写的所有测试类,必须继承自junit.framework.TestCase类;里面的测试方法,命名应该以Test开头,必须是public void 而且不能有参数;而且为了测试查错方便,尽量一个TestXXX方法对一个功能单一的方法进行测试;使用assertEquals等junit.framework.TestCase中的断言方法来判断测试结果正确与否。 你可以对比着上面测试类中的实现来体会下规定——很简单!而且你在这个测试类中有加入多少个测试方法,就会运行多少个测试方法。四、向
2010-10-17 12:46:00 484
转载 Java测试工具JUnit_3
在下面的设计快照中,添加进了Adapter和Pluggable Selector。图4 TestCase应用Adapter(与一个匿名内部类一起)或Pluggable Selector 3.5 不必关心一个或多个-TestSuit 为了获得对系统状态的信心,我们需要运行许多测试。到现在为止,JUnit能够运行一个单独的测试案例并在一个TestResult中报告结果。我们接下来的挑战是要对其进行扩展,以使其能够运行许多不同的测试。当测试调用者不必关心其运行的是一个或多个测试案例时,这个问题便能够轻松地解决
2010-10-17 12:46:00 476
转载 JUnit单元测试原则
<br /><br />一、测试原则<br /> Java语言是一个支持面向对象的语言,通常情况下我们可以将程序的一个单元看成是一个独立的类,因此进行单元测试的重点就是对这些类进行测试。<br /> 1、不需要测试get和set这样的行为<br /> 2、一个方法至少需要测试一次<br /> 二、测试步骤<br /> 1、判断组件的功能:通过定义应用的整体需求,然后将系统划分成几个对象,我们需要对组件的基本功能十分清楚。因此,J2EE单元测试实际上也属于设计过程的一部分。<br /> 2、设计组
2010-10-17 12:44:00 1028
转载 Java测试工具JUnit_1
1.简介 在一篇早些的文章(请参见Test Infected: Programmers Love Writing Tests, Java Report, July 1998, Volume 3, Number 7)中,我们描述了如何使用一个简单的框架来编写可重复的测试。在本文中我们将匆匆一瞥其内中细节,并向你展示该框架本身是如何被构造的。 我们细致地研究JUint框架并思索如何来构造它。我们发现了许多不同层次上的教训。在本文中,我们将尝试着立刻与它们进行沟通,这是一个令人绝望的任务,但至少它是在我们向你
2010-10-17 12:44:00 425
转载 JS学习笔记
<br /><br />1.JavaScript中的对象 <br />分为3种。 <br />(1)JavaScript的内置对象 <br />常用的有Date,Array,String,Math,对象,这些都是经常会用到的,一定要掌握好。 <br />(2)文档对象模型(Document Object Model,DOM) <br />这个对象表示了当前浏览器的多个组件和当前的HTML文档。DOM我认为是JS中最重要的一个对象,通过他可以获得任何一个HTML元素,1.通过document.form1.na
2010-10-16 00:25:00 734
原创 关于mysql中enum数据字段类型的一些想法!!
今天做东西的时候需要一个权限管理,分为三个级别。本来想用数值类型来控制,但是灵感一闪想到了enum类型。但是关于enum类网上说是返回String类型,但是今天测试了一下,用getString("columnname")能取出数据,但是用getInt("columnname")也能取出数据。挺诡异的。做了一番测试的出了一个不成熟的想法: 1. 如果enum中储存的内容是数字,则用getString("cname")或getInt()都可行。2. 但是如果enum中存储的是字符那毫无疑问进应该用getSt
2010-10-12 23:13:00 1627
转载 类命名规范、数据库命名规范和页面文件命名规范
<br /><br />一、类命名规范<br /> 1. Entity层 :<br /> 继承关系:所有类继承自BasicEntity, 其中BasicEntity实现 java.io.Serializable接口;<br /> 命名规则: 类名称 = Object + 类后缀,其中类后缀为 Bean,如:SalesOrderBean<br /> 2. Form层 :<br /> 继承关系:所有类继承自BasicForm, 由于本项目基于Struts结
2010-10-12 20:29:00 600
原创 关于mysql中的数值字段!!
M指示最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。如果为一个数值列指定ZEROFILL,MySQL自动为该列添加UNSIGNED属性。SERIAL是BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的一个别名。在整数列定义中,SERIAL DEFAULT VALUE是NOT NULL AUTO_INCREMENT UNIQUE的一个别名。警告:应当清楚,当使用在整数值(其中一个是UNSIGNED类型)之间使用减号时,结
2010-10-12 19:52:00 986
原创 在mysql中int[x]中x的作用!!
<br /><br />1 INT(M), M是管什么用的?<br /> 作为对 ANSI/ISO SQL92 标准的一个扩展,Mysql 也支持上面的表格所列出的整型类型 TINYINT、MEDIUMINT 和 BIGINT。另外一个扩展是 MySQL 支持随意指定一个整型数值的显示格式,这通过在类型的基本关键词后跟一个括号来实现(例如 INT(4))。这个可选的宽度规格说明是用于在数值显示时,对某些值的宽度短于该列宽度的值进行左填补显示的,而不是为了限制在该列中存储值的宽度,也 不是为了限制那些
2010-10-12 19:45:00 982
转载 数据库设计技巧【转】
<br /><br />说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机编程时,当时的老师就告诉我们说:计算机程序=数据结构+算法。尽管现在的程序开发已由面向过程为主逐步过渡到面向对象为主,但我还是深深赞同8年前老师的告诉我们的公式:计算机程序=数据结构+算法。面向对象的程序开发,要做的第一件事就是,先分析整个程序中需处理的数据,从中提取出抽象模板,以这个抽象模板设计类,再在其中逐步添加处理其数据的函数(即算法),最后,再给类中的数据成员和函数划分访问权限,从而实现封装。<br />
2010-10-12 09:46:00 382
转载 数据库设计经验【转】
<br />一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成, 数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设 计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。 所以我归纳历年来所走的弯路及体会,并把这些技巧编写
2010-10-12 09:44:00 388
原创 基于Mysql的分页显示
<br /> <br />代码写在了下面,可以将Java代码进行封装,然后直接页面调用就行了,这样直接写在jsp页面中显得比较混乱,不过写下来防止忘记,方便查阅!!<br /> <br /><%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><br /><%@ page import="java.sql.*;"%><br /><%<br /> String path = request.getContextPath
2010-10-05 12:23:00 508
求公司推荐
2012-03-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人