这几天需要用到快速排序算法,虽然以前写过作业,但也有些遗忘,于是上网搜了一下,发现虽然很多,却或多或少都有些问题,尤其是数据越界,所以我自己调了一下,以下是经过测试的快速排序的程序,希望对大家有些帮助: public class QSort { /** * @author WangYu 2008-05-29 * @param pData 需要排序的数组 * @param left 左边的位置,初始值为0 * @param right 右边的位置,初始值为数组长度 */ publi ...
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" reloadable="true"/>
这两天又在接触一个新项目,对于如何设计一个项目的框架有了点概念,关于web项目(对于oa系统来说)的主体感觉比较需要设计的几部分为: 1.  页面模板定义:关于view层展示,无论对于top(顶层菜单)+left(左边树状菜单)+right(主体内容)结构还是left+right结构,都需要首先定制一些模板,如struts中可使用tiles定义。 2.  分页标签:自定义一个比较通用的分页标签或者使用一些框架中自带的(如struts-menu或者JSF中的t:dataScroller),不过比较好的做法是基于其源码编写自己的分页标签。 3.  DB 设 ...
对于一个帐号在同一时间只能一个人登录,可以通过下面的方法实现: 1 .在用户登录时,把用户添加到一个ArrayList中 2 .再次登录时查看ArrayList中有没有该用户,如果ArrayList中已经存在该用户,则阻止其登录 3 .当用户退出时,需要从该ArrayList中删除该用户,这又分为三种情况 ① 使用注销按钮正常退出 ② 点击浏览器关闭按钮或者用Alt+F4退出,可以用javascript捕捉该页面关闭事件, 执行一段java方法删除ArrayList中的用户 ③ 非正常退出,比如客户端系统崩溃或突然死机,可以采用隔一段时间session没活动就删除该 ...
java 对象是如何进行初始化的,新建一PrintClass.java文件如下(包括类PrintClass以及A和其子类B),编译运行其中的main方法,     public class PrintClass { public static void main(String[] args){ new B(); } PrintClass(String var) { System.out.println(var); } } ...
Ⅳ /* 循环struts配置文件(用","分开的多个struts配置文件)并解析, parseModuleConfigFile 执行之后可以 从struts-config.xml等配置文件中得到 Ⅱ 中 actionConfigs/actionConfigList 、exceptions 、formBeans、forwards、messageResources、plugIns等的配置,并把得到的所有值封装到对象ModuleConfig对象(config)中 */ List urls = splitAndResolvePaths(paths); URL url; for (It ...
④ 调用 initChain(); 读取web.xml中命令链文件初始值chainConfig protected String chainConfig = "org/apache/struts/chain/chain-config.xml"; // ④ initChain();   // 如没有chainConfig参数,则使用默认 "org/apache/struts/chain/chain-config.xml" String value; value = getServletConfig().getInitParameter("chainConfig" ...
③ 调用 initServlet(); 从web.xml中加载ActionServlet的初始化参数如servlet-name,加载DTD文件并把其放入HashMap缓存,读取并解析web.xml的内容 // Remember our servlet name getServletConfig().getServletName(); <servlet>         <servlet-name>action</servlet-name>   &nb ...
Struts 源码最新版本为 struts-1.3.8-src.zip ( 12-Mar-2007 00:06 ) 学习笔记使用struts-1.3.5-src.zip 的源码, 下载地址:http://archive.apache.org/dist/struts/source/ 1.  在web.xml中通过下面定义把所有的*.do交给ActionServlet处理   <!-- Standard Action Servlet Configuration (with debugging) --> <servlet> &n ...
struts 中的MVC架构如下:     View :由JSP、Struts自定义标记库、资源文件(MessageResources.properties)共同组成,通过ActionForm实现JSP表单的封装,并映射到Model部分中JavaBean的相应属性中,完成用户数据的封装。   注意:关于ActionForm,有些人认为它属于Model层(仁者见仁,智者见智)。 事实上它不是Model,真正的Model应该是一个封装了业务逻辑的的对象。 而ActionForm仅仅是一个form-bean,封装了用户提交的表单数据(物理 ...
在JSP2.0 中,对于自定义的标签有两种实现方法,实现接口或者继承现有的类 如下图,标注蓝色的是接口,其它是标签类(SimpleTagSupport只在JSP2.0中才有)     在以上接口和类中,定义了一些静态常量,如下: Tag 中定义: SKIP_BODY = 0;          // 不处理标签体,直接调用doEndTag()方法 EVAL_BODY_INCLUDE = 1;   // 解析标签体,但绕过 doIni ...
Struts 学习笔记之ActionForm   Struts 中定义了一些JavaBeans,主要是以ActionForm为父类扩展开来的,如下图:     ① org.apache.struts.action包中 public abstract class ActionForm implements Serializable public class DynaActionForm extends ActionForm implements DynaBean   ② org.apache.struts.valid ...
重新看了一下孙卫琴老师的《精通Struts》,总结了一下Struts框架的初始化流程如下: 1.调用initInternal()方法,初始化struts框架内在的消息资源,如与系统相关的通知、警告和错误信息。2.调用ininOther()方法,从web.xml文件中加载ActionServlet的初始化信息,如config参数3.调用initServlet()方法,从web.xml文件中加载ActionServlet的URL映射信息,此外还会注册web.xml和Struts配置文件所用的DTD文件用来验证web.xml和Struts配置文件的语法4.调用initModuleConfig()方 ...
当ActionServlet实例接收到HTTP请求后,在doGet()或doPost()方法中都会调用process()方法来处理请求。process()的执行流程如下:1.调用processMultipart()方法。如果HTTP请求方式为POST,并且请求的contentType属性以“multipart/form-data”开头,标准的HttpServletRequest对象将被重新包装,以方便处理“multipart”类型的Http请求。如果请求方式为GET,或者contentType属性不是“multipart” ...
在 Struts 對 MVC / Model 2 的實現方式中,擔任Controller角色的是org.apache.struts.action.ActionServlet,它繼承自 javax.servlet.http.HttpServlet,通常會直接使用ActionServlet,在web.xml中配置相關的組態,就如同配置一般的Servlet一樣,您也可以配置一些相關的初始參數給ActionServlet使用。在MVC/Model 2的架構中,理想上客戶端不會直接要求資源或指定請求的JSP頁面,所有客戶的請求都必須發送至Controller,由Controller決定該轉發給哪一個物件 ...
下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device US ...
JDK6中提供了java.io.Console类专用来访问基于字符的控制台设备. 你的程序如果要与Windows下的cmd或者Linux下的Terminal交互,就可以用Console类代劳. 但我们不总是能得到可用的Console, 一个JVM是否有可用的Console依赖于底层平台和JVM如何被调用. 如果JVM是在交互式命令行(比如Windows的cmd)中启动的,并且输入输出没有重定向到另外的地方,那么就可以得到一个可用的Console实例. 下面代码演示了Console类的用法: /** * @author chinajash */ public class Console ...
在JDK6中 ,AWT新增加了两个类:Desktop和SystemTray,前者可以用来打开系统默认浏览器浏览指定的URL,打开系统默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档;后者可以用来在系统托盘区创建一个托盘程序。下面代码演示了Desktop和SystemTray的用法。 /**** @author chinajash*/public class DesktopTray { private static Desktop desktop; private static SystemTra ...
现在我们可以用JDK6 的Compiler API(JSR 199)去动态编译Java源文件,Compiler API结合反射功能就可以实现动态的产生Java代码并编译执行这些代码,有点动态语言的特征。这个特性对于某些需要用到动态编译的应用程序相当有用, 比如JSP Web Server,当我们手动修改JSP后,是不希望需要重启Web Server才可以看到效果的,这时候我们就可以用Compiler API来实现动态编译JSP文件,当然,现在的JSP Web Server也是支持JSP热部署的,现在的JSP Web Server通过在运行期间通过Runtime.exec或ProcessBuil ...
2008-05-15

DAO与DTO

DAO是Data Access Object数据访问接口,数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。 DTO是Data Transfer Object数据传输对象,这个对象封装你需要传输的数据 在M,V,C这三个层传递 formbean就是一个dto 在V,C两着层之间传递数据
Struts 使用 Model 2 架构。Struts 的ActionServlet 控制导航流。其他Struts 类,比如Action, 用来访问业务逻辑类。当 ActionServlet 从容器接收到一个请求,它使用URI (或者路径“path”) 来决定那个Action 将用来处理请求。一个 Action可以校验输入,并且访问业务层以从数据库或其他数据服务中检索信息。 为校验输入或者使用输入来更新数据库, Action 需要知道什么值被提交上来。并不是强制每个Action 从请求中抓取这些值,而是由 ActionServlet 将输入绑定到JavaBean中。输入 bean是St ...
MyEclipse Derby 服务器:自动进行JDBC连接;可配置的启动选项。 是一个内嵌在MyEclipse中的数据库,据说性能优于Mysql和Access。(Derby是小型数据库) 下面介绍使用方法: 1.启动数据库服务。--就是点击启动tomcat服务器的那个“Run/Stop/Restart MyEclipse servers” 按钮。然后“start” “MyEclipse Derby”。启动后可以看到: 2.打开Database Explorer视图,空白处右键选“new&rdquo ...
eclipse3.3中把内容助手(content assist)的快捷键由 alt + /  改成了ctrl + space,这又刚好跟我们操作系统的切换输入法的快捷键冲突,所以造成内容助手不能使用了,给写代码带来了极大的不便。 而已前eclipse 3.2版本中的 alt + / 快捷键被作为新的单词补全(word competion)功能的快捷键。所以现在想像以前一样使用alt + / 来实现内容助手的功能,就需要更改eclipse3.3快捷键的设置了。具体操作如下: 1. 点击Windows->Preferences->General->Keys ...
名词解释:    购物车,顾名思义,就是具有与超市中购物车相同功能的模块.本例主要以实现购物车基本功能(向购物车中添加商品,修改商品,删除商品).我将采用Struts1.2来写这个例子,好了,现在我们开始.成品如下图:         图-1     图-2     一.我们首先要建立数据库,内容很简单,只需有三个字段,即:商品编号,商品名称,商品价格.然后为其添加一些商品即可.二.在首页面上我们用多选框来选定要买的商品,然后将每个选定的商品的编号作为 ...
名词解释:    LookupDispatchAction继承DispatchAction, 用于对同一个页面上的多个submit按钮进行不同的响应。其原理是,首先用MessageResource 将按钮的文本和ResKey相关联,例如button.save=保存;然后再复写getKeyMethodMap(), 将ResKey和MethodName对应起来, 例如map.put ("button.save", "save"); 其配置方法和DispatchAction是一样的,一下是详细使用说明.    我们今天要讲的是Looku ...
一.搭建开发和运行环境。1.下载struts2.0所需jar包。下载地址:http://people.apache.org/builds/struts/2.0.0/struts-2.0.0-SNAPSHOT-all.zip2.确定开发工具为Eclipse3.2.1+MyEclipse5.1.3.新建一个Web Project。4.将你下载到的“struts-2.0.0-SNAPSHOT-all.zip”解压,将“lib”文件夹下的jar包复制到你的工程目录下的WebRoot/WEB-INF/lib下。并将其添加到构建路径中去(这一步一般 ...
名称解释:DispatchAction就是在struts-config中用parameter参数配置一个表单字段名,这个字段的值就是最终替代execute被调用的方法. 例如 parameter="method"而request.getParameter("method")="save",其中"save"就是MethodName。struts的请求将根据parameter被分发 到"save"或者"edit"或者什么。但是有一点,save()或者edit()等方法的声明和execute必须一模一样。    我们今天讲解的例子是第一个页面有两个超链接,这两个超链 ...
今天在javaeye论坛上看大一道数据库面试题 总结一下: 两张表: A:id,age,column1,column2 B:id,age,column1,column2 A.id 与 B.id关联。 将B中age>40的column1,column2更新到A的相应记录中,只能写一个语句。 写出mysql和oracle两个版本。 update A set A.column1 = ( select b.column1 from B where B.id = A.id and B.age > 40 ), ...
  • 22:14
  • 浏览 (75)
  • 评论 (0)
JDK1.5中遍历使用泛型参数的 Map Map<String,String > map = new HashMap < String,String>(); for(Map.Entry <String,String> entry : map.entrySet()){   System.out.println(entry.getKey() + "-->" + entry.getValue()); } 或用Iterator public class MyMap{ public static void main(String[] args){ ...
1 介绍(Introduction)1.1 为什么要有编码规范(Why Have Code Conventions)1.2 版权声明(Acknowledgments)2 文件名(File Names)2.1 文件后缀(File Suffixes)2.2 常用文件名(Common File Names)3 文件组织(File Organization)3.1 Java源文件(Java Source Files)开头注释")- 包和引入语句(参见"包和引入语句")- 类和接口声明(参见"类和接口声明")   编码规范对于程序员而言尤为重要,有以下几个原因: - 一个软件的生命周期 ...
wangyu
搜索本博客
我的相册
4a4a4c43-84f9-3c9d-9259-f29f3081cdc9-thumb
strutsWorkflow
共 3 张
最近加入圈子
存档
最新评论